Table of Contents |
---|
Introduction to guest setup
Abiquo 4.0.2 In private cloud datacenters, Abiquo supports guest setup with cloud init or hypervisor tools. The Abiquo Chef integration now uses cloud-initIn public cloud providers, Abiquo supports cloud init, and in AWS it also supports provider setup tools.
Guest setup runs the first time you deploy a virtual machineVM. The hypervisor tools guest setup also runs on Linux machines when you add a NIC.
Guest setup includes the following functionality.
Functionality | Cloud-init | Hypervisor tools |
---|---|---|
Set fully qualified domain name (FQDN) | ||
Generate a random password at deploy and send by email to owner | ||
Inject network configuration if no DHCP server is available | ||
Inject SSH keys into guest | ||
Configuration drive with environment variables and user-data presented to guest OS on an ISO disk. See Automate first boot with Configuration drive and cloud-init |
If the guest If the guest setup is not successful, the virtual machine VM deploy or reconfigure will fail and roll back.
Prepare templates for guest setup
To prepare templates for guest setup
- Load templates with either cloud-init (configuration drive) support or hypervisor guest tools installed
- In the Apps library, edit the template:
- Select the appropriate guest setup option (Cloud-Init or Hypervisor tools)
- Optionally select "Set initial guest password"
Windows guest tools configuration
Abiquo will use an unattend file with the variables $adminPassword, $domain and $hostName..
You can configure the path to your own Windows unattend file on the Abiquo Remote Services by setting the following property and placing the file at that location.
Code Block |
---|
// Path to Windows unattend file
com.abiquo.esxi.experimental.customize.win.unattendfile=/root/windows_unattend.xml |
The default Abiquo unattend file is supplied here. You can copy this file to create a custom unattend file on the Remote Services server (Virtual Factory), and change attributes such as the time zone (TimeZone) and the workgroup name (JoinWorkgroup).
Expand | ||
---|---|---|
|
Set initial guest password
Abiquo can generate a random password in the virtual machine for the Linux root or Windows Administrator user, for the first time it is deployed.
Before you deploy, you can edit the virtual machine to change this setting.
Abiquo will mail the password to the owner, so on the Abiquo Server, check that you have set the mail properties with the address of the mail server and mail user. See Abiquo Configuration Properties#mail
Also check that the owner has a valid email address.
To customize the email template, see Configure Email Templates
Abiquo does not save the initial password, which creates the following limitations:
- On Linux, before deploying an instance template, edit the instance's password to set it to the current VM password
Guest password for Windows
For Windows templates:
- Set the template user to Administrator
- You can configure Abiquo so that it will lock the virtual machine while waiting for password configuration
Set abiquo.properties to wait for password configuration on the Abiquo Remote Services
Code Block |
---|
# Time to wait for guest tools to get up and running after power on
# This value is 15 minutes
com.abiquo.esxi.experimental.customize.configure.timeoutms=900000
# Polling interval for checking if guest tools is up and running after power on
# This value is 10 seconds
com.abiquo.esxi.experimental.customize.configure.periodms=30000 |
Virtual machine
To create a virtual machine with guestSetup, use a template that supports cloud-init or has hypervisor tools installed. Set the appropriate value of the guestSetup attribute for the template.
When you create the virtual machine, Abiquo will detect the guestSetup support and configure the guestSetup value for the virtual machine.
Abiquo will also configure the value of the guestInitialPassword. Before you deploy, you can change this value.
Set fully qualified domain name
- Manually
- The FQDN that the user enters for the virtual machine, which has the highest priority
- Automatically used the option defined the property below
- A host name based on the Abiquo database ID, plus VM network domain name (from VM NIC or VDC default VLAN), or localdomain
- A host name that is the VM_uuid, plus VM network domain name, or localdomain.
The administrator can select one of the automatic generation options by setting the following property
Code Block |
---|
// Generate VM name from database ID. If false use VM_uuid
abiquo.api.experimental.hostname13charsFromVirtualMachineDatabaseId=true |
The user can set the FQDN when creating the VM using the API. The user can edit the VM and change the FQDN when the virtual machine is not deployed. In this case, the API will check that the FQDN is valid.
After the virtual machine is deployed, the user can change the FQDN in the operating system. In this case, Abiquo will update the FQDN stored in the platform.
Chef templates
From Abiquo 4.0.2, in private cloud, the Abiquo Chef integration now works with cloud init. You will need a cloud-init compatible template. Configure the Chef server for your enterprise as in previous versions.
From Abiquo 4.0.2 in all public cloud providers, Chef is always available and supported, even if you do not select the Guest setup option in the template.
Mermaid | ||||||
---|---|---|---|---|---|---|
| ||||||
{"diagramDefinition":"flowchart \nA1[<font color=ffffff>Cloud-init</br>or similar]-->|Deploy|B1{<font color=ffffff>Provider}-->|Public|C1[/<font color=ffffff>Metadata/]-->D1{<font color=ffffff>AWS +</br>win}-->|yes|E1[<font color=ffffff>AWS guest</br>set up]\nB1-->|Hypervisor or VCD|F1[/<font color=ffffff>Configuration</br>drive/]-->G1[<font color=ffffff>Network via DCHP </br>or Static IP injection]\n\nA2[<font color=ffffff>Hypervisor</br>tools]-->|Deploy </br> </br> Reconfigure: no DHCP|B2{<font color=ffffff>OS}-->|Win|Z-->c2[/<font color=ffffff>Unattend file/]-->D2[<font color=ffffff>Network via </br>DHCP only]\nZ(( ))\nstyle Z fill:#g1g,stroke:#100,stroke-width:2px\nZ-->f2[/<font color=ffffff>Custom</br>specification/]-->G2[<font color=ffffff>Network via DHCP </br>or Static IP injection] \nB2-->|Linux|h2[/<font color=ffffff>Custom</br>specification/]-->I2[<font color=ffffff>Network via DHCP </br>or Static IP injection] \n \n \n \n\nstyle A1 fill: #ff9f3c,stroke: #ff9f3c\nstyle B1 fill: #ff9f3c,stroke: #ff9f3c\nstyle D1 fill: #ff9f3c,strfke: #ff9f3c\nstyle E1 fill: #ff9f3c,stroke: #ff9f3c\nstyle F1 fill: #ff9f3c,stroke: #ff9f3c\nstyle C1 fill: #ff9f3c,stroke: #ff9f3c\nstyle G1 fill: #ff9f3c,stroke: #ff9f3c\nstyle A2 fill: #ff9f3c,stroke: #ff9f3c\nstyle B2 fill: #ff9f3c,stroke: #ff9f3c\nstyle c2 fill: #ff9f3c,stroke: #ff9f3c\nstyle D2 fill: #ff9f3c,stroke: #ff9f3c\nstyle f2 fill: #ff9f3c,stroke: #ff9f3c\nstyle h2 fill: #ff9f3c,stroke: #ff9f3c\nstyle G2 fill: #ff9f3c,stroke: #ff9f3c\nstyle I2 fill: #ff9f3c,stroke: #ff9f3c"} |
Table of guest setup functionality
Functionality | Hypervisor | Cloud-init | Cloud-init |
---|---|---|---|
Set fully qualified domain name (FQDN) | |||
Generate a random password at deploy and | Azure | ||
Inject network configuration if no DHCP server is available |
| ||
Inject SSH keys into guest. | |||
Configuration drive with environment variables and |
| ||
VM variables as metadata |
| ||
Bootstrap script or cloud configuration |
Notes:
- For Windows with hypervisor tools, use a custom specification instead of an unattend file. See Limitations of a custom specification to configure Windows
- For Linux with hypervisor tools, the platform will inject a global DNS configuration that will apply to all NICs on the VM
- See Configuration drive
Configure guest setup
To configure guest setup, see:
Child pages (Children Display) |
---|
User guest setup functionality
For user guest setup functionality see: