diff --git a/pages/12to15.md b/pages/12to15.md new file mode 100644 index 0000000..a20f551 --- /dev/null +++ b/pages/12to15.md @@ -0,0 +1,190 @@ +# Upgrading Ganeti 2.12 to 2.15 on Debian Jessie + +I had 2.12 on debian jessie on three clusters so wanted to upgrade. + +## apt sources + +Get the correct backports on all nodes in the cluster. + +``` +# echo "deb http://cdn.debian.net/debian/ jessie-backports main" > /etc/apt/sources.list.d/jessie-backports.list +``` + +I also had to + +``` +rm /etc/apt/sources.list.d/wheezy-backports.list +rm /etc/apt/sources.list.d/ganeti.list +``` + +Update on all nodes, and you should have 2.15 staged. + +``` +# apt-get update +# apt-cache policy ganeti +ganeti: + Installed: 2.12.4-1+deb8u3 + Candidate: 2.12.4-1+deb8u3 + Version table: + 2.15.2-1~bpo8+1 0 + 100 http://cdn.debian.net/debian/ jessie-backports/main amd64 Packages + *** 2.12.4-1+deb8u3 0 + 500 http://ftp.us.debian.org/debian/ jessie/main amd64 Packages + 500 http://security.debian.org/ jessie/updates/main amd64 Packages + 100 /var/lib/dpkg/status +``` + +## Get the binaries + +Install new binaries on all nodes. + +``` +# apt-get install ganeti/jessie-backports +Reading package lists... Done +Building dependency tree +Reading state information... Done +Selected version '2.15.2-1~bpo8+1' (Debian Backports:jessie-backports [all]) for 'ganeti' +The following packages were automatically installed and are no longer required: + ganeti-2.12 ganeti-haskell-2.12 ganeti-htools-2.12 libdns-export100 + libirs-export91 libisc-export95 libisccfg-export90 +Use 'apt-get autoremove' to remove them. +The following extra packages will be installed: + ganeti-2.15 ganeti-haskell-2.15 ganeti-htools-2.15 +Suggested packages: + ganeti-doc blktap-dkms molly-guard +The following NEW packages will be installed: + ganeti-2.15 ganeti-haskell-2.15 ganeti-htools-2.15 +The following packages will be upgraded: + ganeti +1 upgraded, 3 newly installed, 0 to remove and 55 not upgraded. +Need to get 13.8 MB of archives. +After this operation, 117 MB of additional disk space will be used. +Do you want to continue? [Y/n] +``` + +And you should now see that 2.15 is current, though not yet running + +``` +# apt-cache policy ganeti +ganeti: + Installed: 2.15.2-1~bpo8+1 + Candidate: 2.15.2-1~bpo8+1 + Version table: + *** 2.15.2-1~bpo8+1 0 + 100 http://cdn.debian.net/debian/ jessie-backports/main amd64 Packages + 100 /var/lib/dpkg/status + 2.12.4-1+deb8u3 0 + 500 http://ftp.us.debian.org/debian/ jessie/main amd64 Packages + 500 http://security.debian.org/ jessie/updates/main amd64 Packages +``` + +## Do the Upgrade + +Note that you do not have to shutdown the running VMs. + +Ensure that the job queue is drained first + +``` +# gnt-job list +ID Status Summary +``` + +If it is not empty, either cancel the jobs or, if desperate, hold your nose and + +``` +# rm /var/lib/ganeti/queue/job* +``` + +On the master node + +``` +# gnt-cluster upgrade --to 2.15 +Draining queue +Pausing the watcher for one hour. +Stopping daemons on master node. +Stopping daemons everywhere. +Backing up configuration as /var/backups/ganeti1473770062.tar +Switching to version 2.15 on all nodes +Upgrading configuration +Ensuring directories everywhere. +Starting daemons everywhere. +Redistributing the configuration. +Restarting daemons everywhere. +Undraining the queue. +Running post-upgrade hooks +Unpausing the watcher. +Verifying cluster. +``` + +Note that it verified in secret. You may want to do so explicitly + +``` +# gnt-cluster verify +Submitted jobs 301175, 301176 +Waiting for job 301175 ... +Tue Sep 13 12:38:33 2016 * Verifying cluster config +Tue Sep 13 12:38:33 2016 * Verifying cluster certificate files +Tue Sep 13 12:38:33 2016 * Verifying hypervisor parameters +Tue Sep 13 12:38:33 2016 * Verifying all nodes belong to an existing group +Waiting for job 301176 ... +Tue Sep 13 12:38:35 2016 * Verifying group 'default' +Tue Sep 13 12:38:35 2016 * Gathering data (2 nodes) +Tue Sep 13 12:38:35 2016 * Gathering information about nodes (2 nodes) +Tue Sep 13 12:38:41 2016 * Gathering disk information (2 nodes) +Tue Sep 13 12:39:05 2016 * Verifying configuration file consistency +Tue Sep 13 12:39:05 2016 * Verifying node status +Tue Sep 13 12:39:05 2016 * Verifying instance status +Tue Sep 13 12:39:05 2016 * Verifying orphan volumes +Tue Sep 13 12:39:05 2016 * Verifying N+1 Memory redundancy +Tue Sep 13 12:39:05 2016 * Other Notes +Tue Sep 13 12:39:05 2016 - NOTICE: 2 non-redundant instance(s) found. +Tue Sep 13 12:39:05 2016 * Hooks Results +``` + +Confirm which version is running + +``` +# ls -l /etc/ganeti/share +lrwxrwxrwx 1 root root 22 Sep 13 12:34 /etc/ganeti/share -> /usr/share/ganeti/2.15/ +``` + +## Upgrade keys + +On the master node + +``` +# gnt-cluster renew-crypto --new-ssh-keys --no-ssh-key-check +Updating certificates now. Running "gnt-cluster verify" is recommended after this operation. +This requires all daemons on all nodes to be restarted and may take +some time. Continue? +y/[n]/?: y +Tue Sep 13 12:41:01 2016 Renewing SSH keys +All requested certificates and keys have been replaced. Running "gnt-cluster verify" now is recommended. +``` + +## Verify + +And, of course, always verify. On the master + +``` +# gnt-cluster verify +Tue Sep 13 12:41:54 2016 * Verifying cluster config +Tue Sep 13 12:41:54 2016 * Verifying cluster certificate files +Tue Sep 13 12:41:54 2016 * Verifying hypervisor parameters +Tue Sep 13 12:41:54 2016 * Verifying all nodes belong to an existing group +Waiting for job 301181 ... +Tue Sep 13 12:41:56 2016 * Verifying group 'default' +Tue Sep 13 12:41:56 2016 * Gathering data (2 nodes) +Tue Sep 13 12:41:57 2016 * Gathering information about nodes (2 nodes) +Tue Sep 13 12:42:03 2016 * Gathering disk information (2 nodes) +Tue Sep 13 12:43:04 2016 * Verifying configuration file consistency +Tue Sep 13 12:43:04 2016 * Verifying node status +Tue Sep 13 12:43:04 2016 * Verifying instance status +Tue Sep 13 12:43:05 2016 * Verifying orphan volumes +Tue Sep 13 12:43:05 2016 * Verifying N+1 Memory redundancy +Tue Sep 13 12:43:05 2016 * Other Notes +Tue Sep 13 12:43:05 2016 - NOTICE: 2 non-redundant instance(s) found. +Tue Sep 13 12:43:05 2016 * Hooks Results +``` + +And Bob's your uncle! \ No newline at end of file