Upgrading to Eucalyptus 1.5.2 from 1.5.1, 1.4 and Ubuntu Jaunty package

These instructions are for those who would like to upgrade to Eucalyptus 1.5.2 from source-based or package-based 1.4 or 1.5.1 or Ubuntu Jaunty installation. If you're still running 1.3, please, follow the instructions for upgrading to 1.4 before following these instructions.

As a precaution, these instructions involve making a backup of the key state. The backup is made automatically during the RPM upgrade, but for DEB-based and source-based upgrade you would need to create the backup manually. The last section of this document explains how to roll back to the previous installation using the backup.

Commands below assume that $EUCALYPTUS variable points to the root of your current installation. After backing up the current installation, the same location will be reused for the 1.5.2 installation. If you want to install 1.5.2 somewhere else, adjust the commands accordingly.

Also, we assume that you set $OLD_VAR variable as follows:

  • if upgrading from 1.5.1 or Ubuntu Jaunty, it should be var/lib/eucalyptus
  • if upgrading from 1.4, it should be var/eucalyptus

1. Clean up Eucalyptus running state

  • Note the value of the "Walrus path" listed under the "Configuration" tab of the Web interface. (That is where all uploaded images and user buckets are located.)
  • Terminate all Eucalyptus instances
    euca-terminate-instances ... # (as admin)
  • Shut down Eucalyptus on all nodes:
    $EUCALYPTUS/etc/init.d/eucalyptus-nc stop
    $EUCALYPTUS/etc/init.d/eucalyptus-cc stop
    $EUCALYPTUS/etc/init.d/eucalyptus-cloud stop
    or, in 1.4:
    $EUCALYPTUS/etc/init.d/eucalyptus stop
  • Check for errant Eucalyptus processes on all nodes and kill them

    ps aux | grep euca
    kill -9 ...

2. Back up the current installation

If you you are upgrading using RPMs (on CentOS or OpenSUSE), you can skip this section because the backup will be created for you automatically and placed in /root/eucalyptus-pre-1.5.2-rollback.tar.

If you are upgrading a source-based or DEB-based installation (Debian or Ubuntu), you may want to back up the database and the keys in case the upgrade does not go smoothly.

cd $EUCALYPTUS
rm -f $OLD_VAR/db/eucalyptus.lck
tar cvf /root/eucalyptus-pre-1.5.2-rollback.tar etc/eucalyptus $OLD_VAR/db $OLD_VAR/keys/*.p*
cp etc/eucalyptus/eucalyptus.conf /root/eucalyptus-pre-1.5.2-configuration

If you'd like to clean up a bit, you could remove the following two directories:

rm -rf log/eucalyptus run/eucalyptus

Since the "Walrus path" ($EUCALYPTUS/$OLD_VAR/bukkits by default) potentially contains a lot of data and that data is unlikely to be affected by the upgrade, we do not recommend backing it up.

3. Install Eucalyptus 1.5.2

  • If upgrading a source-based installation, follow the steps in the Source Code Installation section of the Administrator's Guide and, afterwards, return here.

4. Update the configuration

Between version 1.4 and 1.5 the configuration file acquired new parameters. So, if you are performing an upgrade from 1.4, you will need to reconcile the differences between the old and the new configuration file. You can perform this manually or you can start with an automatic conversion:

$EUCALYPTUS/usr/sbin/euca_conf -upgrade-conf /root/eucalyptus-pre-1.5.2-configuration $EUCALYPTUS/etc/eucalyptus/eucalyptus.conf

If you upgraded from an older binary package, the command above was executed automatically during the upgrade.

Wether you simply copy over your previous configuration or perform the conversion, it is highly recommended to look over the new configuration file to ensure its correctness. Specifically, check the following variables:

  • *_PORT
  • NODES
  • INSTANCE_PATH
  • VNET_*
  • HYPERVISOR (should be "xen" if you are upgrading from 1.4).
  • EUCA_USER should be set according to the type of installation that you performed in step 2 above (running as root is easier to configure, but it requires one to use a specially compiled Apache).

Network parameters from 1.4 and 1.5.1 should continue to work. To learn about the new network mode (MANAGED-NOVLAN) see the Network Configuration section of the Administrator's Guide..

Ensure that the new configuration file on each compute node is also valid, either by performing the conversion on each node or by propagating a valid compute-node-specific file to all nodes.

5. Restart Eucalyptus and verify the upgrade

  • Start NCs, the CC, and the CLC. Each one of those services has its own startup script in 1.5.x, so perform some combination of these on the appropriate machines:
    $EUCALYPTUS/etc/init.d/eucalyptus-nc start
    $EUCALYPTUS/etc/init.d/eucalyptus-cc start
    $EUCALYPTUS/etc/init.d/eucalyptus-cloud start
  • In a Web browser, load https://headnode:8443/ and log in as before. Verify that the user accounts and the images are there.
  • Important: The official default Walrus path as of 1.5 is $EUCALYPTUS/var/lib/eucalyptus. Whether you use the default location or not, be sure to verify that the Walrus Path setting under the Configuration tab of the Web interface matches the actual location of the buckets before running any instances or using buckets.
  • Verify that the nodes are back up and that they can run your old instances (if not, see the Troubleshooting section.)
    euca-describe-availability-zones verbose

6-a. Clean up old disk state

Once you are confident that the new installation is working, delete the old state on disk.

rm /root/eucalyptus-pre-1.5.2-rollback.tar

As the upgrade may have moved some directories (to comply with FHS), you may have to remove by hand some unnecessary directories:

rm -rf $EUCALYPTUS/var/eucalyptus
6-b. Rolling back to an earlier installation

  • Stop Eucalyptus 1.5.2 processes, if any, on all nodes
  • If using binary packages, remove all Eucalyptus-related packages using the command appropriate for your distribution (e.g., rpm -e or apt-get remove). Depending on the failure, you might have to use the --nopreun option to rpm.
  • Download and install the old version of Eucalyptus on all nodes as discussed in the Administrator's Guide for the appropriate version (old guides are linked to from the Documentation page).
  • Copy the old state saved during the upgrade process.
    cd $EUCALYPTUS
    tar xf /root/eucalyptus-pre-1.5.2-rollback.tar
  • If installing from RPMs, copy the old configuration file:
    cp etc/eucalyptus/eucalyptus.conf.old etc/eucalyptus/eucalyptus.conf
  • Start Eucalyptus, as before