puppet-tripleo/manifests/profile/base
Michele Baldessari 4db9d1531a Enforce firewall rules before pacemaker-auth
We want to make sure that any firewall rule set to open pacemaker ports
is executed before we run any commands that invoke pcs to
authenticate remote nodes.

It simply makes sense from a high-level POV to explicitely open
up firewall rules before we invoke pcs commands that will talk to
remote nodes.

I have actually seen one case in the wild where during a scaleup
the node being scaled up was waiting on Exec['wait-for-settle']
and the bootstrap node failed to contact pcs on the scaled up node
because there the firewall rules were never opened up as it was
waiting on the 'wait-for-settle' step.

Note that we *cannot* impose the ordering via a too-generic
Firewall<||> collector because in tripleo::firewall we have

    Service<||> -> Class['tripleo::firewall::post']

and we would create a circular dependency.

Tested a queens deploy with this change and we are correctly
guaranteed to open up firewalling before invoking pcs:
Mar 05 16:22:51 controller-0. puppet-user[18840]: (/Stage[main]/Tripleo::Firewall/Tripleo::Firewall::Service_rules[swift_storage]/Tripleo::Firewall::Rule[123 swift storage]/Firewall[123 swift storage ipv4]/ensure) created
Mar 05 16:22:52 controller-0. puppet-user[18840]: (/Stage[main]/Tripleo::Firewall/Tripleo::Firewall::Service_rules[swift_storage]/Tripleo::Firewall::Rule[123 swift storage]/Firewall[123 swift storage ipv6]/ensure) created
Mar 05 16:22:52 controller-0. puppet-user[18840]: (/Stage[main]/Tripleo::Firewall/Tripleo::Firewall::Service_rules[tripleo_firewall]/Tripleo::Firewall::Rule[003 accept ssh from any]/Firewall[003 accept ssh from any ipv4]/ensure) created
Mar 05 16:22:52 controller-0. puppet-user[18840]: (/Stage[main]/Tripleo::Firewall/Tripleo::Firewall::Service_rules[tripleo_firewall]/Tripleo::Firewall::Rule[003 accept ssh from any]/Firewall[003 accept ssh from any ipv6]/ensure) created
Mar 05 16:22:52 controller-0. puppet-user[18840]: (Exec[reauthenticate-across-all-nodes](provider=posix)) Executing '/sbin/pcs cluster auth controller-0 controller-1 controller-2 database-0 database-1 database-2 messaging-0 messaging-1 messag
ing-2 -u hacluster -p foobar --force'
Mar 05 16:22:52 controller-0. puppet-user[18840]: Executing: '/sbin/pcs cluster auth controller-0 controller-1 controller-2 database-0 database-1 database-2 messaging-0 messaging-1 messaging-2 -u hacluster -p AQtEeE6e3FDEqrfm --force'
Mar 05 16:22:55 controller-0. puppet-user[18840]: (Exec[Create Cluster tripleo_cluster](provider=posix)) Executing '/sbin/pcs cluster setup --wait --name tripleo_cluster controller-0 controller-1 controller-2 database-0 database-1 database-2
messaging-0 messaging-1 messaging-2 --token 10000 --encryption 1'
Mar 05 16:22:55 controller-0. puppet-user[18840]: Executing: '/sbin/pcs cluster setup --wait --name tripleo_cluster controller-0 controller-1 controller-2 database-0 database-1 database-2 messaging-0 messaging-1 messaging-2 --token 10000 --en
cryption 1'
Mar 05 16:23:20 controller-0. puppet-user[18840]: (Exec[Start Cluster tripleo_cluster](provider=posix)) Executing check '/sbin/pcs status >/dev/null 2>&1'
Mar 05 16:23:20 controller-0. puppet-user[18840]: Executing: '/sbin/pcs status >/dev/null 2>&1'
Mar 05 16:23:21 controller-0. puppet-user[18840]: (Exec[Start Cluster tripleo_cluster](provider=posix)) Executing '/sbin/pcs cluster start --all'
Mar 05 16:23:21 controller-0. puppet-user[18840]: Executing: '/sbin/pcs cluster start --all'

