Streamlining Your IT Infrastructure with VMware vRA 8.3 and Puppet Enterprise Integration

Integrating Puppet Enterprise with vRA 8.3: A Step-by-Step Guide

If you’re looking to integrate Puppet Enterprise with VMware vRealize Automation (vRA) 8.3, you might have encountered some obstacles in the process. In this blog post, we’ll walk you through the necessary steps to configure the integration between Puppet Enterprise and vRA 8.3. Note that these instructions are based on a freshly installed Linux VM for the Puppet primary server install, so make sure to follow them in order before installing Puppet Enterprise.

Step 1: Update CentOS

Before we begin, ensure that your CentOS is up to date by running the following command:

sudo dnf -y update

Step 2: Install Utilities

Next, install the required utilities by running the following commands:

sudo dnf -y install wget curl vim nano open-vm-tools bash-completion

Step 3: Set Hostname

Ensure that your hostname is set correctly by running the following command:

sudo hostnamectl set-hostname hostname_fqdn_format

Step 4: Create User for Integration

Create a user for the integration between Puppet and vRA by running the following commands:

sudo adduser account_name

Set password for the account by running:

sudo passwd account_name

Add the user to the wheel group by running:

sudo usermod -aG wheel account_name

Step 5: Disable Firewall

Disable the firewall by running:

sudo systemctl stop firewalld

sudo systemctl disable firewalld

Step 6: Create File in /etc/sudoers.d/ Directory

Create a file in the /etc/sudoers.d/ directory with the following contents:

account_name ALL=(root) NOPASSWD:/opt/puppetlabs/bin/puppet node purge *

account_name ALL=(root) NOPASSWD:! /opt/puppetlabs/bin/puppet node purge *[[:blank:]]]*

account_name ALL=(root) NOPASSWD:/opt/puppetlabs/bin/puppet config print *

account_name ALL=(root) NOPASSWD:! /opt/puppetlabs/bin/puppet config print *[[:blank:]]]*

account_name ALL=(root) NOPASSWD:/opt/puppetlabs/bin/facter -p puppetversion

account_name ALL=(root) NOPASSWD:/opt/puppetlabs/bin/facter -p pe_server_version

account_name ALL=(root) NOPASSWD:/opt/puppetlabs/bin/puppet agent -t

account_name ALL=(root) NOPASSWD:/bin/kill -HUP *

account_name ALL=(root) NOPASSWD:! /bin/kill -HUP *[[:blank:]]]*

account_name ALL=(root) NOPASSWD:/etc/puppetlabs/puppet/ssl/ca/ca_crl.pem

Step 7: Download Puppet Enterprise

Download the latest version of Puppet Enterprise from the Puppet website by running:

sudo curl -JLO ‘https://pm.puppet.com/cgi-bin/download.cgi?dist=el&rel=8&arch=x86_64&ver=latest’

Step 8: Install Puppet Enterprise

Extract the installer files by running:

sudo tar -xf *puppet-enterprise*.tar.gz

Install Puppet Enterprise by running:

cd ./puppet-enterprise*/

sudo ./puppet-enterprise-installer

Step 9: Set Console Password

Set the console password for your Puppet infrastructure by running:

sudo puppet infrastructure console_password

Step 10: Execute the Puppet Agent (twice)

Execute the Puppet agent twice to complete the integration by running:

puppet agent -t

puppet agent -t

At this point, you are now able to configure the integration in vRA. Specify the account to use as the one you configured above as account_name and make sure to tick the ‘Use Sudo commands for this user‘ tickbox.

We hope these instructions have helped you integrate Puppet Enterprise with vRA 8.3 successfully!

Leave a Reply