vCO PuppetvRealize Orchestrator (vRO) Puppet plugin enables vRealize Automation (vRA) and Puppet to work together to achieve infrastructure configuration, application deployment, and lifecycle management. vRO Puppet plugin is a collection of vRO workflows which work with embedded or external vRealize orchestrator, and it supports Puppet enterprise as well as Puppet open source flavors.

Workflows available with this plugin can be used in a standalone manner as well as multiple workflows can be combined for desired results. In a nutshell, vRO Puppet plugin is a framework of vRO workflows for Puppet that can be customized and extended by user as needed.

vRO Puppet plugin

Highlights vROPS Puppet plugin:

  • Install / configure Linux or Windows Puppet agent.
  • Sign / clean node certificate.
  • Node classification using Hiera or Manifest files.

Description vRO Puppet plugin:

VRO Puppet plugin uses SSH to communicate with the puppet master. SSH and Windows PowerShell are used to communicate with Linux and Windows nodes. Currently Hiera and manifests are two Puppet node classification mechanisms that are supported with the plugin.

Capabilities vRO Puppet plugin

The vRealize Orchestrator Puppet plug-in allows interaction between vRealize Orchestrator and Puppet. The Puppet plug-in exposes common puppet tasks as workflows.

  • Register and manage multiple Puppet Masters in the vRealize Orchestrator inventory.
  • The Puppet plug-in uses SSH to interact with the Puppet Master.
  • Install and configure the Puppet agent on Linux and Windows-based nodes by using SSH and PowerShell.
  • Manage node certificates to sign a certificate signing request (CSR) on the Puppet Master.
  • Create and maintain the Hiera and Manifest classification files for node classification.
  • Trigger an on-demand Puppet agent run on the node by using SSH and PowerShell.
  • Perform node agent certificate removal from the Puppet Master.
  • Call the experimental Rake API for node classification.

You must use the Orchestrator configuration interface to install the Puppet plug-in. You can then use the Orchestrator client to run and create workflows and access the Puppet plug-in API. vRealize Orchestrator powers the Puppet plug-in. Orchestrator is a development and process-automation platform that provides a library of extensible workflows to manage the vCenter infrastructure and other technologies. Orchestrator allows integration with management and administration solutions through its open plug-in architecture. The Puppet plug-in is one example of a configuration management solution that you can integrate with Orchestrator.

Puppet plugin prerequisites

To install and use the Puppet plug-in, your system must meet the following product prerequisites.

vRealize Orchestrator

  • Verify that you have a running instance of the embedded vRealize Orchestrator 6.0 server, the embedded vCenter Orchestrator 5.5 server, or vCenter Orchestrator
  • You can log in to the Orchestrator configuration interface at http://orchestrator_server:8282.
  • For information about how to set up Orchestrator, see the vRealize Orchestrator Installation and Configuration Guide.

Puppet Master

The Puppet infrastructure must meet the following functional prerequisites:

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

vRealize Automation

The Puppet plug-in is supported on vRealize Automation 6.2 and vCloud Automation Center 6.1.

Operating Systems for the Puppet Nodes

The Puppet plug-in is supported on the following operating systems:

  • Centos 7.0.
  • Centos 6.5.
  • Centos 5.10.
  • Red Hat Enterprise Linux 7.0.
  • Red Hat Enterprise Linux 6.5.
  • SUSE Linux Enterprise Server 11 Service Pack 3.
  • Ubuntu 12.0.4.
  • Windows 8.1.
  • Windows 7.0.
  • Windows Server 2012 R2.
  • Windows Server 2008 R2.

Verify that the WinRM HTTP or HTTPS protocol for Windows is enabled. See the Configure WinRM to Use HTTP and Configure WinRM to Use HTTPS topics in the VMware vRealize Orchestrator Plug-Ins Documentation Center.¬†Verify that enough memory is allocated on the node to run Puppet in a remote shell using WinRM or PowerShell. Use the winrm set winrm/config/winrs @{MaxMemoryPerShellMB=”4096″} command to increase the memory allocation.

You can download the vRO Puppet plugin on the VMware Solution Exchange website.