Upgrade to Annvix 2.0
Alright, its my turn to upgrade:
I have just updated one of my production server handling source controls and bugzilla:
overall, the migration scripts works! but I did have couple scary moments that we need to
improve:
1. I only get the full annvix/releases/2.0-RELEASE tree from the server,
and it turns out to be NOT ENOUGH, since the upgrade script is also
looking for annvix/release/i586… and other places, this cause the
upgrade script to fail. (good thing i have other windows open that can
do a quick sync from the web and have the script ‘retry’ to avoid the catastrophic failure.)
2. after upgrade, swap doesn’t get turned up automatically, its kindda
weird, /etc/fstab did include the swap, and when i do swapon -a, it
works..did you forget to put swapon in the init script?
3. named is broken by default, /etc/rndc.key is causing the problem, I
just remove the content from this file, then named works again.
4. I did have some weird dependency problems that apt-get is claiming i
have multiple version of openssh running (I had to manually remove the
extra ones from other terminals to make it happy)
anyhow, this machine is pretty much working again (bugzilla just works! i was surprised that all the modules still works)
took me about an hour on that fairly fast machines
PS. I noticed that sshd daemon is on during the whole process.. this is
very good, and i am glad the upgrade script didn’t fool with sshd daemon
(at least i didn’t noticed) because during the upgrade, 3 windows are
simply not enough…. i keep opening more terminals….)
4 more to go….. =)

Comment from Vincent Danen
Time: February 6, 2007, 8:27 am
Ok, let’s take a look at this.
You’re right. Just having the 2.0-RELEASE directory isn’t enough. I made this mistake myself when I upgraded my web server. I uploaded only 2.0-CURRENT/x86_64, but the apt metadata uses the arch first, so you need to include those arch files. I’ll make a note of this somewhere (just not sure where). I ended up pointing apt to ibiblio’s repository for the upgrade and then worked on fixing my stuff.
Not sure why you’re not seeing swap come on… it should. I just checked the machines here and every one of them has swap on in /proc/swaps, so I’m not sure why yours didn’t. A reboot on that machine and then seeing if swap was activated (cat /proc/swaps… how did you check?) would be a good thing to make sure it wasn’t just some wierdness of a first boot.
I don’t use named so I have no idea about that one. Can you send a message to dev@ with the details (or fix it yourself) and I’ll put that into 2.0-RELEASE.
Hmmm… not sure why it would complain about multiple versions of openssh installed. I did see that with courier-imap and took some extra steps to make sure there wouldn’t be a problem there. If the openssh thing happens again on another upgrade, please let me know (and send me the upgrade.log file).
Yup, bugzilla worked here. The perl search path also includes not only the current version but older versions as well, so stuff installed via CPAN in 5.8.7 will work with 5.8.8 (or at least should). I didn’t have to touch bugzilla either.
The entire upgrade should only take about 20 minutes to do (again, dependening on network speeds). I’ve done full upgrades in 20 minutes and had a total of 30 minute downtimes. I’ve also had longer when I was working on the upgrade script and encountered issues… =) Of course, this makes for a very good reason as to why you have to use the upgrade script and *not* just “apt-get distupgrade” (at least for now).
And yeah, I decided that when I shut down services, keeping tty1, tty2, and sshd up always would be a prudent/smart/safe thing to do, which is why sshd doesn’t get shut down (of course, if I had and this goes with any other service that might be required, in another one of those terminals just “srv –up named” or whatever if you need it during the upgrade).
Glad it worked out well for you (for the most part). =) While I know the upgrade script isn’t 100%, I did try to make it as “fool-proof” as possible. It can’t be an exact science, of course, but the fact that it works for the most part (and the most part is generally the hard part) is a good sign.
Thanks for posting that, Ying!