config/puppet-manifests/src/modules/platform/manifests
Don Penney c138575062 Ceph initialization on AIO is done only in 'controller' manifests
On AIO deployments puppet is run twice with two different manifests:
1. 'controller': to configure controller services
2. 'worker': to configure worker services.

Ceph is configured when 'controller' manifests are applied, there is
no need to run them a second time, when 'worker' set is applied.

Commit adds new puppet classes to encapsulate ceph configuration
based on node personality and adds a check to not apply it a 2nd
time on controllers.

If the ceph manifests are executed a second time then we get into
a racing issue between SM's process monitoring and 'worker' puppet
manifests triggering a restart of ceph-mon as part of reconfiguration

After a reboot on AIO, SM takes control of ceph-mon monitoring
after 'controller' puppet manifests finish applying. As part of this,
SM monitors processes death notification and gets the pid from the
.pid file. And periodically executes '/etc/init.d/ceph status
mon.controller' for a more advanced monitoring.

When the 'worker' manifests are executed, they trigger a restart
of ceph-mon through /etc/init.d/ceph restart that has two steps: 'stop'
in which ceph-mon is stopped, and 'start' in which it is restarted.

In the first step, stopping ceph-mon leads to the death of ceph-mon
process and removal of its PID file. This is promptly detected by
SM which immediately triggers a start of ceph-mon that creates a
new pid file. Problem is that ceph-mon was already in a restart,
and at the end of the 'stop' step the init script cleans up the
new pid file instead of the old.

This leads to controllers swacting a couple of times before the system
gets rid of the rogue process.

Change-Id: I2a0df3bab716a553e71e322e1515bee2bb2f700d
Co-authored-by: Ovidiu Poncea <ovidiu.poncea@windriver.com>
Story: 2002844
Task: 29214
Signed-off-by: Ovidiu Poncea <ovidiu.poncea@windriver.com>
2019-02-10 21:22:41 +02:00
..
amqp.pp Fix puppet-lint warnings and errors 2018-12-27 15:08:37 -06:00
anchors.pp Fix puppet-lint warnings and errors 2018-12-27 15:08:37 -06:00
ceph.pp Ceph initialization on AIO is done only in 'controller' manifests 2019-02-10 21:22:41 +02:00
client.pp Fix puppet-lint warnings and errors 2018-12-27 15:08:37 -06:00
collectd.pp Make collectd startup dependent on networking Anchor 2019-01-03 19:58:30 +00:00
compute.pp Enable configurable vswitch memory 2019-01-22 14:08:48 -05:00
config.pp Configurable Host HTTP/HTTPS Port Binding 2019-02-06 12:47:00 -06:00
dcmanager.pp Fix puppet-lint warnings and errors 2018-12-27 15:08:37 -06:00
dcorch.pp Fix puppet-lint warnings and errors 2018-12-27 15:08:37 -06:00
devices.pp Fix puppet-lint warnings and errors 2018-12-27 15:08:37 -06:00
dhclient.pp Fix puppet-lint warnings and errors 2018-12-27 15:08:37 -06:00
dns.pp Ensure puppet dns config done after networking config 2019-01-28 13:17:00 -06:00
docker.pp Add docker proxy configuration for kubernetes 2019-01-30 17:23:17 +08:00
dockerdistribution.pp Fix puppet-lint warnings and errors 2018-12-27 15:08:37 -06:00
drbd.pp Fix additional puppet-lint warnings and errors 2018-12-27 16:23:13 -06:00
etcd.pp Fix puppet-lint warnings and errors 2018-12-27 15:08:37 -06:00
exports.pp Fix puppet-lint warnings and errors 2018-12-27 15:08:37 -06:00
filesystem.pp Create docker-lv in the automatically created ctgs-vg volume group 2019-01-07 20:03:07 -05:00
firewall.pp Initial firewall config causes temporary packet loss 2019-02-05 15:20:47 +00:00
fm.pp Fix puppet-lint warnings and errors 2018-12-27 15:08:37 -06:00
fstab.pp Fix puppet-lint warnings and errors 2018-12-27 15:08:37 -06:00
grub.pp Fix puppet-lint warnings and errors 2018-12-27 15:08:37 -06:00
haproxy.pp Configurable Host HTTP/HTTPS Port Binding 2019-02-06 12:47:00 -06:00
helm.pp Configurable Host HTTP/HTTPS Port Binding 2019-02-06 12:47:00 -06:00
influxdb.pp Make collectd startup dependent on networking Anchor 2019-01-03 19:58:30 +00:00
kubernetes.pp Trigger application reapply on host unlock/delete 2019-01-31 15:29:23 -05:00
ldap.pp Fix puppet-lint warnings and errors 2018-12-27 15:08:37 -06:00
lldp.pp Fix puppet-lint warnings and errors 2018-12-27 15:08:37 -06:00
lvm.pp Create docker-lv in the automatically created ctgs-vg volume group 2019-01-07 20:03:07 -05:00
memcached.pp Fix additional puppet-lint warnings and errors 2018-12-27 16:23:13 -06:00
mtce.pp Fix mtce.pp to handle missing /etc/rmonfiles.d directory 2019-01-14 20:40:15 +00:00
multipath.pp Fix puppet-lint warnings and errors 2018-12-27 15:08:37 -06:00
network.pp Kubernetes Cluster Network Configuration 2019-01-09 12:41:25 -05:00
nfv.pp Fix puppet-lint warnings and errors 2018-12-27 15:08:37 -06:00
ntp.pp Fix additional puppet-lint warnings and errors 2018-12-27 16:23:13 -06:00
params.pp Fix additional puppet-lint warnings and errors 2018-12-27 16:23:13 -06:00
partitions.pp Fix puppet-lint warnings and errors 2018-12-27 15:08:37 -06:00
password.pp Fix puppet-lint warnings and errors 2018-12-27 15:08:37 -06:00
patching.pp Configurable Host HTTP/HTTPS Port Binding 2019-02-06 12:47:00 -06:00
postgresql.pp Fix puppet-lint warnings and errors 2018-12-27 15:08:37 -06:00
ptp.pp Fix puppet-lint warnings and errors 2018-12-27 15:08:37 -06:00
remotelogging.pp Fix additional puppet-lint warnings and errors 2018-12-27 16:23:13 -06:00
scratch.pp StarlingX open source release updates 2018-05-31 07:35:52 -07:00
sm.pp SM monitors cluster-host floating IP 2019-01-17 11:37:25 -05:00
smapi.pp Fix puppet-lint warnings and errors 2018-12-27 15:08:37 -06:00
snmp.pp Fix puppet-lint warnings and errors 2018-12-27 15:08:37 -06:00
sysctl.pp Set bridge-nf-call-arptables 2019-01-11 13:13:12 -05:00
sysinv.pp Fix puppet-lint warnings and errors 2018-12-27 15:08:37 -06:00
users.pp Fix puppet-lint warnings and errors 2018-12-27 15:08:37 -06:00
vswitch.pp Enable configurable vswitch memory 2019-01-22 14:08:48 -05:00