Linux – Upgrading ubuntu release on a cluster of servers

clusterfabriclinuxUbuntu

I have a cluster of about 50 ubuntu nodes which are currently running maverick release. I'd like to upgrade them to oneiric, but I'm having a difficulty choosing the right tools.

I know ubuntu has the 'unattended-upgrade' utility, but it's only meant for security upgrades and cannot switch the whole release. Is there anything similar that can?

For now it seems that the only choice is to use something like fabric/pssh/capistrano and make it run 'do-release-upgrade' on each of the servers. But 'do-release-upgrade' is interactive and requires some input from the user during the upgrade. There doesn't seem to be any –unattended parameter for the 'do-release-upgrade' tool.

What kind of tactics do you use in situations like this?

Thanks!

Best Answer

I'm the one who wrote that guide about using apt-get dist-upgrade and yes it's certainly true that there are many differences between dist-upgrade and do-release-upgrade. I have now written a new guide on how to do the release upgrade automatically with the do-release-upgrade and it's actually very simple. You can find the new guide here:

http://awaseroot.wordpress.com/2012/04/29/ubuntu-release-upgrade-fully-automatic-non-interactive-upgrade/

Also in this one I'm answering yes to all questions during the upgrade but you can define the answers in the command if you know the exact order of the questions that require interaction. You should try it first in test environment as that way you could also find out the questions.

The guide includes a Fabric example as well.