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 component deployment sequence in vRealize Automation Cloud Assembly.

  • 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
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.