rgnet-wiki/pages/12to15.md
2020-07-04 15:17:04 -07:00

190 lines
No EOL
5.9 KiB
Markdown

# 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!