Skip to end of metadata
Go to start of metadata

Follow the steps given below to configure a base Image:

  1. Start up a virtual machine (VM) instance using a preferred OS, on a preferred IaaS.

  2. Install the Puppet agent.

     Install the Puppet agent on Ubuntu

    If you are using Ubuntu 12, you will require the following Puppet repository to install the Puppet agent.

    wget http://apt.puppetlabs.com/puppetlabs-release-precise.deb
    dpkg -i puppetlabs-release-precise.deb
    sudo apt-get update
    sudo apt-get install puppet

    If you are using Ubuntu 14, you will require the following Puppet repository to install the Puppet agent.

    wget http://apt.puppetlabs.com/puppetlabs-release-trusty.deb
    dpkg -i puppetlabs-release-trusty.deb
    sudo apt-get update
    sudo apt-get install puppet
     Install the Puppet agent on CentOS
    1. Enable dependencies and Puppet labs repository on Master.

      # rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm
      # rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm
      # rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-5.noarch.rpm
    2. Install and upgrade Puppet on the agent node.

      # yum install puppet
      # puppet resource package puppet ensure=latest
      # /etc/init.d/puppet restart

    For more information on installing the Puppet agent on CentOS, see installing Puppet on CentOS.

  3. Open the puppet file, which is in the <PUPPET_AGENT>/etc/default directory and configure it as follows:

  4. Add the following to the puppet.conf file, which is in the <PUPPET_AGENT> /etc/puppet directory:


    If you are unsure of the server name, use a dummy hostname. Private PaaS will update the above with the respective server name, when it starts running.

  5. Stop the puppet instance or instances that are running.

    cd /etc/init.d/puppet
    • When the Puppet agent is installed as mentioned in step 1, there is a high tendency that a puppet instance will start running. Therefore before creating the base image you need to stop any puppet instances that are running.
    • Execute the following command to identify the running puppet instances:

      ps -ef | grep puppet

      The following output will be given, if any Puppet instances are running.


      root      1321     1  0 Sep09 ?        00:00:17 /usr/bin/ruby /usr/bin/puppet agent
      root     12149 12138  0 05:44 pts/0    00:00:00 grep --color=auto puppet
  6. Copy the init.sh script into the <PUPPET_AGENT>/root/bin directory.

    You can find the init.sh script for the respective IaaS here.

    The init.sh file differs based on the IaaS. If you wish to find the init.sh script for a different IaaS, go to init-scripts. You can find the respective init.sh script by navigating to the init-script/<IAAS>/<OS> path.

  7. Update the /etc/rc.local file.

    /root/bin/init.sh > /tmp/puppet_log
    exit 0
  8. Execute the following commands:

    rm -rf /var/lib/puppet/ssl/*
    rm -rf /tmp/*

    By executing the above commands you will be cleaning up the base image, for Private PaaS to install the required certificates and payloads. This is done to avoid any errors that will be given, if Private PaaS starts installing a certificate or payload that already exists in the base image.

  • No labels