Merge "Move rabbit's clustering port away from the ephemeral port range"
[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=1800
7 galera_sync_timeout=600
8
9 if [[ -n $(is_bootstrap_node) ]]; 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     for vip in $(pcs resource show | grep ocf::heartbeat:IPaddr2 | grep Stopped | awk '{ print $1 }'); do
28       pcs resource enable $vip
29       check_resource_pacemaker $vip started 60
30     done
31 fi
32
33 start_or_enable_service galera
34 check_resource galera started 600
35 start_or_enable_service mongod
36 check_resource mongod started 600
37
38 if [[ -n $(is_bootstrap_node) ]]; then
39     tstart=$(date +%s)
40     while ! clustercheck; do
41         sleep 5
42         tnow=$(date +%s)
43         if (( tnow-tstart > galera_sync_timeout )) ; then
44             echo_error "ERROR galera sync timed out"
45             exit 1
46         fi
47     done
48
49     # Run all the db syncs
50     # TODO: check if this can be triggered in puppet and removed from here
51     ceilometer-dbsync --config-file=/etc/ceilometer/ceilometer.conf
52     cinder-manage db sync
53     glance-manage --config-file=/etc/glance/glance-registry.conf db_sync
54     heat-manage --config-file /etc/heat/heat.conf db_sync
55     keystone-manage db_sync
56     neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini upgrade head
57     nova-manage db sync
58     #TODO(marios):someone from sahara needs to check this:
59     # sahara-db-manage --config-file /etc/sahara/sahara.conf upgrade head
60 fi
61
62 start_or_enable_service memcached
63 check_resource memcached started 600
64 start_or_enable_service rabbitmq
65 check_resource rabbitmq started 600
66 start_or_enable_service redis
67 check_resource redis started 600
68 start_or_enable_service httpd
69 check_resource httpd started 1800
70
71 # Swift isn't controled by pacemaker
72 systemctl_swift start