vRealize Automation has always embraced third party configuration management solutions like Ansible and Puppet to provide extensibility and in-guest management during machine deployments. vRealize Automation has out-of-the-box plugins for Ansible Open Source, Ansible Tower and Puppet Enterprise.
In vRealize Automation 8.4 and vRealize Automation Cloud, we have made some improvements to our Ansible and Puppet integrations. Let dive into those!
Ansible Machines – Support for FQDN in Hosts File
Traditionally when an Ansible node was deployed via vRealize Automation and registered with the Ansible Control machine, we were only including the IP Address of the machine in the Ansible hosts file (/etc/ansible/hosts). However now Ansible nodes will show up with their vRA Resource Name (or FQDN) in the hosts file.
If you will wish to have vRealize Automation inject the IP into the hosts file and not the FQDN then that functionality can be toggled with the hostname
property on the Ansible resource within the vRealize Automation Cloud Template.
Here is a sample of a vRealize Automation Cloud Template configuration of a Ansible Resource:
If you wanted to switch to IP address, then you can modify hostname
to look like:
hostname: '${resource.Cloud_vSphere_Machine_2.address}'
Support for Ansible Tower Workflow Templates
In addition to supporting Job templates with our Ansible Tower plugin, we now support Workflow Templates as well. So from the vRealize Automation Cloud Template admins can determine if they want to deploy a Job or Workflow template by modifying the type
property of a Ansible Tower resource.
The type
property allows one of two values to be chosen – workflow
or job
.
Also if you have the vRealize Automation Cloud Template Ansible Tower property called useDefaultLimit
set to true then you will want to modify the Workflow template in Ansible Tower by checking the “prompt on launch” checkbox under LIMIT and adding localhost to the value.
Pass Custom Properties as Facts to Puppet Master
With vRealize Automation 8.4 and vRealize Automation Cloud we now pass additional facts about the node to Puppet and also pass custom properties defined in the vRealize Automation Cloud Template. Note: This is for Linux Agents only at this time, Windows Agents are roadmap.
See below as an example, notice I have custom properties defined array
and map
. Those pass along to Puppet as can be seen in the ssh session below.
Puppet Compiler (MoM) Architecture Support
vRealize Automation 8.4 and vRealize Automation Cloud now allow users to specify a Puppet compiler in a vRealize Automation Cloud Template. A new property was created called installMaster
, which can be populated with the IP or FQDN of a Puppet compiler. Once a Puppet compiler is identified, any Puppet Node that is created from the vRealize Automation Cloud Template will download the Puppet Agent install script from the compiler server.
The Puppet node will be deployed and managed by the Puppet primary server which is configured in the vRealize Automation Puppet Integration.
I am excited to be able to blog and present our exciting updates to these key integrations! Stay tuned as we expand our feature set with configuration management tools in future releases.