View on GitHub

HPC configuration management using Puppet 5

CHPC conference workshop - December 2017

HPC configuration management using Puppet 5


All nodes in a compute cluster should conform to a common standard in order to be useful. With a configuration management system, we can ensure conformity and eliminate common errors which impede effective computing.


In this workshop we will install and configure Puppet 5, a configuration management system, to manage our compute cluster.

We will install and configure the Puppet server, PuppetDB database, a Puppet agent and multiple modules from the Puppet Forge. Best practises will be implemented, including using Hiera and saving configurations to Git.

Hands on

Feel free to go on ahead if you’re well versed in any of the topics.

We’ll be installing a small CentOS 7.4 VM to host our Puppet installation. Copies of the VMDK/VHDX files will be made available. If you wish to follow along, please make sure you have a working installation of Hyper-V, VMware (Workstation or Player) or VirtualBox.

Let’s go!!

  1. Install a new CentOS 7.4 VM
  2. Configure the VM
  3. Install Puppet Server 5
  4. Install PostgreSQL 9.6
  5. Install Puppet DB
  6. Connect the Puppet Server to the Puppet DB
  7. Create and apply a configuration to the Agent
    1. Create a new environment
    2. Create a Hiera hierarchy
    3. Add a class from the Forge
    4. Override the configuration