Install a general Node machine
The Puppet Agent sends information about its system and requests a catalog to the Puppet Master. Therefore, a set of tools and specific configurations for each node are defined on the base of the node’s role. This role can be defined in two different ways:
- in the first case, CloudStack runs a Ruby script to load $userdata defined during the virtual machine creation. This script loads $userdata associated into a collection of Puppet facts;
- in the second case, using another software to the deploy and manage network in the cloud environment, the administrator has to set the hostname of a node with its specific role.
As defined in the Puppet “base” manifest, the Puppet Master sends a subset of catalogues to the Puppet Agent on the basis of the $role fact. For instance, on the Web-balancer Apache frontend, the following Puppet module will be installed: https://github.com/open-dai/puppetlabs-apache. In the figure below is shown the Node installation and configuration pipeline, using the ISO image.