From 4cfab2979d5923ea08d8d7599f3782776b81e68d Mon Sep 17 00:00:00 2001 From: Jan Provaznik Date: Mon, 2 Nov 2015 09:53:21 +0100 Subject: [PATCH] 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 --- doc/source/installation/updating.rst | 18 +-------- doc/source/post_deployment/package_update.rst | 38 +++++++++++++------ 2 files changed, 27 insertions(+), 29 deletions(-) diff --git a/doc/source/installation/updating.rst b/doc/source/installation/updating.rst index c63d6e27..c4f9ecbe 100644 --- a/doc/source/installation/updating.rst +++ b/doc/source/installation/updating.rst @@ -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 - - .. note:: - - Make sure you pass all environment files you used when deploying - overcloud. +#. Proceed with :ref:`package_update`. diff --git a/doc/source/post_deployment/package_update.rst b/doc/source/post_deployment/package_update.rst index 8f35d1bb..d2b77ad0 100644 --- a/doc/source/post_deployment/package_update.rst +++ b/doc/source/post_deployment/package_update.rst @@ -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 -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.