diff --git a/doc/source/post_deployment/upgrade.rst b/doc/source/post_deployment/upgrade.rst index 5123b080..501f713c 100644 --- a/doc/source/post_deployment/upgrade.rst +++ b/doc/source/post_deployment/upgrade.rst @@ -58,6 +58,16 @@ Upgrading the Undercloud 2. Run undercloud upgrade: + .. note:: + + It is strongly recommended that you validate the state of your undercloud + before starting any upgrade operations. The tripleo-validations_ repo has + some 'pre-upgrade' validations that you can execute by following the + instructions at validations_ to execute the "pre-upgrade" group:: + + openstack workflow execution create tripleo.validations.v1.run_groups '{"group_names": ["pre-upgrade"]}' + mistral execution-get-output $id_returned_above + .. admonition:: Mitaka to Newton :class: mton @@ -98,6 +108,9 @@ Upgrading the Undercloud If you added custom OVS ports to the undercloud (e.g. in a virtual testing environment) you may need to re-add them at this point. +.. _validations: ../validations/validations.html#running-a-group-of-validations +.. _tripleo-validations: https://github.com/openstack/tripleo-validations/tree/master/validations + Upgrading the Overcloud to Ocata and beyond ------------------------------------------- diff --git a/doc/source/validations/validations.rst b/doc/source/validations/validations.rst index 5c2f8b13..d6da1650 100644 --- a/doc/source/validations/validations.rst +++ b/doc/source/validations/validations.rst @@ -25,6 +25,8 @@ the deployment workflow are they expected to run: * **post-deployment** should be run after the overcloud deployment has finished. +* **pre-upgrade** try to validate your undercloud before you upgrade it. + Note that for most of these validations, a failure does not mean that you'll be unable to deploy or run OpenStack. But it can indicate potential issues with long-term or production setups. If you're @@ -105,4 +107,49 @@ the method above:: $ openstack action execution run tripleo.validations.list_validations '{"groups": ["pre-deployment"]}' | jq ".result[] | .id" +Another example are the "pre-upgrade" validations which are added during the P +development cycle (tracked with this blueprint_). These can be executed as +the example above but instead using the "pre-upgrade" group:: + + openstack workflow execution create tripleo.validations.v1.run_groups '{"group_names": ["pre-upgrade"]}' + + +-------------------+--------------------------------------+ + | Field | Value | + +-------------------+--------------------------------------+ + | ID | 3f94a17b-835b-4a82-93af-a6cddd676ed8 | + | Workflow ID | e211099f-2c9b-46cd-a536-e38595ae8e7f | + | Workflow name | tripleo.validations.v1.run_groups | + | Description | | + | Task Execution ID | | + | State | RUNNING | + | State info | None | + | Created at | 2017-06-29 12:01:35 | + | Updated at | 2017-06-29 12:01:35 | + +-------------------+--------------------------------------+ + +You can monitor the progress of the execution by getting its status and also +output:: + + mistral execution-get $ID + mistral execution-get-output $ID + +When any of the validations fail the execution will have a ERROR status. +You can query the individual validations in the group to determine the exact +reasons that the validation fails. For example:: + + for i in $(mistral execution-list | grep tripleo.validations.*ERROR | awk '{print $2}'); do mistral execution-get-output $i; done + { + "result": "Failure caused by error in tasks: get_servers\n\n get_servers [task_ex_id=a6ef7d32-4678-4a58-85fe-bf2da8a963ae] -> Failed to run action [action_ex_id=3a9a81e2-d6b0-4380-8985-41d6f4e18f3a, action_cls='', attributes='{u'client_method_name': u'servers.list'}', params='{}']\n NovaAction.servers.list failed: : Unable to establish connection to http://192.168.24.1:8774/v2.1/servers/detail: ('Connection aborted.', BadStatusLine(\"''\",))\n [action_ex_id=3a9a81e2-d6b0-4380-8985-41d6f4e18f3a, idx=0]: Failed to run action [action_ex_id=3a9a81e2-d6b0-4380-8985-41d6f4e18f3a, action_cls='', attributes='{u'client_method_name': u'servers.list'}', params='{}']\n NovaAction.servers.list failed: : Unable to establish connection to http://192.168.24.1:8774/v2.1/servers/detail: ('Connection aborted.', BadStatusLine(\"''\",))\n" + } + { + "status": "FAILED", + "result": null, + "stderr": "", + "stdout": "Task 'Fail if services were not running' failed:\nHost: localhost\nMessage: One of the undercloud services was not active. Please check openstack-heat-api first and then confirm the status of undercloud services in general before attempting to update or upgrade the environment.\n\nTask 'Fail if services were not running' failed:\nHost: localhost\nMessage: One of the undercloud services was not active. Please check openstack-ironic-api first and then confirm the status of undercloud services in general before attempting to update or upgrade the environment.\n\nTask 'Fail if services were not running' failed:\nHost: localhost\nMessage: One of the undercloud services was not active. Please check openstack-zaqar first and then confirm the status of undercloud services in general before attempting to update or upgrade the environment.\n\nTask 'Fail if services were not running' failed:\nHost: localhost\nMessage: One of the undercloud services was not active. Please check openstack-glance-api first and then confirm the status of undercloud services in general before attempting to update or upgrade the environment.\n\nTask 'Fail if services were not running' failed:\nHost: localhost\nMessage: One of the undercloud services was not active. Please check openstack-glance-api first and then confirm the status of undercloud services in general before attempting to update or upgrade the environment.\n\nFailure! The validation failed for all hosts:\n* localhost\n" + } + + + + +.. _blueprint: https://blueprints.launchpad.net/tripleo/+spec/pre-upgrade-validations .. _tripleo-validations documentation page: http://docs.openstack.org/developer/tripleo-validations/readme.html#existing-validations