Fix verify config if a node has no instances
[ganeti-local] / UPGRADE
diff --git a/UPGRADE b/UPGRADE
index eb6d4ff..0f1c11e 100644 (file)
--- a/UPGRADE
+++ b/UPGRADE
@@ -30,6 +30,10 @@ To run commands on all nodes, the `distributed shell (dsh)
 
     $ gnt-job list
 
+#. Pause the watcher for an hour (master node only)::
+
+    $ gnt-cluster watcher pause 1h
+
 #. Stop all daemons on all nodes::
 
     $ /etc/init.d/ganeti stop
@@ -51,6 +55,11 @@ To run commands on all nodes, the `distributed shell (dsh)
 
     $ /usr/lib/ganeti/ensure-dirs --full-run
 
+#. Create the (missing) required users and make users part of the required
+groups on all nodes::
+
+    $ /usr/lib/ganeti/tools/users-setup
+
 #. Restart daemons on all nodes::
 
     $ /etc/init.d/ganeti restart
@@ -60,8 +69,8 @@ To run commands on all nodes, the `distributed shell (dsh)
     $ gnt-cluster redist-conf
 
 #. If you use file storage, check that the ``/etc/ganeti/file-storage-paths``
-#. is correct on all nodes. For security reasons it's not copied
-#. automatically, but it can be copied manually via::
+   is correct on all nodes. For security reasons it's not copied
+   automatically, but it can be copied manually via::
 
    $ gnt-cluster copyfile /etc/ganeti/file-storage-paths
 
@@ -69,6 +78,75 @@ To run commands on all nodes, the `distributed shell (dsh)
 
     $ /etc/init.d/ganeti restart
 
+#. Enable the watcher again (master node only)::
+
+    $ gnt-cluster watcher continue
+
+#. Verify cluster (master node only)::
+
+    $ gnt-cluster verify
+
+Reverting an upgrade
+~~~~~~~~~~~~~~~~~~~~
+
+For going back between revisions (e.g. 2.1.1 to 2.1.0) no manual
+intervention is required, as for upgrades.
+
+Starting from version 2.8, ``cfgupgrade`` supports ``--downgrade``
+option to bring the configuration back to the previous stable version.
+This is useful if you upgrade Ganeti and after some time you run into
+problems with the new version. You can downgrade the configuration
+without losing the changes made since the upgrade. Any feature not
+supported by the old version will be removed from the configuration, of
+course, but you get a warning about it. If there is any new feature and
+you haven't changed from its default value, you don't have to worry
+about it, as it will get the same value whenever you'll upgrade again.
+
+The procedure is similar to upgrading, but please notice that you have to
+revert the configuration **before** installing the old version.
+
+#. Ensure no jobs are running (master node only)::
+
+    $ gnt-job list
+
+#. Pause the watcher for an hour (master node only)::
+
+    $ gnt-cluster watcher pause 1h
+
+#. Stop all daemons on all nodes::
+
+    $ /etc/init.d/ganeti stop
+
+#. Backup old configuration (master node only)::
+
+    $ tar czf /var/lib/ganeti-$(date +\%FT\%T).tar.gz -C /var/lib ganeti
+
+#. Run cfgupgrade on the master node::
+
+    $ /usr/lib/ganeti/tools/cfgupgrade --verbose --downgrade --dry-run
+    $ /usr/lib/ganeti/tools/cfgupgrade --verbose --downgrade
+
+   You may want to copy all the messages about features that have been
+   removed during the downgrade, in case you want to restore them when
+   upgrading again.
+
+#. Install the old Ganeti version on all nodes
+#. Restart daemons on all nodes::
+
+    $ /etc/init.d/ganeti restart
+
+#. Re-distribute configuration (master node only)::
+
+    $ gnt-cluster redist-conf
+
+#. Restart daemons again on all nodes::
+
+    $ /etc/init.d/ganeti restart
+
+#. Enable the watcher again (master node only)::
+
+    $ gnt-cluster watcher continue
+
 #. Verify cluster (master node only)::
 
     $ gnt-cluster verify