Merge "Update the Ironic Upgrade guide"

This commit is contained in:
Jenkins 2017-03-10 12:42:52 +00:00 committed by Gerrit Code Review
commit ad99084fbc

View File

@ -9,32 +9,56 @@ upgrading their ironic-driven clouds from previous versions of OpenStack.
The ironic service is tightly coupled with the ironic driver that is shipped The ironic service is tightly coupled with the ironic driver that is shipped
with nova. Some special considerations must be taken into account with nova. Some special considerations must be taken into account
when upgrading your cloud from previous versions of OpenStack. when upgrading your cloud.
The `release notes <http://docs.openstack.org/releasenotes/ironic/>`_ Plan your Upgrade
should always be read carefully when upgrading the ironic service. Starting =================
with the Mitaka series, specific upgrade steps and considerations are
well-documented in the release notes. Specific upgrade considerations prior
to the Mitaka series are documented below.
Upgrades are only supported one series at a time, or within a series. * The `release notes <http://docs.openstack.org/releasenotes/ironic/>`_
should always be read carefully when upgrading the ironic service. Starting
with the Mitaka release, specific upgrade steps and considerations are
well-documented in the release notes.
General upgrades - all versions * Upgrades are only supported one series at a time, or within a series.
* Starting with the Liberty release, the ironic service should always be
upgraded before the nova service.
.. note::
The ironic virt driver in nova always uses a specific version of the
ironic REST API. This API version may be one that was introduced in the
same development cycle, so upgrading nova first may result in nova being
unable to use ironic's API.
* When upgrading ironic, the following steps should always be taken:
#. Update ironic code, without restarting services.
#. Run database migrations.
#. Restart ironic-conductor and ironic-api services.
Upgrading from Newton to Ocata
==============================
There are no specific upgrade instructions other than the
`Ocata release notes <https://docs.openstack.org/releasenotes/ironic/ocata.html#upgrade-notes>`_.
Upgrading from Mitaka to Newton
=============================== ===============================
Starting with the Liberty release, the ironic service should always be upgraded There are no specific upgrade instructions other than the
before the nova service. The ironic virt driver in nova always uses a specific `Newton release notes <https://docs.openstack.org/releasenotes/ironic/newton.html>`_.
version of the ironic REST API. This API version may be one that was introduced
in the same development cycle, so upgrading nova first may result in nova being
unable to use ironic's API.
When upgrading ironic, the following steps should always be taken:
* Update ironic code, without restarting services yet. Upgrading from Liberty to Mitaka
================================
* Run database migrations There are no specific upgrade instructions other than the
`Mitaka release notes <https://docs.openstack.org/releasenotes/ironic/mitaka.html>`_.
* Restart ironic-conductor and ironic-api services.
Upgrading from Kilo to Liberty Upgrading from Kilo to Liberty
============================== ==============================
@ -42,47 +66,41 @@ Upgrading from Kilo to Liberty
In-band Inspection In-band Inspection
------------------ ------------------
If you used in-band inspection with **ironic-discoverd**, you have to install If you used in-band inspection with **ironic-discoverd**, it is highly
recommended that you switch to using **ironic-inspector**, which is a newer
(and compatible on API level) version of the same service. You have to install
**python-ironic-inspector-client** during the upgrade. This package contains a **python-ironic-inspector-client** during the upgrade. This package contains a
client module for the in-band inspection service, which was previously part of client module for the in-band inspection service, which was previously part of
the **ironic-discoverd** package. Ironic Liberty supports the the **ironic-discoverd** package. Ironic Liberty supports the
**ironic-discoverd** service, but does not support its in-tree client module. **ironic-discoverd** service, but does not support its in-tree client module.
Please refer to Please refer to `ironic-inspector version support matrix
`ironic-inspector version support matrix
<http://docs.openstack.org/developer/ironic-inspector/install.html#version-support-matrix>`_ <http://docs.openstack.org/developer/ironic-inspector/install.html#version-support-matrix>`_
for details on which ironic versions can work with which for details on which ironic versions are compatible with which
**ironic-inspector**/**ironic-discoverd** versions. **ironic-inspector**/**ironic-discoverd** versions.
It's also highly recommended that you switch to using **ironic-inspector**,
which is a newer (and compatible on API level) version of the same service.
The discoverd to inspector upgrade procedure is as follows: The discoverd to inspector upgrade procedure is as follows:
#. Install **ironic-inspector** on the machine where you have * Install **ironic-inspector** on the machine where you have
**ironic-discoverd** (usually the same as conductor). **ironic-discoverd** (usually the same as conductor).
#. (Recommended) update the **ironic-inspector** configuration file to stop * Update the **ironic-inspector** configuration file to stop using deprecated
using deprecated configuration options, as marked by the comments in the configuration options, as marked by the comments in the `example.conf
`example.conf <https://git.openstack.org/cgit/openstack/ironic-inspector/tree/example.conf>`_.
<https://git.openstack.org/cgit/openstack/ironic-inspector/tree/example.conf>`_. It is recommended you move the configuration file to
``/etc/ironic-inspector/inspector.conf``.
The file name is provided on the command line when starting * Shutdown **ironic-discoverd**, and start **ironic-inspector**.
**ironic-discoverd**, and the previously recommended default was
``/etc/ironic-discoverd/discoverd.conf``. In this case, for the sake of
consistency it's recommended you move the configuration file to
``/etc/ironic-inspector/inspector.conf``.
#. Shutdown **ironic-discoverd**, and start **ironic-inspector**. * During upgrade of each conductor instance:
#. During upgrade of each conductor instance: #. Shutdown the conductor.
#. Uninstall **ironic-discoverd**,
install **python-ironic-inspector-client**.
#. Update the conductor.
#. Update ``ironic.conf`` to use ``[inspector]`` section
instead of ``[discoverd]`` (option names are the same).
#. Start the conductor.
#. Shutdown the conductor
#. Uninstall **ironic-discoverd**,
install **python-ironic-inspector-client**
#. Update the conductor Kilo -> Liberty
#. (Recommended) update ``ironic.conf`` to use ``[inspector]`` section
instead of ``[discoverd]`` (option names are the same)
#. Start the conductor
Upgrading from Juno to Kilo Upgrading from Juno to Kilo
=========================== ===========================
@ -96,7 +114,7 @@ your nova and ironic services are as follows:
- Edit nova.conf and ensure force_config_drive=False is set in the [DEFAULT] - Edit nova.conf and ensure force_config_drive=False is set in the [DEFAULT]
group. Restart nova-compute if necessary. group. Restart nova-compute if necessary.
- Install new nova code, run database migrations - Install new nova code, run database migrations.
- Install new python-ironicclient code. - Install new python-ironicclient code.
- Restart nova services. - Restart nova services.
- Install new ironic code, run database migrations, restart ironic services. - Install new ironic code, run database migrations, restart ironic services.
@ -110,15 +128,16 @@ upgrade has completed.
Cleaning Cleaning
-------- --------
A new feature in Kilo is support for the automated cleaning of nodes between A new feature starting from Kilo cycle is support for the automated cleaning
workloads to ensure the node is ready for another workload. This can include of nodes between workloads to ensure the node is ready for another workload.
erasing the hard drives, updating firmware, and other steps. For more This can include erasing the hard drives, updating firmware, and other steps.
information, see :ref:`automated_cleaning`. For more information, see :ref:`automated_cleaning`.
If ironic is configured with automated cleaning enabled (defaults to True) and If ironic is configured with automated cleaning enabled (defaults to True) and
to use Neutron as the DHCP provider (also the default), you will need to set the neutron is set as the DHCP provider (also the default), you will need to set
`cleaning_network_uuid` option in the ironic configuration file before starting the `cleaning_network_uuid` option in the ironic configuration file before
the Kilo ironic service. See `Configure the Bare Metal service for cleaning`_ starting the ironic service. See
for information on how to set up the cleaning network for ironic. `Configure the Bare Metal service for cleaning`_ for information on how to set
up the cleaning network for ironic.
.. _`Configure the Bare Metal service for cleaning`: http://docs.openstack.org/project-install-guide/baremetal/draft/configure-cleaning.html .. _`Configure the Bare Metal service for cleaning`: http://docs.openstack.org/project-install-guide/baremetal/draft/configure-cleaning.html