Change undercloud update instructions

Update of overcloud nodes should follow right after undercloud update.
The reason is that new templates may expect features included in
newer packages installed on overcloud nodes (for example new puppet
class definitions). Also adds note about having to explicitly use
default environment registry file - otherwise some resource definitions
may be missing.

Change-Id: I34d8826edc9efe248ab82e36cb1d40914fa9dca4
This commit is contained in:
Jan Provaznik 2015-11-02 09:53:21 +01:00 committed by Petr Kovar
parent 22d7cef8c2
commit 4cfab2979d
2 changed files with 27 additions and 29 deletions

View File

@ -24,20 +24,4 @@ You can upgrade any packages that are installed on the undercloud machine.
You do not need to restart any services after you update.
#. Update stack environment of the existing overcloud:
If you use heat templates from default location
(`/usr/share/openstack-tripleo-heat-templates`), it's possible that these
templates have changed when updating undercloud machine. You should update
the existing overcloud to reflect any changes in template and environment
files. The reason is that CLI commands which change existing overcloud pass
new template to Heat but reuse existing environment of the overcloud so a
new resource type referenced in updated template might be missing in the
existing environment::
openstack overcloud deploy --templates -e /usr/share/openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml -e <all extra files>
.. note::
Make sure you pass all environment files you used when deploying
overcloud.
#. Proceed with :ref:`package_update`.

View File

@ -1,12 +1,15 @@
.. _package_update:
Updating Packages on Overcloud Nodes
====================================
You can update packages on all overcloud nodes with command::
You can update packages on all overcloud nodes with a command similar to the
following::
openstack overcloud update stack --templates [templates dir] -i overcloud
openstack overcloud update stack --templates [templates dir] -i overcloud -e /usr/share/openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml -e <all extra files>
This command updates the UpdateIdentifier parameter and triggers stack update
operation. If this parameter is set 'yum update' command is executed and each
This command updates the ``UpdateIdentifier`` parameter and triggers stack update
operation. If this parameter is set, ``yum update`` command is executed on each
node. Because running update on all nodes in parallel might be unsafe (an
update of a package might involve restarting a service), the command above
sets breakpoints on each overcloud node so nodes are updated one by one. When
@ -14,20 +17,31 @@ the update is finished on a node the command will prompt for removing
breakpoint on next one.
.. note::
If you passed any extra environment files when you created the overcloud (for
When passing any extra environment files while creating the overcloud (for
instance, in order to configure :doc:`network isolation
<../advanced_deployment/network_isolation>`), you must pass them again here
using the ``-e`` or ``--environment-file`` option to avoid making undesired
changes to the overcloud.
<../advanced_deployment/network_isolation>`), pass them again here using the
``-e`` or ``--environment-file`` option to avoid making undesired changes to
the overcloud.
If you use Heat templates from the default location
(`/usr/share/openstack-tripleo-heat-templates`), it is possible that
these templates have changed when updating the undercloud machine. When
updating overcloud nodes, make sure you pass both the default registry
file and any extra environment files.
The reason is that CLI commands, which are changing an existing overcloud,
will pass new templates to Heat reusing the existing environment of the
overcloud. This leads to the condition in which a new `resource type`
referenced in updated templates might be missing in the existing environment.
.. note::
Make sure you use the ``-i`` parameter, otherwise update runs on background
and does not prompt for removing of breakpoints.
.. note::
Multiple breakpoints can be removed by specifying list of nodes with a
regular expression.
.. note::
Make sure you use `-i` parameter, otherwise update runs on background and
doesn't prompt for removing of breakpoints.
.. note::
If the update command is aborted for some reason you can always continue
in the process by re-running same command.