Ran into issues upgrading instances of Ubuntu Server 13.10 to 14.04 running on top of XenServer. It was a little frustrating finding a work around but I did find some helpful posts out there of folks who made this happen.
Below is a summary of what I’ve found and how I got my instances upgraded. YMMV.
Make sure you have backups!
1. On the XenServer console edit the file /usr/lib/python2.4/site-packages/grub/GrubConf.py
cd /usr/lib/python2.4/site-packages/grub
cp GrubConf.py to GrubConf.py.original
vi +428 GrubConf.py
change
if arg.strip() == "${saved_entry}":
to
if arg.strip() == "${saved_entry}" or if arg.strip() == "${next_entry}":
2. Dist-upgrade the Ubuntu Server 13.10 instance
sudo -s
aptitude update
aptitude dist-upgrade
reboot
3. Install Grub2 on the Ubuntu Server 13.10 instance
sudo -s
aptitude --with-recommends install grub2
reboot
4. Run an unattended release upgrade on the Ubuntu Server 13.10 instance
sudo -s
do-release-upgrade -f DistUpgradeViewNonInteractive
reboot
5. Check that all went well
sudo -s
uname -mrs
lsb_release -a
Notes:
On a couple of my instances there seemed to be some hangs on configuration. When these hangs occoured I sshed into the instance with the hanging process and ran:
ps ax | grep dpkg
kill -9 ######
###### is of course the process id number from the ps command. The upgrade script seem to run on to completion. Just to be sure everything was OK I ran
dpkg --configure -a
reboot
On one of the instances the dpkg –configure -a command couldn’t configure apport. I rebooted the instance and ran:
aptitude update; aptitude dist-upgrade
and all was well.
[…] which seems to be an issue for XenServer 6.2. In the past to get around this I made an edit to the /usr/lib/python2.4/site-packages/grub/GrubConf.py file as outlined here. But, this edit threw syntax errors when I tried the start the Linux […]
LikeLike