ed2b957a4f
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 |
||
---|---|---|
ci | ||
common | ||
deployed-server | ||
docker | ||
environments | ||
extraconfig | ||
firstboot | ||
network | ||
plan-samples | ||
puppet | ||
releasenotes | ||
roles | ||
sample-env-generator | ||
scripts | ||
tools | ||
tripleo_heat_templates | ||
validation-scripts | ||
zuul.d | ||
.gitignore | ||
.gitreview | ||
.testr.conf | ||
LICENSE | ||
README.rst | ||
all-nodes-validation.yaml | ||
babel.cfg | ||
bindep.txt | ||
bootstrap-config.yaml | ||
capabilities-map.yaml | ||
config-download-software.yaml | ||
config-download-structured.yaml | ||
default_passwords.yaml | ||
hosts-config.yaml | ||
j2_excludes.yaml | ||
net-config-bond.yaml | ||
net-config-bridge.yaml | ||
net-config-linux-bridge.yaml | ||
net-config-noop.yaml | ||
net-config-static-bridge-with-external-dhcp.yaml | ||
net-config-static-bridge.yaml | ||
net-config-static.yaml | ||
net-config-undercloud.yaml | ||
network_data.yaml | ||
overcloud-resource-registry-puppet.j2.yaml | ||
overcloud.j2.yaml | ||
plan-environment.yaml | ||
requirements.txt | ||
roles_data.yaml | ||
roles_data_undercloud.yaml | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
README.rst
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 | | | | | | +----------------+-------------+-------------+-------------+-------------+-----------------+--------------+