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
This commit is contained in:
Oleg Gelbukh 2015-10-20 11:22:12 +00:00
parent 7cfa6da2b2
commit 6b0a7649cf
1 changed files with 10 additions and 2 deletions

View File

@ -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):