Set forcefully upgrade_levels after deploy-changes

Appropriate upgrade_levels have to be set after each deploy-changes for
controller and compute nodes because they are cleared. It have to be
solved using advanced configuration feature.

Change-Id: Idbe13e58d2ae0787620211ba0300150ed4e82f39
Partial-Bug: #1624341
This commit is contained in:
Ilya Kharin 2016-09-21 17:43:00 +03:00
parent b71daaec85
commit 14be38cd7f
5 changed files with 11 additions and 15 deletions

View File

@ -92,7 +92,9 @@ def upgrade_node(env_id, node_ids, isolated=False, provision=True, roles=None,
else:
env_util.deploy_changes(env, nodes)
call_handlers('postdeploy')
env_util.set_upgrade_levels_for_controllers(env)
# TODO(akscram): The upgrade_levels parameters have to be handled by the
# advanced configuration feature for OpenStack services (openstack-config).
env_util.set_upgrade_levels(env)
def copy_patches_folder_to_nailgun():

View File

@ -55,12 +55,6 @@ class ComputeUpgrade(upgrade.UpgradeHandler):
["nova", "service-enable", call_host, "nova-compute"],
controller, False)
seed_version = self.env.data["fuel_version"]
openstack_release = nova.get_upgrade_levels(seed_version)
node_util.add_compute_upgrade_levels(self.node, openstack_release)
ssh.call(["service", "nova-compute", "restart"], node=self.node)
def evacuate_host(self):
controller = env_util.get_one_controller(self.env)

View File

@ -350,19 +350,20 @@ def test_util_env(mocker, api, modified, nodes):
env.get_default_facts.assert_called_once_with('deployment', nodes=nodes)
def test_set_upgrade_levels_for_controllers(mocker):
def test_set_upgrade_levels(mocker):
env = mock.Mock(data={"fuel_version": "9.1"})
node = mock.Mock()
mock_get_levels = mocker.patch("octane.util.nova.get_upgrade_levels")
mock_get_levels.return_value = "liberty"
mock_get_conts = mocker.patch("octane.util.env.get_controllers")
mock_get_conts.return_value = [node]
mock_get_nodes = mocker.patch("octane.util.env.get_nodes")
mock_get_nodes.return_value = [node]
mock_add = mocker.patch("octane.util.node.add_compute_upgrade_levels")
mock_restart = mocker.patch("octane.util.node.restart_nova_services")
env_util.set_upgrade_levels_for_controllers(env)
env_util.set_upgrade_levels(env)
mock_get_levels.assert_called_once_with("9.1")
mock_add.assert_called_once_with(node, "liberty")
mock_restart.assert_called_once_with(node)
mock_get_nodes.assert_called_once_with(env, ["controller", "compute"])

View File

@ -76,8 +76,7 @@ def test_upgrade_node(mocker, node_ids, isolated, provision, roles,
mock_deploy_nodes = mocker.patch(
"octane.util.env.deploy_nodes_without_tasks"
)
mock_upgrade_levels = mocker.patch(
"octane.util.env.set_upgrade_levels_for_controllers")
mock_upgrade_levels = mocker.patch("octane.util.env.set_upgrade_levels")
mock_deploy_changes = mocker.patch("octane.util.env.deploy_changes")
mock_check_isolation = mocker.patch(
"octane.commands.upgrade_node.check_isolation")

View File

@ -416,9 +416,9 @@ def get_generated(env_id):
'clusters/{0}/generated'.format(env_id))
def set_upgrade_levels_for_controllers(env):
def set_upgrade_levels(env):
version = env.data["fuel_version"]
openstack_release = nova.get_upgrade_levels(version)
for node in get_controllers(env):
for node in get_nodes(env, ["controller", "compute"]):
node_util.add_compute_upgrade_levels(node, openstack_release)
node_util.restart_nova_services(node)