blob: b63198db432a47989e30c22a9200c465424e1719 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
#!/bin/bash
# Special pieces of upgrade migration logic go into this
# file. E.g. Pacemaker cluster transitions for existing deployments,
# matching changes to overcloud_controller_pacemaker.pp (Puppet
# handles deployment, this file handles migrations).
#
# This file shouldn't execute any action on its own, all logic should
# be wrapped into bash functions. Upgrade scripts will source this
# file and call the functions defined in this file where appropriate.
#
# The migration functions should be idempotent. If the migration has
# been already applied, it should be possible to call the function
# again without damaging the deployment or failing the upgrade.
function add_missing_openstack_core_constraints {
# The CIBs are saved under /root as they might contain sensitive data
CIB="/root/migration.cib"
CIB_BACKUP="/root/backup.cib"
CIB_PUSH_NEEDED=n
rm -f "$CIB" "$CIB_BACKUP" || /bin/true
pcs cluster cib "$CIB"
cp "$CIB" "$CIB_BACKUP"
if ! pcs -f "$CIB" constraint --full | grep 'start openstack-sahara-api-clone then start openstack-sahara-engine-clone'; then
pcs -f "$CIB" constraint order start openstack-sahara-api-clone then start openstack-sahara-engine-clone
CIB_PUSH_NEEDED=y
fi
if ! pcs -f "$CIB" constraint --full | grep 'start openstack-core-clone then start openstack-ceilometer-notification-clone'; then
pcs -f "$CIB" constraint order start openstack-core-clone then start openstack-ceilometer-notification-clone
CIB_PUSH_NEEDED=y
fi
if ! pcs -f "$CIB" constraint --full | grep 'start openstack-aodh-evaluator-clone then start openstack-aodh-listener-clone'; then
pcs -f "$CIB" constraint order start openstack-aodh-evaluator-clone then start openstack-aodh-listener-clone
CIB_PUSH_NEEDED=y
fi
if pcs -f "$CIB" constraint --full | grep 'start openstack-core-clone then start openstack-heat-api-clone'; then
CID=$(pcs -f "$CIB" constraint --full | grep 'start openstack-core-clone then start openstack-heat-api-clone' | sed -e 's/.*id\://g' -e 's/)//g')
pcs -f "$CIB" constraint remove $CID
CIB_PUSH_NEEDED=y
fi
if [ "$CIB_PUSH_NEEDED" = 'y' ]; then
pcs cluster cib-push "$CIB"
fi
}
function remove_ceilometer_alarm {
if pcs status | grep openstack-ceilometer-alarm; then
# Disable pacemaker resources for ceilometer-alarms
pcs resource disable openstack-ceilometer-alarm-evaluator
check_resource openstack-ceilometer-alarm-evaluator stopped 600
pcs resource delete openstack-ceilometer-alarm-evaluator
pcs resource disable openstack-ceilometer-alarm-notifier
check_resource openstack-ceilometer-alarm-notifier stopped 600
pcs resource delete openstack-ceilometer-alarm-notifier
# remove constraints
pcs constraint remove ceilometer-delay-then-ceilometer-alarm-evaluator-constraint
pcs constraint remove ceilometer-alarm-evaluator-with-ceilometer-delay-colocation
pcs constraint remove ceilometer-alarm-evaluator-then-ceilometer-alarm-notifier-constraint
pcs constraint remove ceilometer-alarm-notifier-with-ceilometer-alarm-evaluator-colocation
pcs constraint remove ceilometer-alarm-notifier-then-ceilometer-notification-constraint
pcs constraint remove ceilometer-notification-with-ceilometer-alarm-notifier-colocation
fi
# uninstall openstack-ceilometer-alarm package
yum -y remove openstack-ceilometer-alarm
}
|