RETIRED, Heat templates for deploying OpenStack
Go to file
Michele Baldessari e20d02a8b6 Fix pcmk remote podman bundle restarts
We blindly bind mount /etc/corosync/corosync.conf from the host to the
container as that is required by pcs when running on pacemaker nodes
when using pcs 0.9/pcmk 1.x.

When running on a pacemaker remote node, this will actually barf on it
because that file does not exist on a remote node:

        "stderr: error checking path \"/etc/corosync/corosync.conf\": stat /etc/corosync/corosync.conf: no such file or directory",

This is not an issue with docker because docker simply creates non
existing host bind mount points.
So we should not bind mount this when we run podman because podman and
HA only works on RHEL/CentOS 8 and it is not required there.

Tested this on an Stein deployment with RHEL8 as OS and I correctly
get a composable HA environment using pacemaker remote:
overcloud-database-0    (ocf::pacemaker:remote):        Started overcloud-controller-0
overcloud-database-1    (ocf::pacemaker:remote):        Started overcloud-controller-1
overcloud-database-2    (ocf::pacemaker:remote):        Started overcloud-controller-2
overcloud-messaging-0   (ocf::pacemaker:remote):        Started overcloud-controller-0
overcloud-messaging-1   (ocf::pacemaker:remote):        Started overcloud-controller-1
overcloud-messaging-2   (ocf::pacemaker:remote):        Started overcloud-controller-2
 podman container set: galera-bundle [192.168.24.1:8787/rhosp15/openstack-mariadb:pcmklatest]
   galera-bundle-0      (ocf:💓galera):        Master overcloud-database-0
   galera-bundle-1      (ocf:💓galera):        Master overcloud-database-1
   galera-bundle-2      (ocf:💓galera):        Master overcloud-database-2
 podman container set: redis-bundle [192.168.24.1:8787/rhosp15/openstack-redis:pcmklatest]
   redis-bundle-0       (ocf:💓redis): Master overcloud-controller-0
   redis-bundle-1       (ocf:💓redis): Slave overcloud-controller-1
   redis-bundle-2       (ocf:💓redis): Slave overcloud-controller-2
 podman container set: rabbitmq-bundle [192.168.24.1:8787/rhosp15/openstack-rabbitmq:pcmklatest]
   rabbitmq-bundle-0    (ocf:💓rabbitmq-cluster):      Started overcloud-messaging-0
   rabbitmq-bundle-1    (ocf:💓rabbitmq-cluster):      Started overcloud-messaging-1
   rabbitmq-bundle-2    (ocf:💓rabbitmq-cluster):      Started overcloud-messaging-2
ip-192.168.24.12        (ocf:💓IPaddr2):       Started overcloud-controller-0
ip-10.0.0.106   (ocf:💓IPaddr2):       Started overcloud-controller-1
ip-172.17.1.68  (ocf:💓IPaddr2):       Started overcloud-controller-2
ip-172.17.1.89  (ocf:💓IPaddr2):       Started overcloud-controller-0
ip-172.17.3.23  (ocf:💓IPaddr2):       Started overcloud-controller-1
ip-172.17.4.41  (ocf:💓IPaddr2):       Started overcloud-controller-2
 podman container set: haproxy-bundle [192.168.24.1:8787/rhosp15/openstack-haproxy:pcmklatest]
   haproxy-bundle-podman-0      (ocf:💓podman):        Started overcloud-controller-0
   haproxy-bundle-podman-1      (ocf:💓podman):        Started overcloud-controller-1
   haproxy-bundle-podman-2      (ocf:💓podman):        Started overcloud-controller-2
 podman container set: ovn-dbs-bundle [192.168.24.1:8787/rhosp15/openstack-ovn-northd:pcmklatest]
   ovn-dbs-bundle-0     (ocf::ovn:ovndb-servers):       Master overcloud-controller-0
   ovn-dbs-bundle-1     (ocf::ovn:ovndb-servers):       Slave overcloud-controller-1
   ovn-dbs-bundle-2     (ocf::ovn:ovndb-servers):       Slave overcloud-controller-2
