RETIRED, Heat templates for deploying OpenStack
Go to file
Michele Baldessari fd508d1cab Guarantee that ovn-dbs-pcmk update_tasks are run when the cluster is up
On particular role compositions, the code joining the update_tasks might order
things differently then on a typical 3ctrl control plane and the ovn-dbs tasks
at step1 (which require the cluster to be up) will happen after the pacemaker
task at step1 which stops the cluster.

So we can observe something like the following:
2021-09-10 10:05:13.370339 | 001c2891-506d-f833-ff5a-000000000954 | TASK | Change the bundle operation timeout
2021-09-10 10:05:14.136798 | 001c2891-506d-f833-ff5a-000000000954 | CHANGED | Change the bundle operation timeout | ovn-db-01
2021-09-10 10:05:14.137982 | 001c2891-506d-f833-ff5a-000000000954 | TIMING | Change the bundle operation timeout | ovn-db-01 | 0:00:54.808754 | 0.77s
2021-09-10 10:05:14.146853 | 001c2891-506d-f833-ff5a-000000000956 | TASK | Acquire the cluster shutdown lock to stop pacemaker cluster
2021-09-10 10:05:14.508085 | 001c2891-506d-f833-ff5a-000000000956 | CHANGED | Acquire the cluster shutdown lock to stop pacemaker cluster | ovn-db-01
2021-09-10 10:05:14.509257 | 001c2891-506d-f833-ff5a-000000000956 | TIMING | Acquire the cluster shutdown lock to stop pacemaker cluster | ovn-db-01 | 0:00:55.180032 | 0.36s
2021-09-10 10:05:14.518668 | 001c2891-506d-f833-ff5a-000000000957 | TASK | Stop pacemaker cluster
2021-09-10 10:05:18.559627 | 001c2891-506d-f833-ff5a-000000000957 | CHANGED | Stop pacemaker cluster | ovn-db-01

