bdf742d05f
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 |
||
---|---|---|
ci | ||
common | ||
container_config_scripts | ||
deployed-server | ||
deployment | ||
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 | ||
capabilities-map.yaml | ||
config-download-software.yaml | ||
config-download-structured.yaml | ||
default_passwords.yaml | ||
hosts-config.yaml | ||
j2_excludes.yaml | ||
lower-constraints.txt | ||
net-config-bond.j2.yaml | ||
net-config-bridge.j2.yaml | ||
net-config-linux-bridge.j2.yaml | ||
net-config-noop.j2.yaml | ||
net-config-standalone.j2.yaml | ||
net-config-static-bridge-with-external-dhcp.j2.yaml | ||
net-config-static-bridge.j2.yaml | ||
net-config-static.j2.yaml | ||
net-config-undercloud.j2.yaml | ||
network_data.yaml | ||
network_data_ganesha.yaml | ||
network_data_openshift.yaml | ||
network_data_routed.yaml | ||
network_data_subnets_routed.yaml | ||
network_data_undercloud.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: https://opendev.org/openstack/tripleo-heat-templates
- Bugs: https://bugs.launchpad.net/tripleo
- Release notes: https://docs.openstack.org/releasenotes/tripleo-heat-templates/
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 |
|
||||||||||
keystone |
|
|
|
|
|
|
|
|
|
|
|
glance |
|
swift |
|
|
|
|
|
|
|
||
cinder |
|
iscsi | |||||||||
heat |
|
|
|||||||||
ironic |
|
||||||||||
mysql |
|
|
|
|
|
|
|
|
|
|
|
neutron |
|
|
|
|
|
|
|
|
|
||
neutron-bgpvpn |
|
||||||||||
ovn |
|
||||||||||
neutron-l2gw |
|
||||||||||
om-rpc | rabbit | rabbit |
|
rabbit | rabbit | rabbit | rabbit | rabbit | rabbit | ||
om-notify | rabbit | rabbit | rabbit | rabbit | rabbit | rabbit | rabbit | rabbit | rabbit | ||
redis |
|
|
|||||||||
haproxy |
|
|
|
|
|
|
|
|
|
||
memcached |
|
|
|
|
|
|
|
|
|
||
pacemaker |
|
|
|
|
|
|
|
|
|
||
nova |
|
|
|
|
ironic |
|
|
|
|
||
ntp |
|
|
|
|
|
|
|
|
|
|
|
snmp |
|
|
|
|
|
|
|
|
|
|
|
timezone |
|
|
|
|
|
|
|
|
|
|
|
sahara |
|
||||||||||
mistral |
|
||||||||||
swift |
|
||||||||||
aodh |
|
|
|||||||||
ceilometer |
|
|
|||||||||
gnocchi |
|
|
|||||||||
panko |
|
|
|||||||||
barbican |
|
||||||||||
zaqar |
|
||||||||||
ec2api |
|
||||||||||
cephrgw |
|
||||||||||
tacker |
|
||||||||||
cephmds |
|
||||||||||
manila |
|
||||||||||
collectd |
|
||||||||||
fluentd |
|
||||||||||
sensu-client |
|
||||||||||
designate |
|
||||||||||
octavia |
|