Actually start the systemd services in step3 of the major-upgrade step
authorMichele Baldessari <michele@acksyn.org>
Mon, 10 Oct 2016 19:18:26 +0000 (21:18 +0200)
committerMichele Baldessari <michele@acksyn.org>
Mon, 10 Oct 2016 19:18:26 +0000 (21:18 +0200)
We have the following function in the upgrade process after we updated
the packages and called the db-sync commands:
services=$(services_to_migrate)
...
for service in $(services); do
    manage_systemd_service start "${service%%-clone}"
    check_resource_systemd "${service%%-clone}" started 600
done

The above is broken because $services contains a list of services to
start, so $(services) will return gibberish and the for loop will never
execute anything.

One of the symptoms for this is the openstack-nova-compute service not
restarting on the compute nodes during the yum -y upgrade. The reason
for this is that during the service restart, nova-compute waits for
nova-conductor to show up in the rabbitmq queues, which cannot happen
since the service was actually never started.

Change-Id: I811ff19d7b44a935b2ec5c5e66e5b5191b259eb3
Closes-Bug: #1630580

extraconfig/tasks/major_upgrade_controller_pacemaker_3.sh

index 49c045b..b653c7c 100755 (executable)
@@ -20,7 +20,7 @@ services=$(services_to_migrate)
 if [[ ${keep_sahara_services_on_upgrade} =~ [Ff]alse ]] ; then
     services=${services%%openstack-sahara*}
 fi
-for service in $(services); do
+for service in $services; do
     manage_systemd_service start "${service%%-clone}"
     check_resource_systemd "${service%%-clone}" started 600
 done