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

  5. Install git

    Code Block
    yum install git 
  6. Download and extract the Avalon install script

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

    Code Block
    export INSTALL_DIR=`pwd`
    ln -s $INSTALL_DIR/files /etc/puppet/avalon_files
  8. Create hiera/data/custom.yaml and collect facts to feed to puppet about your installation:

    Code Block
    avalon::config::dropbox_user: avalondrop
    avalon::config::dropbox_password: dropithere
    rails_env: production

    Available facts and default values:

    avalon::config::admin_useran email address for the initial avalon collection/group
    avalon::config::dropbox_userthe login for the Avalon Dropbox useravalondrop
    avalon::config::dropbox_passwordthe plaintext password for the Avalon Dropbox usernil
    avalon::config::dropbox_password_hashthe pre-hashed password for the Avalon Dropbox usernil
    avalon_public_addressthe hostname clients should connect toOutput of hostname -f
    rails_envthe Rails environment to run avalon underproduction

    NOTE: Either avalon_dropbox_password or avalon_dropbox_password_hash is required. All other facts are optional.

  9. Execute the puppet script, passing selected facts as environment variables prefixed with FACTER_, e.g.

    Code Block
    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

    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.

  10. When the script finishes, open a web browser and connect to the public address you configured above (e.g., Create a new user with email, this is the default collection_manager and group_manager.