RETIRED, A Python library for code common to TripleO CLI and TripleO UI.
Go to file
Dougal Matthews c2fb9b025d Fail the scale workflows when sending a "FAILED" message
When Mistral workflows execute a second workflow (a sub-workflow
execution), the parent workflow can't easily determine if sub-workflow
failed.  This is because the failure is communicated via a Zaqar message
only and when a workflow ends with a successful Zaqar message it appears
have been successful. This problem surfaces because parent workflows
should have an "on-error" attribute but it is never called, as the
workflow doesn't error.

This change marks the workflow as failed if the message has the status
"FAILED". Now when a sub-workflow fails, the task that called it should
have the on-error triggered. Previously it would always go to
on-success.

Change-Id: I73c5965627e45b8151f67aaf8025369bf6c870bb
Related-Bug: #1651704
2017-01-13 13:27:22 +00:00
contrib Update container images to point to newton 2016-11-18 17:43:18 +01:00
doc/source Remove the duplication of Workbook in the description. 2016-10-07 16:31:28 +01:00
heat_docker_agent Merge "Force qemu logging to file" 2017-01-04 11:10:46 +00:00
image-yaml Merge "Drop use of hosts element." 2016-12-21 04:22:25 +00:00
releasenotes/source Add ReNo support 2017-01-12 12:06:02 +00:00
scripts A script that pulls the latest puppet source 2017-01-09 21:03:13 -05:00
tools Add ReNo support 2017-01-12 12:06:02 +00:00
tripleo_common Add ReNo support 2017-01-12 12:06:02 +00:00
undercloud_heat_plugins Merge "Ignore changes to images in nova servers" 2016-09-27 00:13:43 +00:00
workbooks Fail the scale workflows when sending a "FAILED" message 2017-01-13 13:27:22 +00:00
.coveragerc Make coverage tests work 2015-11-30 23:01:07 +00:00
.gitignore Add ReNo support 2017-01-12 12:06:02 +00:00
.gitreview Added .gitreview 2015-04-09 13:57:40 +00:00
.mailmap Initial Cookiecutter Commit. 2015-04-29 13:34:49 +02:00
.testr.conf Initial Cookiecutter Commit. 2015-04-29 13:34:49 +02:00
babel.cfg Initial Cookiecutter Commit. 2015-04-29 13:34:49 +02:00
CONTRIBUTING.rst Initial Cookiecutter Commit. 2015-04-29 13:34:49 +02:00
HACKING.rst Fix formatting in doc files 2016-07-22 16:46:04 +02:00
LICENSE Initial Cookiecutter Commit. 2015-04-29 13:34:49 +02:00
MANIFEST.in Initial Cookiecutter Commit. 2015-04-29 13:34:49 +02:00
README.rst Pin docutils version 2016-12-12 07:29:45 +01:00
requirements.txt Updated from global requirements 2016-11-30 23:16:32 +00:00
setup.cfg Merge "Changed the home-page link" 2016-12-21 12:52:36 +00:00
setup.py Updated from global requirements 2015-10-23 16:05:01 +00:00
sudoers Workflows to run validations 2016-08-29 13:56:49 +02:00
test-requirements.txt Add ReNo support 2017-01-12 12:06:02 +00:00
tox.ini Add ReNo support 2017-01-12 12:06:02 +00:00

Team and repository tags

image

tripleo-common

A common library for TripleO workflows.

Action Development

When developing new actions, you will checkout a copy of tripleo-common to an undercloud machine and add actions as needed. To test the actions they need to be installed and selected services need to be restarted. Use the following code to accomplish these tasks. :

sudo rm -Rf /usr/lib/python2.7/site-packages/tripleo_common*
sudo python setup.py install
sudo cp /usr/share/tripleo-common/sudoers /etc/sudoers.d/tripleo-common
sudo systemctl restart openstack-mistral-executor
sudo systemctl restart openstack-mistral-engine
# this loads the actions via entrypoints
sudo mistral-db-manage populate
# make sure the new actions got loaded
mistral action-list | grep tripleo

Validations

Prerequisites

If you haven't installed the undercloud with the enable_validations set to true, you will have to prepare your undercloud to run the validations:

$ sudo pip install git+https://git.openstack.org/openstack/tripleo-validations
$ sudo yum install ansible
$ sudo useradd validations

Finally you need to generate an SSH keypair for the validation user and copy it to the overcloud's authorized_keys files:

$ mistral execution-create tripleo.validations.v1.copy_ssh_key

Running validations using the mistral workflow

Create a context.json file containing the arguments passed to the workflow:

{
  "validation_names": ["512e", "rabbitmq-limits"]
}

Run the tripleo.validations.v1.run_validations workflow with mistral client:

mistral execution-create tripleo.validations.v1.run_validations context.json

Running groups of validations

Create a context.json file containing the arguments passed to the workflow:

{
  "group_names": ["network", "post-deployment"]
}

Run the tripleo.validations.v1.run_groups workflow with mistral client:

mistral execution-create tripleo.validations.v1.run_groups context.json