Preparing for the Upgrade

There are some steps you can take to make the upgrade and transition to Avalon 2.0 smoother. Before doing anything to prepare for the upgrade, backup your Avalon 1.0 installation.

Avalon 2.0 has more powerful collections instead of the text field which existed in Avalon 1.0. To prepare for this, make sure every item has one and only one collection entry. During the upgrade collections will be created from these entries and items added. If items do not have a collection defined then they will be added to the Default Collection.

Groups used by Avalon to grant permissions have been revamped in Avalon 2.0. An administrator group will be created during the upgrade process and the first user listed in the group_manager group will be added to the new group. Make sure that this is the user you want to make administrator. Administrators are the only ones who have the ability to add users to the administrator or group_manager groups.


The following instructions will work for any Avalon 1.0 installation that used Puppet as its source. This includes the portable VM Image Installation, the Vagrant Virtual Machine Installation, and the Manual Installation of Avalon Using Puppet.

The one important piece of information you will need from the previous install is the name of the avalon dropbox user. The default is "avalondrop" (and the portable VM image uses this value), but it may have been changed during Step 6 of the Vagrant installation or Step 8 of the Puppet installation.

Upgrading is fairly simple, and must be run as the root user from a bash prompt on the Avalon system. The process for this depends on which kind of installation you have.

Once you have a root prompt, proceed with the upgrade as follows:

# 1. download and extract the installer with all dependencies included
$ wget
$ unzip
$ cd avalon-installer-flat

# 2. upgrade RVM
$ rvm get stable
# 3. set the installation directory to the R2 avalon installer
$ ln -sf $(pwd)/files /etc/puppet/avalon_files

# 4. fix the dropbox chroot in the ssh configuration
$ perl -pi.bak -e 's/Group dropbox/User avalondrop/' /etc/ssh/sshd_config
$ service sshd restart

# 5. set the name of the Avalon dropbox user (replace "avalondrop" with the 
#    correct value if the original install didn't use the default)
$ export FACTER_avalon_dropbox_user=avalondrop

# 6. apply the puppet manifest
$ puppet apply --fileserverconfig=fileserver.conf --modulepath=modules \
	--hiera_config=hiera/hiera.yml --templatedir=templates manifests/init.pp

The directions for ingesting the latest example fixtures are located here.