published on 8 June 2017

Editor's Note: This blog post was originally published on the World Wide Technology blog in a slightly different form, and is republished with the kind permission of author Curt Stalhood.

Modern data centers are increasingly utilizing automated configuration management tools such as Puppet Enterprise to provision compute resources, storage, network, security, application and middleware across on-premise and/or cloud data centers. Puppet has partnered with VMware to use Puppet modules as building blocks for vRealize Automation application blueprints. This enables deployment of multi-tier applications using Puppet modules. The integration of Puppet with vRealize Automation provides data center infrastructure teams with a powerful and agile tool to manage and run their data center resources.

Now that VMware has officially released VMware vRealize Automation (vRA) 7.3, it’s time to take a look at the new features. The very first one I want to discuss is the ability to integrate Puppet directly into a design blueprint without having to create custom properties and property groups (build profiles in vCAC 6). Instead, there’s a new selection called configuration management for a machine blueprint, and Puppet is the first vendor for this new feature.

A little brief history for anyone not running vRA 7.3, or if you haven’t read through my other blogs on integrating Puppet with vRA, below are a couple links on how to use the vRA guest agent and software components for integrating Puppet:

So let’s get started and integrate vRA 7.3 with Puppet!

Prerequisites

NOTE: If you have a previous version of the Puppet plugin installed on vRO, you must manually uninstall it before continuing. Version 3.0 does not perform an upgrade.

Installation

Task 1: Set up autosigning and descriptions

  1. Log in to the Puppet master. Click Nodes > Classification and then click Autosign and vRO Plugin User and ssdh config that was set up by the vRO Starter-Content Pack.

Stalhood image 1

  1. Click the Classes under the autosign_example class, add the parameter named puppet_autosign_shared_secret and change the value. Note: This passcode is stored in the autosign.rb file, which must match the parameter entry.

Stalhood Image 2

  1. Under the vro_plugin_user class, add the parameters for the vro_password and vro_plugin_user. Make sure that the credentials specified match the account created on the Puppet master. The default created by the content pack is vro-plugin-user.

Stalhood Image 3

  1. Click Commit Changes to complete the process.
  2. SSH to the Puppet master and log in as root.
  3. Execute the following two commands to enable the @Summary portion of the roles to display a description next to the role during the vRA catalog role selection:
puppet resource package yard provider=puppet_gem
puppet resource package puppet-strings provider=puppet_gem

Task 2: Install the vRO plugin and configure

The steps here are pretty straightforward. All you need to do is install the plugin and then configure the endpoint connection between vRA and Puppet via vRealize Orchestrator (vRO).

  1. Browse to the vRO control center and install the plugin.

Stalhood Image 4

  1. Restart the vRO service.
  2. From the vRA web interface for the tenant, log in with a user account that has rights to ASD. Click Administration > vRO Configuration > Endpoints. Click New and then walk through the wizard to add the Puppet master.

Stalhood Image 5

  1. Make sure sudo is set to Yes, and the vro-plugin-user account is specified.

Stalhood Image 6

  1. Check the inventory tab on vRO to verify that the host is added correctly.

Stalhood Image 7

Task 3: Create the vRA blueprint

  1. From the Design tab, click on new and complete the necessary details.
  2. Under categories, click Configuration Management.

Stalhood Image 8

  1. Drag the Puppet configuration to the VM.

Stalhood Image 9

  1. The Puppet configuration appears. Click the Server tab and complete the information in the boxes for the master and environment. Here you can also choose show the options in the request form by clicking Set in request form instead. Make sure to set the Shared Secret field to what was entered in the classification previously.

Stalhood Image 10

  1. Click the Managed Node tab and fill in the information.

Stalhood Image 11

  1. Review the blueprint and click Finish.

Stalhood Image 12

  1. Click Publish.

Stalhood Image 13

  1. Entitle your users to access the blueprint and then go request one!

Stalhood Image 14

Stalhood Image 15

  1. Once completed, verify the role(s) processed correctly on the new deployment.

Stalhood Image 16

  1. Check the Puppet master to see the node is in the role.

Stalhood Image 17

Curt Stalhood is a principal solutions architect at World Wide Technology, focused on cloud management and automation.

Learn more

Share via:

Add new comment

The content of this field is kept private and will not be shown publicly.

Restricted HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.