
The ansible "failed_when" filter that uses a registered output of a previous task piped to the '|failed' filter does not work as expected. Given the following playbook: - name: return code shell: | echo "fail 2" exit 2 failed_when: false log_when: false register: outputs - debug: msg: "rc: {{ outputs.rc }}" - debug: msg="Broken (does not fail as expected)" when: outputs is defined failed_when: outputs|failed - debug: msg="Working (fails as expected)" when: outputs is defined failed_when: outputs.rc != 0 We obtain the following output: TASK [return code] **** changed: [localhost] TASK [debug] ********** ok: [localhost] => { "msg": "rc: 2" } TASK [debug] ********** ok: [localhost] => { "failed_when_result": false, "msg": "Broken (does not fail as expected)" } TASK [debug] ********** fatal: [localhost]: FAILED! => { "failed_when_result": true, "msg": "Working (fails as expected)" } This means that the 'outputs|failed' just does not work at all. Let's move to a more explicit check on the rc code of the registered variable. We also need to fix all the "outputs is defined" checks, because when a task is skipped the registered outputs variable *is* actually defined as the following dictionary: {'skip_reason': u'Conditional result was False', 'skipped': True, 'changed': False} So we use "outputs.rc is defined" in order to make sure that the previous task did indeed run. Closes-Bug: #1733402 Change-Id: I6ef53dc3f9aede42f10c7f110d24722355481261
Team and repository tags
tripleo-heat-templates
Heat templates to deploy OpenStack using OpenStack.
- Free software: Apache License (2.0)
- Documentation: https://docs.openstack.org/tripleo-docs/latest/
- Source: http://git.openstack.org/cgit/openstack/tripleo-heat-templates
- Bugs: https://bugs.launchpad.net/tripleo
Features
The ability to deploy a multi-node, role based OpenStack deployment using OpenStack Heat. Notable features include:
- Choice of deployment/configuration tooling: puppet, (soon) docker
- Role based deployment: roles for the controller, compute, ceph, swift, and cinder storage
- physical network configuration: support for isolated networks, bonding, and standard ctlplane networking
Directories
A description of the directory layout in TripleO Heat Templates.
- environments: contains heat environment files that can be used with -e
on the command like to enable features, etc.
- extraconfig: templates used to enable 'extra' functionality. Includes
functionality for distro specific registration and upgrades.
- firstboot: example first_boot scripts that can be used when initially
creating instances.
- network: heat templates to help create isolated networks and ports
- puppet: templates mostly driven by configuration with puppet. To use these
templates you can use the overcloud-resource-registry-puppet.yaml.
- validation-scripts: validation scripts useful to all deployment
configurations
- roles: example roles that can be used with the tripleoclient to generate
a roles_data.yaml for a deployment See the roles/README.rst for additional details.
Service testing matrix
The configuration for the CI scenarios will be defined in tripleo-heat-templates/ci/ and should be executed according to the following table:
+----------------+-------------+-------------+-------------+-------------+-----------------++-------------+ | - | scenario001 | scenario002 | scenario003 | scenario004 | multinode-nonha | scenario007 | +================+=============+=============+=============+=============+=================+==============+ | keystone | X | X | X | X | X | X | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | glance | rbd | swift | file | swift + rbd | swift | file | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | cinder | rbd | iscsi | | | iscsi | | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | heat | X | X | X | X | X | X | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | mysql | X | X | X | X | X | X | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | neutron | ovs | ovs | ovs | ovs | X | ovn | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | neutron-bgpvpn | | | | X | | | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | ovn | | | | | | X | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | neutron-l2gw | | | | X | | | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | rabbitmq | X | X | X | X | X | X | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | mongodb | X | X | | | | | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | redis | X | | | | | | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | haproxy | X | X | X | X | X | X | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | keepalived | X | X | X | X | X | X | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | memcached | X | X | X | X | X | X | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | pacemaker | X | X | X | X | X | X | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | nova | qemu | qemu | qemu | qemu | X | qemu | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | ntp | X | X | X | X | X | X | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | snmp | X | X | X | X | X | X | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | timezone | X | X | X | X | X | X | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | sahara | | | X | | | X | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | mistral | | | X | | | X | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | swift | | X | | | X | | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | aodh | X | X | | | | | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | ceilometer | X | X | | | | | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | gnocchi | rbd | swift | | | | | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | panko | X | X | | | | | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | barbican | | X | | | | | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | zaqar | | X | | | | | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | ec2api | | X | | | | | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | cephrgw | | | | X | | | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | tacker | X | | | | | | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | congress | X | | | | | | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | cephmds | | | | X | | | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | manila | | | | X | | | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | collectd | X | | | | | | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | fluentd | X | | | | | | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+ | sensu-client | X | | | | | | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+