Change-Id: I775ad1abf87368d013054e9a5dab22931f21f86c
Closes-Bug: #1866209
(cherry picked from commit 88e119d747)
2020-03-07 14:10:31 +00:00
..
aodh Use memcached for token caching in authtoken for telemetry services 2019-09-11 00:11:22 +09:00
barbican Use memcached for token caching in barbican authtoken 2019-09-11 12:51:25 +09:00
ceilometer Make pipeline config more flexible 2020-02-07 17:09:57 +01:00
cinder Add keystone_resources_managed option to the cinder api class 2020-02-10 14:20:51 +00:00
database Remove Tacker service 2019-09-16 13:13:34 -06:00
designate Fix designate db instantation 2018-11-09 14:30:31 +01:00
glance Add support for glance multistore 2020-02-27 06:00:27 -08:00
gnocchi Use memcached for token caching in authtoken for telemetry services 2019-09-11 00:11:22 +09:00
heat Use memcached for token caching in heat authtoken 2019-09-08 23:25:39 +09:00
ironic Fix missing PXE directories for Conductor 2019-10-03 09:47:57 +02:00
ironic_inspector Use memcached for token caching in ironic authtoken 2019-09-10 23:01:40 +09:00
logging Don't use defined 2020-02-10 10:40:56 +00:00
manila Use memcached for token caching in manila authtoken 2019-09-21 23:30:39 +09:00
metrics Enable sudo rule creation 2020-02-21 12:00:58 +01:00
mistral Replace bootstrap_nodeid with SERVICE_short_bootstrap_node_name 2018-10-12 10:14:48 +00:00
monitoring Sensu-client deprecation 2019-01-14 16:06:49 +01:00
neutron Remove neutron wrappers 2020-02-10 17:16:38 -05:00
nova Revert "Replace hiera('service_names') by hiera('enabled_services')" 2019-12-11 18:42:10 +00:00
octavia Add octavia::nova to Octavia services 2019-12-20 11:31:15 +00:00
pacemaker Allow the IHA OCF and fencing resource to be moved to the nova service user 2019-10-11 22:18:43 +02:00
panko Use memcached for token caching in authtoken for telemetry services 2019-09-11 00:11:22 +09:00
placement placement: Initial extraction of the Placement service from Nova 2019-03-27 13:10:06 +01:00
rsyslog Add profile to configure the rsyslog sidecar container 2017-11-13 13:39:44 +00:00
sahara Replace bootstrap_nodeid with SERVICE_short_bootstrap_node_name 2018-10-12 10:14:48 +00:00
swift Add missing base apache configs when internal TLS 2019-08-01 17:10:04 +02:00
time Remove ntp 2019-05-03 12:07:16 -06:00
trove Replace bootstrap_nodeid with SERVICE_short_bootstrap_node_name 2018-10-12 10:14:48 +00:00
aodh.pp Add explicit logging class inclusion 2018-12-17 14:49:44 -07:00
apache.pp Add noop service provider and use it for httpd 2019-08-13 14:56:17 +02:00
auditd.pp Ensure hiera step value is an integer 2017-06-14 14:31:52 +12:00
barbican.pp Ensure hiera step value is an integer 2017-06-14 14:31:52 +12:00
ceilometer.pp Make pipeline config more flexible 2020-02-07 17:09:57 +01:00
certmonger_user.pp Change the name of the HAProxy service to reflict the new name 2020-01-28 06:33:02 +00:00
cinder.pp Enable service token in nova and cinder 2019-07-12 16:51:45 +09:00
designate.pp Add explicit logging class inclusion 2018-12-17 14:49:44 -07:00
etcd.pp Use validate_legacy 2019-02-25 22:51:07 +01:00
gnocchi.pp Deprecate warnings for Ceilometer and Gnocchi 2019-03-11 11:43:53 +01:00
haproxy.pp Prevent haproxy to run iptables during docker-puppet configuration 2017-07-27 18:59:30 +00:00
heat.pp Fix wrong comment about heat_enable_db_purge 2019-09-16 11:21:45 +09:00
horizon.pp Load python3 mod_wsgi for fedora/rhel8 2019-01-25 09:45:55 -07:00
ironic.pp Add explicit logging class inclusion 2018-12-17 14:49:44 -07:00
ironic_inspector.pp Use memcached for token caching in ironic authtoken 2019-09-10 23:01:40 +09:00
iscsid.pp Refactor iscsi initiator-name reset into separate profile 2017-07-11 20:38:35 +01:00
keepalived.pp Ensure hiera step value is an integer 2017-06-14 14:31:52 +12:00
kernel.pp Add ability to install kernel related packages 2019-08-14 13:27:37 -06:00
keystone.pp keystone: add a new parameter 'keystone_resources_managed' 2020-02-13 20:48:05 +00:00
login_defs.pp Introduces puppet module for `/etc/login.defs` 2017-11-22 11:09:08 +00:00
lvm.pp Allow disabling udev usage by LVM 2017-06-27 15:34:59 +02:00
manila.pp Add explicit logging class inclusion 2018-12-17 14:49:44 -07:00
memcached.pp Prevent systemd unit files to be created to restart services 2019-01-06 10:38:49 +01:00
mistral.pp Add explicit logging class inclusion 2018-12-17 14:49:44 -07:00
neutron.pp Remove neutron wrappers 2020-02-10 17:16:38 -05:00
nova.pp Enable service token in nova and cinder 2019-07-12 16:51:45 +09:00
novajoin.pp Support separate oslo.messaging services for RPC and Notifications 2018-03-20 12:55:02 -04:00
octavia.pp Add explicit logging class inclusion 2018-12-17 14:49:44 -07:00
pacemaker.pp Enforce firewall rules before pacemaker-auth 2020-03-07 14:10:31 +00:00
pacemaker_remote.pp Fix typo in remote pcsd_bind_addr 2020-02-04 05:39:54 +00:00
panko.pp Add explicit logging class inclusion 2018-12-17 14:49:44 -07:00
placement.pp placement: Initial extraction of the Placement service from Nova 2019-03-27 13:10:06 +01:00
qdr.pp Add log enable to control module generation 2018-07-09 12:55:17 -04:00
rabbitmq.pp Clean up a few FIXME 2019-08-06 20:43:22 -04:00
sahara.pp Add explicit logging class inclusion 2018-12-17 14:49:44 -07:00
securetty.pp Use validate_legacy 2019-02-25 22:51:07 +01:00
snmp.pp Merge "Use validate_legacy" 2019-04-26 03:21:54 +00:00
sshd.pp ssh: allow to configure PasswordAuthentication 2018-06-01 20:39:02 -07:00
validations.pp Add validations profile for tripleo 2016-09-12 17:39:50 +02:00
vpp.pp Ensure hiera step value is an integer 2017-06-14 14:31:52 +12:00
zaqar.pp Clean up a few FIXME 2019-08-06 20:43:22 -04:00