Puppet

You can use and leverage Puppet in your templates to install, configure and maintain your applications and services. To do that you define Puppet node(s) in the node_templates: section of your templates.

Note

To use Puppet to configure your servers requires Puppet to be integrated with Dell Cloud Manager. Refer to the Dell Cloud Manager Administrator’s Guide on Integrating Puppet.

The Puppet node is defined with a section name, a type and properties.

section name

Example: wp_web:

type

type: dcm.nodes.Puppet

properties

The following node properties are supported when defining a Puppet node in a blueprint template:

  • puppetMaster: - This must be the exact name (case sensitive) of the Puppet account that is configured in Dell Cloud Manager.
Example: puppetMaster: "ACME Puppet"
  • classes: - This is where you define one or more of the Puppet classes which define the application or service to install and configure.
Example: classes: ['stack_wordpress::app']
  • parameters: - This section is where you can define optional parameters to be passed to the Puppet agent for it to use when installing and configurating your application or service.

Example

node_templates:
  wp_web:                                                # Name of this node
    type: dcm.nodes.Puppet                               # This is a Puppet node
    properties: 
        puppetMaster: "ACME Puppet"                      # Exact name of the PuppetMaster Server Account defined to the Dell Cloud Manager Server
        classes: ['stack_wordpress::app']                # Puppet class containing the puppet code to install the application
        parameters:                                      # Parameters to be passed to the puppet agent running on the launched server 
            install_dir: "/opt/wp"
            db_name: "wordpress"
            db_pass: "averystrongpass"
            db_user: "root"
    requirements:
      - host: web_vm                                     # This requires (is "HostedOn") the Server defined in the template named web_vm
        relationship_type: tosca.relationships.HostedOn 

Note

Refer to the section in this document Samples using Puppet to see an example of a template which uses Puppet to deploy services and applications on launched servers.