Automatic upgrades with Debian packages

Tagged:

1. Prerequisites: Adding repositories, archives keys and backports

If you are running Debian Squeeze or Ubuntu Lucid (10.04) and above, you'll first need to go through steps 1 through 3 of Automatic install on Debian.

2. Regular update process

Upgrading your Debian package should be as simple as running:

apt-get install aegir-provision

... to update the backend. Note how you can upgrade aegir in steps. If you want to upgrade all packages in one shot, use:

apt-get install aegir

As during install, you can use the DEBUG variable to run drush in debugging:

env DEBUG=yes apt-get install aegir-hostmaster

3. Upgrading from non-Debian installs

The Debian package supports migrating from existing installs. Just install the package as if you were installing from scratch.

You will need to move /var/aegir/.drush/provision out of the way before going ahead:

tar cfz /var/aegir/backups/provision.tgz /var/aegir/.drush/provision
rm -rf /var/aegir/.drush/provision

4. Custom distributions

If you have your own makefile, you can go ahead with the above process, but change the makefile to the one you want:

echo debconf aegir/makefile string /var/aegir/makefiles/aegir/aegir-koumbit.make | debconf-set-selections
apt-get install aegir

This will make sure you are asked for the makefile path for your custom distribution of Aegir.

5. Rolling back the upgrade

If something went wrong with the upgrade, you can rollback by deleting the hostmaster site and redeploying on the older platform:

drush @hostmaster provision-delete
vi ~/.drush/hostmaster.alias.drushrc.php
drush @hostmaster provision-deploy ~/backups/hostmaster.date.tgz

The trick is to change the alias to make the following changes:

  1. change the platform to point to the older platform alias
  2. change the platform root path
  3. change the site path

During the upgrade, a backup was done and you need to find which backup file it was in the backups directory.

#1

In the course of a normal update (adding php5-xsl) we were a little worried by the following messages:

The following extra packages will be installed:
  aegir-provision (..other php5 updates..)
The following packages will be REMOVED:
  aegir aegir-hostmaster (..other php5 updates..)
This - threatening to REMOVE an existing working Aegir infrastructure was a bit scary. Even if it will (probably?) be replaced. The original install was from koumbit yeah.

I'd have liked to see a message on this wiki page saying "If you get this message, it's OK to say 'Yes' and everything will be replaced safely". If that is the case... It is worrying. Can this be clarified?