From 6b0a7649cfcf546ffe410e62aaaaf72bec9e5c2d Mon Sep 17 00:00:00 2001 From: Oleg Gelbukh Date: Tue, 20 Oct 2015 11:22:12 +0000 Subject: [PATCH] Stop corosync in upgrade seed during control plane switch Stop corosync cluster before switching to upgraded control plane. Start corosync cluster once switch is complete. Don't stop cluster if there is only one controller in seed environment. Closes-bug: 1506398 Change-Id: Ie5684155899675ce1c35636d9e892d399e41b790 --- octane/commands/upgrade_controlplane.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/octane/commands/upgrade_controlplane.py b/octane/commands/upgrade_controlplane.py index 1edf6289..3c54280b 100644 --- a/octane/commands/upgrade_controlplane.py +++ b/octane/commands/upgrade_controlplane.py @@ -31,10 +31,14 @@ def update_neutron_config(orig_env, seed_env): def upgrade_control_plane(orig_id, seed_id): orig_env = environment_obj.Environment(orig_id) seed_env = environment_obj.Environment(seed_id) + controllers = list(env_util.get_controllers(seed_env)) update_neutron_config(orig_env, seed_env) # enable all services on seed env - maintenance.start_corosync_services(seed_env) - maintenance.start_upstart_services(seed_env) + if len(controllers) > 1: + maintenance.stop_cluster(seed_env) + else: + maintenance.start_corosync_services(seed_env) + maintenance.start_upstart_services(seed_env) # disable cluster services on orig env maintenance.stop_cluster(orig_env) # switch networks to seed env @@ -46,6 +50,10 @@ def upgrade_control_plane(orig_id, seed_id): for node, info in env_util.iter_deployment_info(seed_env, roles): network.delete_overlay_networks(node, info) network.create_patch_ports(node, info) + # enable all services on seed env + if len(controllers) > 1: + maintenance.start_cluster(seed_env) + maintenance.start_upstart_services(seed_env) class UpgradeControlPlaneCommand(cmd.Command):