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.
- Phone home requires cloudConfig commands in the blueprint.
- Your creativity is a factor. A cloudConfig section might include embedded wait time between operations, which can be used in concert with phone home.
- Blueprint-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 blueprint:
cloudConfigSettings: phoneHomeShouldWait: true phoneHomeTimeoutSeconds: 600 phoneHomeFailOnTimeout: true
|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.|