From 92d080d55098ab0ec0dd320a77fd0e247ecd3d08 Mon Sep 17 00:00:00 2001 From: Oleg Gelbukh Date: Mon, 23 Nov 2015 22:18:50 +0000 Subject: [PATCH] Use node util functions to manage upgrade_levels Replace upgrade_levels set logic with call to node util function 'add_compute_upgrade_levels'. Add 'remove_compute_upgrade_levels' operation for every node to 'cleanup' command. Closes-bug: 1506041 Change-Id: Iae6223c5b4b0ba78519f76cb86aba2c9e1b90517 (cherry picked from commit 9acebae050b87629e5e4840bb8c36812877fc249) --- octane/commands/cleanup.py | 5 +++++ octane/handlers/upgrade/compute.py | 12 ++++-------- octane/handlers/upgrade/controller.py | 11 +++++------ 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/octane/commands/cleanup.py b/octane/commands/cleanup.py index f8bd2d11..6eb7bf58 100644 --- a/octane/commands/cleanup.py +++ b/octane/commands/cleanup.py @@ -18,6 +18,7 @@ from fuelclient import objects from octane import magic_consts from octane.util import env as env_util +from octane.util import node as node_util from octane.util import ssh LOG = logging.getLogger(__name__) @@ -26,6 +27,10 @@ LOG = logging.getLogger(__name__) def cleanup_environment(env_id): env = objects.Environment(env_id) + nodes = env.get_all_nodes() + for node in nodes: + node_util.remove_compute_upgrade_levels(node) + controller = env_util.get_one_controller(env) sftp = ssh.sftp(controller) admin_pass = env_util.get_admin_password(env, controller) diff --git a/octane/handlers/upgrade/compute.py b/octane/handlers/upgrade/compute.py index 1e283a4f..6208806d 100644 --- a/octane/handlers/upgrade/compute.py +++ b/octane/handlers/upgrade/compute.py @@ -58,14 +58,10 @@ class ComputeUpgrade(upgrade.UpgradeHandler): node=controller, ) - sftp = ssh.sftp(self.node) - - if self.orig_env.data["fuel_version"] == "6.1": - with ssh.update_file(sftp, '/etc/nova/nova.conf') as (old, new): - for line in old: - new.write(line) - if line.startswith("[upgrade_levels]"): - new.write("compute=juno\n") + orig_version = self.orig_env.data["fuel_version"] + if orig_version == "6.1": + openstack_release = magic_consts.VERSIONS[orig_version] + node_util.add_compute_upgrade_levels(self.node, openstack_release) ssh.call(["service", "nova-compute", "restart"], node=self.node) diff --git a/octane/handlers/upgrade/controller.py b/octane/handlers/upgrade/controller.py index f34aa02c..3acb0339 100644 --- a/octane/handlers/upgrade/controller.py +++ b/octane/handlers/upgrade/controller.py @@ -21,6 +21,7 @@ from octane.helpers import tasks as tasks_helpers from octane.helpers import transformations from octane import magic_consts from octane.util import env as env_util +from octane.util import node as node_util from octane.util import ssh LOG = logging.getLogger(__name__) @@ -90,12 +91,10 @@ class ControllerUpgrade(upgrade.UpgradeHandler): self.service_tenant_id)) else: new.write(line) - if self.orig_env.data["fuel_version"] == "6.1": - with ssh.update_file(sftp, '/etc/nova/nova.conf') as (old, new): - for line in old: - new.write(line) - if line.startswith("[upgrade_levels]"): - new.write("compute=juno\n") + orig_version = self.orig_env.data["fuel_version"] + if orig_version == "6.1": + openstack_release = magic_consts.VERSIONS[orig_version] + node_util.add_compute_upgrade_levels(self.node, openstack_release) nova_services = ssh.call_output( ["bash", "-c",