VM variables

Add VM variables

Before you deploy a VM, you can set guest variables to pass user data to your VM. This functionality uses cloud-init and requires appropriate templates. In private cloud, the templates must have the guest setup flag set to cloud init. The administrator can add default variables for the VM template.

This functionality is available through the API. The platform stores variables in the VirtualMachine "variables" attribute, which is a dictionary of keys and values. See Update a virtual machine in VirtualMachinesResource

You can modify VM variables before you deploy the VM


To add VM variables:

  1. Go to Virtual datacenters → edit a VM that is not deployed → Variables

  2. Enter each Key and Value

    1. The length of these can be up to 255 characters each 

  3. Click Add


  4. To delete a variable click the trash can symbol beside the Key. To edit the Value of a variable, click the pencil edit button beside the Value

  5. To apply changes to variables, and other changes to the VM, click Save

Read Guest Variables

The variable location will depend on the method of guest setup that you are using for your VM. Here are some general guidelines.

CloudMethodVariable location
PrivateCloud-init
  • The variables are stored on the cloud-init ISO, which has the label "config-2".
  • The variables file is "openstack/latest/vm-variables.rc"
PrivateHypervisor tools

On ESXi, run the following command in the guest to get the value of a variable:

vmtoolsd --cmd "info-get guestinfo.abiquo.<variable-name>"
PrivateHypervisor toolsFor vCloud Director, hypervisor tools does not support variables
PublicCloud-initThe variables are stored in the /opt/abiquo-env.rc file
AmazonCloudbase-init
ec2launchv2
ec2lanch
ec2config
On Windows, the variables are stored in the C:\ProgramData\Abiquo\abiquo-env.rc file
AzureCloud-init

On Windows, according to the Azure documentation on custom data

Custom data is placed in %SYSTEMDRIVE%\AzureData\CustomData.bin as a binary file, but it is not processed.
If you wish to process this file, you will need to build a custom image, and write code to process the CustomData.bin..

On Linux, you can use cloud-init to read the variables from custom data.




Copyright © 2006-2022, Abiquo Holdings SL. All rights reserved