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!