Sometimes, a virtual machine needs to be fully started before proceeding with vRealize Automation Cloud Assembly deployment.
For example, deploying a machine that is still installing packages and starting a web server might lead to conditions where a fast user tries to reach the application before it's available.
Be aware of the following considerations when using this feature.
- The feature uses the cloud-init phone_home module and is available when deploying Linux machines.
- Phone home isn't available for Windows because of Cloudbase-init limitations.
- Phone home can affect deployment order like an explicit dependency, but has more flexibility around timing and processing options.
See How to set the resource deployment sequence in vRealize Automation Cloud Assembly.
- Phone home requires a cloudConfig section in the cloud template.
- Your creativity is a factor. Initialization commands might include embedded wait time between operations, which can be used in concert with phone home.
- Cloud template-based phone home won't work if the machine template already contains phone_home module settings.
- The machine must have outbound communication access back to vRealize Automation Cloud Assembly.
To wait for machine initialization by using phone home in vRealize Automation Cloud Assembly, add a cloudConfigSettings
section to the cloud template:
cloudConfigSettings: phoneHomeShouldWait: true phoneHomeTimeoutSeconds: 600 phoneHomeFailOnTimeout: true
Property | Description |
---|---|
phoneHomeShouldWait | Whether to wait for initialization, true or false. |
phoneHomeTimeoutSeconds | When to decide whether to proceed with deployment even though initialization is still running. Default is 10 minutes. |
phoneHomeFailOnTimeout | Whether to proceed with deployment after timing out, true or false. Note that even when proceeding, deployment might still fail for separate reasons. |