diff --git a/doc/source/deploy/upgrade-guide.rst b/doc/source/deploy/upgrade-guide.rst
index ac2b853a5f..d84ab7b689 100644
--- a/doc/source/deploy/upgrade-guide.rst
+++ b/doc/source/deploy/upgrade-guide.rst
@@ -5,12 +5,37 @@ Bare Metal Service Upgrade Guide
================================
This document outlines various steps and notes for operators to consider when
-upgrading their Ironic-driven clouds from previous versions of OpenStack.
+upgrading their ironic-driven clouds from previous versions of OpenStack.
-The Ironic service is tightly coupled with the Ironic driver that is shipped
-with Nova. Currently, some special considerations must be taken into account
+The ironic service is tightly coupled with the ironic driver that is shipped
+with nova. Some special considerations must be taken into account
when upgrading your cloud from previous versions of OpenStack.
+The `release notes `_
+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.
+
+General upgrades - all versions
+===============================
+
+Starting with the Liberty release, the ironic service should always be upgraded
+before the nova service. 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 yet.
+
+* Run database migrations
+
+* Restart ironic-conductor and ironic-api services.
+
Upgrading from Kilo to Liberty
==============================
@@ -25,7 +50,7 @@ the **ironic-discoverd** package. Ironic Liberty supports the
Please refer to
`ironic-inspector version support matrix
`_
-for details on which Ironic versions can work with which
+for details on which ironic versions can work with which
**ironic-inspector**/**ironic-discoverd** versions.
It's also highly recommended that you switch to using **ironic-inspector**,
@@ -62,25 +87,25 @@ The discoverd to inspector upgrade procedure is as follows:
Upgrading from Juno to Kilo
===========================
-When upgrading a cloud from Juno to Kilo, users must ensure the Nova
-service is upgraded prior to upgrading the Ironic service. Additionally,
-users need to set a special config flag in Nova prior to upgrading to ensure
-the newer version of Nova is not attempting to take advantage of new Ironic
-features until the Ironic service has been upgraded. The steps for upgrading
-your Nova and Ironic services are as follows:
+When upgrading a cloud from Juno to Kilo, users must ensure the nova
+service is upgraded prior to upgrading the ironic service. Additionally,
+users need to set a special config flag in nova prior to upgrading to ensure
+the newer version of nova is not attempting to take advantage of new ironic
+features until the ironic service has been upgraded. The steps for upgrading
+your nova and ironic services are as follows:
- Edit nova.conf and ensure force_config_drive=False is set in the [DEFAULT]
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.
-- Restart Nova services.
-- Install new Ironic code, run database migrations, restart Ironic services.
+- Restart nova services.
+- Install new ironic code, run database migrations, restart ironic services.
- Edit nova.conf and set force_config_drive to your liking, restarting
nova-compute if necessary.
-Note that during the period between Nova's upgrade and Ironic's upgrades,
+Note that during the period between nova's upgrade and ironic's upgrades,
instances can still be provisioned to nodes. However, any attempt by users to
-specify a config drive for an instance will cause an error until Ironic's
+specify a config drive for an instance will cause an error until ironic's
upgrade has completed.
Cleaning
@@ -90,8 +115,8 @@ workloads to ensure the node is ready for another workload. This can include
erasing the hard drives, updating firmware, and other steps. 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
-`cleaning_network_uuid` option in the Ironic configuration file before starting
-the Kilo Ironic service. See :ref:`CleaningNetworkSetup` for information on
-how to set up the cleaning network for Ironic.
+`cleaning_network_uuid` option in the ironic configuration file before starting
+the Kilo ironic service. See :ref:`CleaningNetworkSetup` for information on
+how to set up the cleaning network for ironic.