Merge "Remove unused Neutron Agents container"
[apex-tripleo-heat-templates.git] / extraconfig / tasks / major_upgrade_controller_pacemaker_2.sh
1 #!/bin/bash
2
3 set -eu
4
5 cluster_form_timeout=600
6 cluster_settle_timeout=600
7 galera_sync_timeout=600
8
9 if [ "$(hiera -c /etc/puppet/hiera.yaml bootstrap_nodeid)" = "$(facter hostname)" ]; then
10     pcs cluster start --all
11
12     tstart=$(date +%s)
13     while pcs status 2>&1 | grep -E '(cluster is not currently running)|(OFFLINE:)'; do
14         sleep 5
15         tnow=$(date +%s)
16         if (( tnow-tstart > cluster_form_timeout )) ; then
17             echo_error "ERROR: timed out forming the cluster"
18             exit 1
19         fi
20     done
21
22     if ! timeout -k 10 $cluster_settle_timeout crm_resource --wait; then
23         echo_error "ERROR: timed out waiting for cluster to finish transition"
24         exit 1
25     fi
26
27     pcs resource enable galera
28     check_resource galera started 600
29     pcs resource enable mongod
30     check_resource mongod started 600
31
32     tstart=$(date +%s)
33     while ! clustercheck; do
34         sleep 5
35         tnow=$(date +%s)
36         if (( tnow-tstart > galera_sync_timeout )) ; then
37             echo_error "ERROR galera sync timed out"
38             exit 1
39         fi
40     done
41
42     # Run all the db syncs
43     # TODO: check if this can be triggered in puppet and removed from here
44     ceilometer-dbsync --config-file=/etc/ceilometer/ceilometer.conf
45     cinder-manage db sync
46     glance-manage --config-file=/etc/glance/glance-registry.conf db_sync
47     heat-manage --config-file /etc/heat/heat.conf db_sync
48     keystone-manage db_sync
49     neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini upgrade head
50     nova-manage db sync
51
52     pcs resource enable memcached
53     check_resource memcached started 600
54     pcs resource enable rabbitmq
55     check_resource rabbitmq started 600
56     pcs resource enable redis
57     check_resource redis started 600
58     if pcs status | grep openstack-keystone; then
59         pcs resource enable openstack-keystone
60         check_resource openstack-keystone started 1800
61     fi
62     pcs resource enable httpd
63     check_resource httpd started 1800
64 fi
65
66 # Swift isn't controled by heat
67 systemctl_swift start