$ /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
+
+ This will ask for confirmation. To execute directly, add the ``--yes-do-it``
+ option.
+
#. Restart daemons on all nodes::
$ /etc/init.d/ganeti restart
$ 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
upgrading again.
#. Install the old Ganeti version on all nodes
+
+ NB: in Ganeti 2.8, the ``cmdlib.py`` file was split into a series of files
+ contained in the ``cmdlib`` directory. If Ganeti is installed from sources
+ and not from a package, while downgrading Ganeti to a pre-2.8
+ version it is important to remember to remove the ``cmdlib`` directory
+ from the directory containing the Ganeti python files (which usually is
+ ``${PREFIX}/lib/python${VERSION}/dist-packages/ganeti``).
+ A simpler upgrade/downgrade procedure will be made available in future
+ versions of Ganeti.
+
#. Restart daemons on all nodes::
$ /etc/init.d/ganeti restart