Preparing for the Upgrade

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

Dropboxes are now in sub-folders with the name of the related collection instead of there being just one system-wide dropbox.  When a collection is created or its name changes an email is sent to all members of the administrator group so that any additional system configuration can be performed if these directories are exposed via sftp, samba, etc.

Avalon can now perform some basic management of master files after they have been successfully processed.  More information on Managing Master Files and Master and Derivative File Locations.

Permalinks can be minted and assigned to media objects and master files upon publishing if configured.


The following instructions will work for any Avalon 2.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 R3 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. remove the Avalon deploy tag
$ rm -f /var/www/avalon/bare-deploy
# 6. explicitly add the domain name for Avalon with the hostname and port that is exposed to the world
$ nano /var/www/avalon/shared/avalon.yml
    host: localhost
    port: 3000

# 7. collect facts to feed to puppet about your installation
$ ruby -r './fact_gatherer.rb' -e 'FactGatherer.gather_facts'

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

If you didn't load the sample content before, try it out to test your R3 avalon upgrade.