Abiquo easily enables users to automate VM first boot with cloud-init (private and public cloud) or hypervisor tools (private cloud). This page walks through Abiquo's first-boot automation with cloud init.
Abiquo supports two main kinds of first boot automation with cloud-init:
Abiquo also uses cloud-init to support Chef for Linux VMs, see Abiquo Chef Integration Guide
To enable users to work with cloud init, the administrator prepares VM templates that will run cloud-init services or cloudbase-init services (for Windows) or similar. The compatible version of cloud-init is version 0.7.9 or above, or cloudbase-init.
Edit the cloud-init templates in the platform and select cloud-init as the Guest setup option.
You can then easily share this template with users in different cloud tenants by setting scopes (enterprise access lists).
To enable you to easily connect to your VM, the guest setup process will inject the SSH key from your user account into the VM. See Configure your user account for details of how to add the SSH key.
To work with first-boot automation, create a VM by dragging and dropping the template as usual.
To define a fully qualified domain name (FQDN) before deploying the VM, enter it on the General tab. Otherwise, the platform may define one based on the configuration options. See Guest setup#Set fully qualified domain name.
Screenshot: Entering the VM Name and FQDN
You can also enter a configuration definition for cloud-init or another compatible script on the Abiquo VM Bootstrap script tab.
Screenshot: An example of a cloud-config script for cloud-init
You can additionally enter or edit keys and/or values on the Variables tab.
Screenshot: Enter or edit VM variablesVM variables.For more information, see
Note that there may be some variables that the administrator predefined in the template. See Modify a VM Template#Variables tab
When you save the VM, Abiquo stores the bootstrap script configuration and variables in the Abiquo VM metadata.
You can also manage cloud-init metadata using the Abiquo API. See Manage virtual machine metadata via API
When you deploy the VM, the template's cloud-init process will run and it will configure the VM according to your guest setup options and definition.