stonith-fence_ipmilan-5254008aa119      (stonith:fence_ipmilan):        Started overcloud-controller-0
stonith-fence_ipmilan-5254003d74a4      (stonith:fence_ipmilan):        Started overcloud-controller-0
stonith-fence_ipmilan-525400092968      (stonith:fence_ipmilan):        Started overcloud-controller-1
stonith-fence_ipmilan-525400439c7e      (stonith:fence_ipmilan):        Started overcloud-controller-0
stonith-fence_ipmilan-5254002beafa      (stonith:fence_ipmilan):        Started overcloud-controller-2
stonith-fence_ipmilan-525400bbb6cb      (stonith:fence_ipmilan):        Started overcloud-controller-1
stonith-fence_ipmilan-5254001b9a8f      (stonith:fence_ipmilan):        Started overcloud-controller-2
stonith-fence_ipmilan-525400367613      (stonith:fence_ipmilan):        Started overcloud-controller-1
stonith-fence_ipmilan-525400150f28      (stonith:fence_ipmilan):        Started overcloud-controller-2
 podman container: openstack-cinder-volume [192.168.24.1:8787/rhosp15/openstack-cinder-volume:pcmklatest]
   openstack-cinder-volume-podman-0     (ocf:💓podman):        Started overcloud-controller-0

Closes-Bug: #1838279

