These are instructions for those who would like to upgrade to Eucalyptus 1.4 from earlier source-based or RPM-based installations of Eucalyptus. Both upgrade paths involve making a backup of the key state from the old installation. The last section of this document explains how to roll back to the previous installation using the backup.
ec2-terminate-instances ... # (as admin)
/etc/init.d/eucalyptus stop
ps aux | grep euca kill -9 ...
Both source- and RPM-based installations can be upgraded:
export EUCALYPTUS_OLD=/opt/eucalyptus-1.3 mv /opt/eucalyptus $EUCALYPTUS_OLD
cp $EUCALYPTUS_OLD/var/eucalyptus/db/eucalyptus.* $EUCALYPTUS/var/eucalyptus/db/ rm $EUCALYPTUS/var/eucalyptus/db/*.lck cp $EUCALYPTUS_OLD/etc/eucalyptus/cloud.d/*.bks $EUCALYPTUS/etc/eucalyptus/cloud.d/
$EUCALYPTUS/etc/init.d/eucalyptus start
$EUCALYPTUS/usr/sbin/euca_sync_key -c $EUCALYPTUS/etc/eucalyptus/eucalyptus.conf
ec2-describe-availability-zones verbose
Storage of disk images, kernels, and ramdisks has changed in 1.4 due to the introduction of Walrus, an S3-compatible bucket-based storage service. Instead of using euca add_image, these files are now added using standard EC2/S3 tools. To upgrade, the files will have to be re-added (and, hence, their EMIs will change!).
Note that if you made any changes to config.xml files of your images, you will have to re-integrate these changes into the Perl script named $EUCALYPTUS/usr/share/eucalyptus/gen_libvirt_xml which now generates the equivalent XML document for all images on-the-fly. Be sure to sync that script to all your nodes.)
cd (the registered images directory)
cd (an image dir) gunzip * ec2-bundle-image -i (kernel image name) --kernel true -d . Please peicfy a value for the arch [x86_64]: ENTER ... ec2-upload-bundle -b (unique bucket) -m (kernel image name).manifest.xml ec2-register (unique bucket)/(kernel image name).manifest.xml IMAGE eki-.......
ec2-bundle-image -i (ramdisk image name) --ramdisk true -d . Please peicfy a value for the arch [x86_64]: ENTER ... ec2-upload-bundle -b (unique bucket 2) -m (ramdisk image name).manifest.xml ec2-register (unique bucket 2)/(ramdisk image name).manifest.xml IMAGE eri-.......
ec2-bundle-image -i (disk image name) --kernel (eki-......) [--ramdisk (eri-......)] -d . Please peicfy a value for the arch [x86_64]: ENTER ... ec2-upload-bundle -b (unique bucket 3) -m (disk image name).manifest.xml ec2-register (unique bucket 3)/(disk image name).manifest.xml IMAGE emi-......
ec2-describe-images
Once you are confident that the new installation is working, delete the old state on disk.
rm -rf $EUCALYPTUS_OLD rm -rf (the template path) rm -rf (the registration path) rm /etc/defaults/eucalyptus # (this is no longer used)
If you upgraded using RPM packages, delete on all nodes the backup of old state that was created during the upgrade:
rm /root/eucalyptus-pre1.4-rollback.tar
rm -rf $EUCALYPTUS
mv $EUCALYPTUS_OLD $EUCALYPTUS
rpm -e eucalyptus-cloud eucalyptus-cc euca-httpd euca-axis2c euca-libvirt eucalyptus
rpm -ivh eucalyptus-1.3-1.i386.rpm euca-httpd-1.0-1.i386.rpm eucalyptus-cloud-1.3-1.i386.rpm eucalyptus-cc-1.3-1.i386.rpm
cd $EUCALYPTUS tar xvf /root/eucalyptus-pre1.4-rollback.tar