RETIRED, Heat templates for deploying OpenStack
Go to file
Michele Baldessari bdf742d05f 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
2019-08-05 09:55:46 +02:00
ci Merge "Restore scenario001 default templates" 2019-07-24 19:00:51 +00:00
common Set selinux type for facter.conf 2019-07-25 15:21:04 -06:00
container_config_scripts Move nova cell v2 discovery to deploy_steps_tasks 2019-07-02 17:24:27 +02:00
deployed-server Merge "Add dashboard component as new ceph composable service." 2019-07-20 14:04:15 +00:00
deployment Fix pcmk remote podman bundle restarts 2019-08-05 09:55:46 +02:00
environments Merge "Correct jinja loop logic for role_networks" 2019-07-27 03:51:02 +00:00
extraconfig Merge "Move instanceha into scripts" 2019-07-19 14:57:55 +00:00
firstboot Try a timesync as part of first boot 2019-05-20 21:34:50 +00:00
network Correct jinja loop logic for role_networks 2019-07-25 14:48:51 -05:00
plan-samples Role specific derive parameters workflow parameter 2018-06-28 08:10:27 -04:00
puppet Remove support for Cisco N1KV 2019-07-21 18:58:53 -04:00
releasenotes Merge "Add the ability to configure ovn-remote-probe-interval" 2019-07-29 09:05:39 +00:00
roles Add ssh configuration for minion 2019-07-25 14:00:21 -06:00
sample-env-generator Merge "Remove support for Midonet plugin" 2019-07-21 03:22:19 +00:00
scripts Move instanceha into scripts 2019-07-18 19:13:08 +00:00
tools Merge "Add dashboard component as new ceph composable service." 2019-07-20 14:04:15 +00: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-19 10:01:41 -06:00
zuul.d Remove extraconfig/services directory 2019-07-18 14:44:14 -04:00
.gitignore Remove mac_hostname & random_string 2019-07-18 19:10:31 +00:00
.gitreview OpenDev Migration Patch 2019-04-19 19:34:55 +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 Replace git.openstack.org URLs with opendev.org URLs 2019-06-26 02:43:46 +00: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 Remove support for Cisco N1KV 2019-07-21 18:58:53 -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 Drop EC2MetadataIp parameter and its uses 2019-07-05 14:05:59 +02:00
net-config-bridge.j2.yaml Drop EC2MetadataIp parameter and its uses 2019-07-05 14:05:59 +02:00
net-config-linux-bridge.j2.yaml Drop EC2MetadataIp parameter and its uses 2019-07-05 14:05:59 +02:00
net-config-noop.j2.yaml Drop EC2MetadataIp parameter and its uses 2019-07-05 14:05:59 +02:00
net-config-standalone.j2.yaml Drop EC2MetadataIp parameter and its uses 2019-07-05 14:05:59 +02:00
net-config-static-bridge-with-external-dhcp.j2.yaml Drop EC2MetadataIp parameter and its uses 2019-07-05 14:05:59 +02:00
net-config-static-bridge.j2.yaml Drop EC2MetadataIp parameter and its uses 2019-07-05 14:05:59 +02:00
net-config-static.j2.yaml Drop EC2MetadataIp parameter and its uses 2019-07-05 14:05:59 +02:00
net-config-undercloud.j2.yaml Drop EC2MetadataIp parameter and its uses 2019-07-05 14:05:59 +02: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 Merge "Rsyslog composable service" 2019-07-24 18:02:58 +00:00
overcloud.j2.yaml Remove support for Cisco N1KV 2019-07-21 18:58:53 -04: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 Merge "Rsyslog composable service" 2019-07-24 18:02:58 +00:00
roles_data_undercloud.yaml Make Multipathd an optional service 2019-06-24 07:15:37 -07: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-requirements.txt Update hacking version 2018-12-31 17:42:10 +00:00
tox.ini Replace git.openstack.org URLs with opendev.org URLs 2019-06-26 02:43:46 +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