Change-Id: I399098bf734aa3b2862e1713d4b1f429d180afbc
(cherry picked from commit bdf742d05f)
2019-08-07 16:08:59 +00:00
ci CI should auto-generate server_certs_key_passphrase 2019-07-28 08:28:51 +00:00
common Move the Hiera symlink task from post configuration to deployment steps. 2019-07-31 08:35:21 -04:00
container_config_scripts Move nova cell v2 discovery to deploy_steps_tasks 2019-07-09 09:08:59 +02:00
deployed-server Use timesync service 2019-05-07 13:52:17 +00:00
deployment Fix pcmk remote podman bundle restarts 2019-08-07 16:08:59 +00:00
environments Merge "Correct jinja loop logic for role_networks" into stable/stein 2019-07-30 18:55:47 +00:00
extraconfig Move the Hiera symlink task from post configuration to deployment steps. 2019-07-31 08:35:21 -04:00
firstboot Try a timesync as part of first boot 2019-05-22 15:39:18 +00:00
network Correct jinja loop logic for role_networks 2019-07-27 16:34:10 +00:00
plan-samples Role specific derive parameters workflow parameter 2018-06-28 08:10:27 -04:00
puppet Stop services for unupgraded controllers 2019-07-16 15:24:04 +02:00
releasenotes Enable VFIO module on boot for SR-IOV deployments 2019-07-30 09:43:00 +02:00
roles Make nova ephemeral storage backend configurable per-role 2019-07-29 15:59:20 +01:00
sample-env-generator Fix ssl.yaml generating GaneshaInternal in the endpoint map 2019-06-05 06:07:08 +00:00
scripts [Templates] Use str_replace for hosts. 2018-11-12 16:33:27 +01:00
tools Make nova ephemeral storage backend configurable per-role 2019-07-29 15:59:20 +01:00
tripleo_heat_templates Merge "Trim whitespace in multi-line env descriptions" 2019-04-16 05:28:25 +00:00
validation-scripts Make comparisons case insensitive 2019-06-26 08:03:27 -06:00
zuul.d Add stein periodic job not in template 2019-07-09 20:15:19 +03:00
.gitignore Remove developer tools from tripleo .gitignore 2018-11-06 14:40:19 +02:00
.gitreview Update .gitreview for stable/stein 2019-05-01 14:51:47 +00:00
.testr.conf Improve nova statedir ownership logic 2018-07-09 17:07:30 +01:00
LICENSE Add license file 2014-01-20 11:58:20 +01:00
README.rst Remove Congress 2019-02-28 16:29:03 -05:00
all-nodes-validation.yaml Optional ICMP validation of controllers and gateways 2019-01-28 17:18:27 +00:00
babel.cfg Add release configuration. 2013-10-22 17:49:35 +01:00
bindep.txt Use https instead of http for docs links 2018-12-03 03:29:26 -08:00
capabilities-map.yaml Move Aide to deployments 2019-03-28 08:24:40 -04:00
config-download-software.yaml Change template names to rocky 2018-05-09 08:28:42 +02:00
config-download-structured.yaml Change template names to rocky 2018-05-09 08:28:42 +02:00
default_passwords.yaml Change template names to rocky 2018-05-09 08:28:42 +02:00
hosts-config.yaml [Templates] Use str_replace for hosts. 2018-11-12 16:33:27 +01:00
j2_excludes.yaml Remove ipv6 specific network templates 2017-08-31 13:12:17 -07:00
lower-constraints.txt Enable paunch logging to its full extent 2019-03-22 11:42:12 +01:00
net-config-bond.j2.yaml Add ability to specify dns search domains 2019-05-23 20:31:34 +00:00
net-config-bridge.j2.yaml Add {{network.name}}NetworkVlanID to THT/net-config-* 2019-04-09 23:04:58 +02:00
net-config-linux-bridge.j2.yaml Add {{network.name}}NetworkVlanID to THT/net-config-* 2019-04-09 23:04:58 +02:00
net-config-noop.j2.yaml Add {{network.name}}NetworkVlanID to THT/net-config-* 2019-04-09 23:04:58 +02:00
net-config-standalone.j2.yaml Add ability to specify dns search domains 2019-05-23 20:31:34 +00:00
net-config-static-bridge-with-external-dhcp.j2.yaml Add {{network.name}}NetworkVlanID to THT/net-config-* 2019-04-09 23:04:58 +02:00
net-config-static-bridge.j2.yaml Add ability to specify dns search domains 2019-05-23 20:31:34 +00:00
net-config-static.j2.yaml Add ability to specify dns search domains 2019-05-23 20:31:34 +00:00
net-config-undercloud.j2.yaml Add ability to specify dns search domains 2019-05-23 20:31:34 +00:00
network_data.yaml Add external_resource_vip_id property to network_data.yaml 2019-03-25 10:48:40 -04:00
network_data_ganesha.yaml Merge "Allow overlay tunnel endpoints on IPv6 address" 2019-01-10 21:13:19 +00:00
network_data_openshift.yaml Add network data for use with openshift deployments 2018-11-05 09:42:10 +01: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
overcloud-resource-registry-puppet.j2.yaml Try a timesync as part of first boot 2019-05-22 15:39:18 +00:00
overcloud.j2.yaml Remove os-collect-config related poperties and attributes 2019-06-20 16:27:21 +00:00
plan-environment.yaml Add name and description fields to plan-environment.yaml 2017-04-12 17:25:40 +02:00
requirements.txt Enable paunch logging to its full extent 2019-03-22 11:42:12 +01:00
roles_data.yaml Force ansible serial to 1 for the Controller 2019-06-12 14:56:40 +00:00
roles_data_undercloud.yaml Install and configure tmpwatch for log cleanup 2019-03-11 16:33:22 +01:00
setup.cfg [Core] Change openstack-dev to openstack-discuss. 2018-12-04 12:07:33 +01:00
setup.py Updated from global requirements 2017-03-28 13:03:01 +00:00
test-requirements.txt Update hacking version 2018-12-31 17:42:10 +00:00
tox.ini Update UPPER_CONSTRAINTS_FILE for stable/stein 2019-05-01 14:51:54 +00:00

README.rst

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 non-ha ovh-ha
openshift

X

keystone

X

X

X

X

X

X

X

X

X

X

glance

rbd

swift

file

rgw

file

file

rbd

file

file

cinder

rbd

iscsi
heat

X

X

ironic

X

mysql

X

X

X

X

X

X

X

X

X

X

neutron

ovn

ovn

ovn

ovn

ovn

ovs

ovn

ovn

ovn

neutron-bgpvpn

wip

ovn

X

neutron-l2gw

wip

om-rpc rabbit rabbit

amqp1

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

X

X

haproxy

X

X

X

X

X

X

X

X

X

memcached

X

X

X

X

X

X

X

X

X

pacemaker

X

X

X

X

X

X

X

X

X

nova

qemu

qemu

qemu

qemu

ironic

qemu

qemu

qemu

qemu

ntp

X

X

X

X

X

X

X

X

X

X

X

snmp

X

X

X

X

X

X

X

X

X

X

X

timezone

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

panko

X

X

barbican

X

zaqar

X

ec2api

X

cephrgw

X

tacker

X

cephmds

X

manila

X

collectd

X

fluentd

X

sensu-client

X

designate

X

octavia

X