2021-09-10 10:05:18.560561 | 001c2891-506d-f833-ff5a-000000000957 | TIMING | Stop pacemaker cluster | ovn-db-01 | 0:00:59.231336 | 4.04s
2021-09-10 10:05:18.569161 | 001c2891-506d-f833-ff5a-000000000958 | TASK | Start pacemaker cluster
2021-09-10 10:05:18.627924 | 001c2891-506d-f833-ff5a-000000000958 | SKIPPED | Start pacemaker cluster | ovn-db-01
2021-09-10 10:05:18.628678 | 001c2891-506d-f833-ff5a-000000000958 | TIMING | Start pacemaker cluster | ovn-db-01 | 0:00:59.299453 | 0.06s
2021-09-10 10:05:18.637292 | 001c2891-506d-f833-ff5a-000000000959 | TASK | Release the cluster shutdown lock
2021-09-10 10:05:18.694945 | 001c2891-506d-f833-ff5a-000000000959 | SKIPPED | Release the cluster shutdown lock | ovn-db-01
2021-09-10 10:05:18.695717 | 001c2891-506d-f833-ff5a-000000000959 | TIMING | Release the cluster shutdown lock | ovn-db-01 | 0:00:59.366493 | 0.06s
2021-09-10 10:05:18.704368 | 001c2891-506d-f833-ff5a-00000000095a | TASK | Clear ovndb cluster pacemaker error
2021-09-10 10:05:19.368816 | 001c2891-506d-f833-ff5a-00000000095a | FATAL | Clear ovndb cluster pacemaker error | ovn-db-01 | error={"changed": true, "cmd": "pcs resource cleanup ovn-dbs-bundle", "delta": "0:00:00.399084", "end": "2021-09-10 10:05:20
.044985", "msg": "non-zero return code", "rc": 1, "start": "2021-09-10 10:05:19.645901", "stderr": "Error: Unable to forget failed operations of resource: ovn-dbs-bundle\nError connecting to the CIB manager: Transport endpoint is not connected\nError perf
orming operation: Transport endpoint is not connected", "stderr_lines": ["Error: Unable to forget failed operations of resource: ovn-dbs-bundle", "Error connecting to the CIB manager: Transport endpoint is not connected", "Error performing operation: Tran
sport endpoint is not connected"], "stdout": "", "stdout_lines": []}

We cannot call pcs resource cleanup at step1, we must call it at step0 so we're
guaranteed that the cluster is up, no matter how heat/ansible decide to order
the update_tasks.

Note: This is the short-term less-invasive fix. The mid-long term fix
should be around verifying that we can now remove those workarounds
that were implemented for OVN bugs.

Closes-Bug: #1943254
Change-Id: Idd827f72c0033978db7b9a8ea6acec2086cda961
(cherry picked from commit ff3173bdcf)
(cherry picked from commit 9cab0d721a)
2021-09-14 11:43:48 +00:00
ci Configure Ceph to not use separte db/wal LVs 2021-08-12 10:32:04 -04:00
common Merge "Restore PreNetworkConfig resources" into stable/victoria 2021-05-17 18:49:22 +00:00
container_config_scripts HA minor update: fix bad pcs invocation 2021-06-12 13:42:43 +00:00
deployed-server Make UpgradeLeappDevelSkip per-role 2021-06-16 09:43:11 +00:00
deployment Guarantee that ovn-dbs-pcmk update_tasks are run when the cluster is up 2021-09-14 11:43:48 +00:00
environments Merge "Revert "Disable postcopy for ovn/ovs-dpdk"" into stable/victoria 2021-09-07 20:59:34 +00:00
extraconfig Set dns_name propery on ports and networks 2020-04-03 08:57:38 +02:00
firstboot os-net-config-mappings move out of firsboot 2020-09-07 13:26:08 +00:00
network Fix the CephDashboardNetwork default 2021-09-09 13:40:06 +02:00
plan-samples Merge "Update plan-sample to reference new interface" 2020-09-19 00:07:13 +00:00
puppet Make UpgradeLeappDevelSkip per-role 2021-06-16 09:43:11 +00:00
releasenotes OVN DBs clustering 2021-08-11 15:55:22 +02:00
roles Add OVNCMSOptions to Controller and Networker roles 2021-06-07 01:28:14 +00:00
sample-env-generator Deprecate environments/dcn-hci.yaml for dcn-storage.yaml 2021-01-31 22:01:12 +00:00
scripts Fix typos 2020-09-16 15:45:12 +05:30
tools Add tags to THT network resources 2021-05-19 19:25:04 +02:00
tripleo_heat_templates Fix typos 2020-09-16 15:45:12 +05:30
zuul.d Wire up renamed upgrade periodic template 2021-07-27 18:27:09 +03:00
.gitignore Remove mac_hostname & random_string 2019-07-18 19:10:31 +00:00
.gitreview Update .gitreview for stable/victoria 2020-10-30 15:51:34 +00:00
.testr.conf Improve nova statedir ownership logic 2018-07-09 17:07:30 +01:00
babel.cfg Add release configuration. 2013-10-22 17:49:35 +01:00
bindep.txt include gcc,python36-devel in bindep, for tests 2020-10-03 19:24:53 +10:00
config-download-software.yaml Don't use POLL_SERVER_CFN transport for DeployedServer 2020-10-17 10:21:11 +05:30
config-download-structured.yaml Don't use POLL_SERVER_CFN transport for DeployedServer 2020-10-17 10:21:11 +05:30
default_passwords.yaml Change template names to rocky 2018-05-09 08:28:42 +02:00
j2_excludes.yaml Remove ipv6 specific network templates 2017-08-31 13:12:17 -07:00
LICENSE Add license file 2014-01-20 11:58:20 +01:00
net-config-bond.j2.yaml Replace bridge_name and interface_name in config 2020-09-24 09:22:59 +05:30
net-config-bridge.j2.yaml Replace bridge_name and interface_name in config 2020-09-24 09:22:59 +05:30
net-config-linux-bridge.j2.yaml Replace bridge_name and interface_name in config 2020-09-24 09:22:59 +05:30
net-config-noop.j2.yaml Network config with ansible for ci jobs using multi-nics 2020-10-02 12:23:17 +05:30
net-config-standalone.j2.yaml Create NetworkConfig per-role in overcloud.yaml 2020-09-29 14:13:51 +02:00
net-config-static-bridge-with-external-dhcp.j2.yaml Replace bridge_name and interface_name in config 2020-09-24 09:22:59 +05:30
net-config-static-bridge.j2.yaml Replace bridge_name and interface_name in config 2020-09-24 09:22:59 +05:30
net-config-static.j2.yaml Replace bridge_name and interface_name in config 2020-09-24 09:22:59 +05:30
net-config-undercloud.j2.yaml Create NetworkConfig per-role in overcloud.yaml 2020-09-29 14:13:51 +02:00
network_data_dashboard.yaml Add a StorageDashboard network used by CephGrafana service 2019-08-30 19:16:47 +02:00
network_data_ganesha.yaml Use appropriate allocation pools for StorageNFS 2020-08-26 15:27:52 +00:00
network_data_routed.yaml Merge "Allow overlay tunnel endpoints on IPv6 address" 2019-01-10 21:13:19 +00:00
network_data_subnets_routed.yaml L3 routed networks - data + env (1/3) 2018-12-30 19:24:29 +01:00
network_data_undercloud.yaml Add network data for the undercloud 2019-01-21 19:35:37 +01:00
network_data.yaml Add external_resource_vip_id property to network_data.yaml 2019-03-25 10:48:40 -04:00
overcloud-resource-registry-puppet.j2.yaml Merge "Config parameters for timemaster service" into stable/victoria 2021-05-19 20:05:50 +00:00
overcloud.j2.yaml Add THT Jinja2 data sources as stack output 2021-07-05 07:58:25 +00:00
plan-environment.yaml Add name and description fields to plan-environment.yaml 2017-04-12 17:25:40 +02:00
README.rst Add scenario013: Octavia standalone without Ceph 2020-07-14 08:04:34 +00:00
requirements.txt Deprecate EnablePaunch and remove Paunch support 2020-06-03 17:53:40 +00:00
roles_data_undercloud.yaml Concatenate host_routes and default route in overcloud.yaml 2020-10-04 12:28:22 +02:00
roles_data.yaml Add OVNCMSOptions to Controller and Networker roles 2021-06-07 01:28:14 +00:00
setup.cfg Replace git.openstack.org URLs with opendev.org URLs 2019-06-26 02:43:46 +00:00
setup.py Updated from global requirements 2017-03-28 13:03:01 +00:00
test-ansible-requirements.txt Ansible lint check in THT 2019-10-30 04:56:05 -04:00
test-requirements.txt Fix Flakes and lower-constraints errors 2020-09-10 11:10:54 +02:00
tox.ini Merge "Update TOX_CONSTRAINTS_FILE for stable/victoria" into stable/victoria 2021-03-19 12:21:42 +00:00

Team and repository tags

image

tripleo-heat-templates

Heat templates to deploy OpenStack using OpenStack.

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:

- scn000 scn001 scn002 scn003 scn004 scn006 scn007 scn009 scn010 scn013 non-ha ovh-ha
keystone

X

X

X

X

X

X

X

X

X

X

X

glance

rbd

swift

file

rgw

file

file

rbd

file

file

file

cinder

rbd

iscsi
heat

X

X

ironic

X

mysql

X

X

X

X

X

X

X

X

X

X

X

neutron

ovn

ovn

ovn

ovn

ovn

ovs

ovn

ovn

ovn

ovn

neutron-bgpvpn

wip

ovn

X

neutron-l2gw

wip

om-rpc rabbit rabbit

amqp1

rabbit rabbit rabbit rabbit rabbit rabbit rabbit
om-notify rabbit rabbit rabbit rabbit rabbit rabbit rabbit rabbit rabbit rabbit
redis

X

X

haproxy

X

X

X

X

X

X

X

X

X

X

memcached

X

X

X

X

X

X

X

X

X

X

pacemaker

X

X

X

X

X

X

X

X

X

X

nova

qemu

qemu

qemu

qemu

ironic

qemu

qemu

qemu

qemu

qemu

placement

X

X

X

X

X

X

X

X

X

X

ntp

X

X

X

X

X

X

X

X

X

X

X

X

snmp

X

X

X

X

X

X

X

X

X

X

X

X

timezone

X

X

X

X

X

X

X

X

X

X

X

X

sahara

X

mistral

X

swift

X

aodh

X

X

ceilometer

X

X

gnocchi

rbd

swift

barbican

X

zaqar

X

cephrgw

X

cephmds

X

manila

X

collectd

X

designate

X

octavia

X

X

rear

X

Extra Firewall

X