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 
    vimsed -ie "s/SELINUX=enforcing/SELINUX=permissive/" /etc/selinux/config #change the value of `SELINUX` from `enforcing` to `permissive` 
  4. Install puppet from the Puppet Labs repository

    Code Block
    rpm -ivh
    yum install puppet-3.1.1

    Note: This manifest is known not to work with puppet 3.2. Please make sure you have Puppet 3.1.

  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
    cd $INSTALL_DIR/manifests 
  8. Collect facts about your installation to feed to puppet

    avalon_admin_useran email address for the initial avalon collection/group
    avalon_dropbox_userthe login for the Avalon Dropbox useravalondrop
    avalon_dropbox_passwordthe plaintext password for the Avalon Dropbox usernil
    avalon_dropbox_password_hashthe pre-hashed password for the Avalon Dropbox usernil
    avalon_public_addressthe hostname clients should connect toOutput of hostname -f
    avalon_root_dirthe base directory for avalon content
    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 \
    FACTER_avalon_dropbox_password=dropithere \
    FACTER_rails_env=development \
    puppet apply --fileserverconfig=$INSTALL_DIR/fileserver.conf \
    --modulepath=$INSTALL_DIR/modules --hiera_config=$INSTALL_DIR/hiera/hiera.yml \
    --templatedir=$INSTALL_DIR/templates ./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.