# Puppet

Each HPE Morpheus Enterprise Puppet integration ties to a specific Puppet Master and makes it easy to install the Puppet Agent onto target Instances and Servers. Once integrated, we can trigger the agent installation by creating Puppet Agent Install Tasks through HPE Morpheus Enterprise automation or at provision time when spinning up instances in Clouds associated with a Puppet integration.

## Add Puppet Integration

### Procedure

1. Navigate to Administration > Integrations
2. Click + NEW INEGRATION
3. Select Integration type “Puppet”
4. Populate the following fields 

   - Name: A friendly name for this Puppet integration in HPE Morpheus Enterprise
   - Enabled: When marked, this Puppet integration will be available to users at provision time and when creating Tasks
   - Puppet Master (Hostname): The resolvable DNS name to the Puppet Master, communicating on port 443 by default
   - Allow Immediate Execution: Yes or No (See additional details below)
5. Click SAVE CHANGES 

   ![../../_images/new_puppet_integration.png](https://support.hpe.com/hpesc/public/api/document/sd00007510en_us/GUID-89930173-D087-4C3D-AD78-83569C611401-high.png)

### Allow Immediate Execution

When adding or editing a Puppet integration, users have the option to “Allow Immediate Execution”. Using this feature will connect to the Puppet Master after the Puppet Agent is installed and force configuration application immediately. This is an optional convenience feature, if it’s not used, the Puppet Master will still apply configuration to the node on its own schedule. Using this feature requires supplying SSH credentials. If you do not wish to provide SSH credentials to HPE Morpheus Enterprise select “No” to opt out of this feature and they do not need to be provided.

## Associating a Puppet Integration with a Cloud

### About this task

By associating a Puppet Integration with a Cloud, users are able to automatically install the Puppet Agent, select a Puppet environment, and supply a Puppet Node Name at provision time. The integration association is made when adding or editing a Cloud integration in HPE Morpheus Enterprise.

### Procedure

1. Navigate to Infrastructure > Clouds
2. Identify the Cloud to associate with Puppet and edit it by clicking on the pencil icon at the right end of the row
3. In the EDIT CLOUD modal, expand the Advanced Options section
4. In the CONFIG MANAGEMENT dropdown, choose the Puppet integration
5. Save changes to the Cloud integration

## Creating Puppet Agent Install Tasks

### About this task

Puppet Agent Install Tasks automate the process of installing the Puppet Agent, selecting the Puppet environment, and supplying the Puppet Node Name. We can run this Task on-demand as needed for individual Instances or servers or add them to workflows to build a Puppet Agent installation step into larger automation suites.

### Procedure

1. Navigate to Library > Automation
2. Select the Tasks tab
3. Click + ADD
4. From the “Type” field, select Puppet Agent Install
5. Complete the fields as needed to target a specific Puppet Master and to identify Puppet environment and node names
6. Save changes

### Results

![../../_images/puppet_task.png](https://support.hpe.com/hpesc/public/api/document/sd00007510en_us/GUID-F59908B8-FAEC-4C47-859E-087396FDCB98-high.png)

## Installing Puppet Agent at Provision Time

With a Puppet integration associated with a Cloud (as described above), users can opt to install the Puppet Agent at provision time. When provisioning into an associated Cloud, a new “Puppet” section will appear on the CONFIGURE tab of the provisioning wizard. Here users can select a specific Puppet Master, select the Puppet environment, and select a Puppet node name. During provisioning, the Puppet Agent will be automatically installed and configured for the selected Master.
