Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


  1. Create and log into a CentOS 6.x or Red Hat Enterprise Linux 6.x system as a user with sudo rights


    The current Puppet script has issues if executed on a clean, "minimal" CentOS. A "minimal desktop" CentOS is recommended.

  2. Become root

    Code Block
    sudo -s
  3. Disable SELinux (which we're not currently set up to support)

    Code Block
    echo 0 > /selinux/enforce 
    sed -ie "s/SELINUX=enforcing/SELINUX=permissive/" /etc/selinux/config
  4. Install puppet from the Puppet Labs repository

    Code Block
    rpm -ivh
    yum install puppet
    titleOn CentOS 7
    rpm -ivh
  5. Install git

    Code Block
    yum install git 
  6. Install Ruby 2.2.5 if ruby current version is lower

    Code Block
    ruby -v
    #The following command won't work the first time. 
    # It will request you download the signatures first 
    # and provide the command to download it.
    curl -sSL | bash -s
    source /usr/local/rvm/scripts/rvm
    rvm install 2.2.5
    rvm use 2.2.5
    gem install bundler
  7. Install json extensions for the system ruby

    Code Block
    gem install ruby-json
  8. Download and extract the Avalon install script

    Code Block
    wget -O flat.tar.gz 
    tar xzf flat.tar.gz
    cd avalon-installer-flat
  9. Set up the installation variables

    Code Block
    export INSTALL_DIR=`pwd`
    ln -s $INSTALL_DIR/files /etc/puppet/avalon_files
  10. Collect facts to feed to puppet about your installation, the following will create hiera/data/custom.yaml

    Code Block
    ruby -r './fact_gatherer.rb' -e 'FactGatherer.gather_facts'


    titleFacter can't detect some early CentOS 7 versions, if so run
    yum update
  11. Execute the puppet script

    Code Block
    rvm system do puppet apply --fileserverconfig=$INSTALL_DIR/fileserver.conf \
    --modulepath=$INSTALL_DIR/modules --hiera_config=$INSTALL_DIR/hiera/hiera.yaml \
    --templatedir=$INSTALL_DIR/templates manifests/init.pp --detailed-exitcodes

    If you see errors like "Could not prefetch firewall provider 'iptables'", then running `iptables --flush` will help.

    Be patient. The manifest needs to download, install and configure a whole lot of dependencies and servers. This could take 30 minutes or more even with a fast connection.

  12. When the script finishes, open a web browser and connect to the public address for your server (e.g., Create a new user with email, this is the default collection_manager and group_manager.