Installing vRealize Orchestrator (vRO) Puppet plugin

Installing vRealize Orchestrator (vRO) Puppet plugin

It’s very simple to manage VMs with VMware vRealize Orchestrator. However, if you are looking for further automation, you could use the configuration management tool Puppet from Puppet Labs. All machines you want to manage by Puppet need an agent installed and if you want an automated installation of this agent, the new vRealize Orchestrator (vRO) Puppet plugin comes in handy.

First you have to download the Plugin here.

Now you log into the vRo configuration website ( https://x.x.x.x:8283 where x.x.x.x is the IP of our vRo) and in the “General” category under the “Install Application” tab you select the .vmoapp file that you have just downloaded and click install. Now you should find it in the Plugin Category with the message “Will perform installation at next server startup.”. So in the Startup options Category we restart the server (not only the service) and that’s it.

If we start our vRo client now, you will find some additional workflows in the “Library” folder under “Puppet”. Before you can use the automatic agent installation now, you need to register the Puppet Master. There are some prerequisites to be followed:

  • Verify that Puppet Enterprise 3.7.0, Puppet Enterprise 3.3, Puppet Open Source 3.7.1, or Puppet Open Source 3.6.2 is installed.
  • Verify that you can connect to the Puppet Master using SSH from the Orchestrator server
  • Verify that the SSH daemon on the Puppet Master allows multiple sessions. The SSH daemon parameter to support multiple sessions on the Puppet Master is in the configuration file /etc/ssh/sshd_config. The session parameter must be set to MaxSession=10.

If you don’t have a Puppet Master installed yet, you can download a Learning VM here. In the package is also a detailed documentation how to install/import it and what credentials and names are used.

Now you need the IP and the credentials of the Puppet Master and start the “Add a Puppet Master” workflow under “Puppet->Configuration”. (There are some other workflows to remove or update the Puppet Master.) If the workflow finishes without error, you have successfully registered our Puppet Master. To be sure, you can run also the “Validate Puppet Master” workflow in the same folder.

Finally, you can use the workflows to install Puppet agents to our machines. There are two possibilities: “Install Linux Agent with SSH” and “Install Windows Agent with Powershell” in the Node Management folder. For the Linux Agent we obviously need SSH, that shouldn’t be a problem, and for the Windows Agent Powershell, which doesn’t exist in Windows servers below 2008. So, to use our workflows with 2003 servers, we have to install powershell first.

Additionally, powershell allows no remote access by default, so it is required to activate it on the servers by “Enable-PSRemoting” and if the server is not in the same domain as the client (vRo), you need to install a certificate on every server and register it with powershell:

New-WSManInstance -ResourceURI winrm/config/Listener -SelectorSet @{Transport=’HTTPS’; Address=”IP:x.x.x.x”} -ValueSet @{Hostname=”x.y.org”; CertificateThumbprint=”XXXXXXX”}

 Now, you can start the install workflow and if it succeeds, the Puppet agent is installed as a service/daemon, but not running. Next step would be the configuration of the manifests in the Puppet Master and then you will be able to start the “Configure Windows Agent with Powershell”/”Configure Linux Agent with SSH” workflows. Now the Puppet agents are running and communicating with the Puppet Master.