Fail if action plan cannot be execute

Previous to this change, most of the scenario tests where
skipping the action plan execution if not Recommended action
plan was created. Strategy tests should always generate a
recommended action plan, to evaluate that actions are being
properly created.

Related-Bug: #2122430

Change-Id: Ib73a868cc287cb34fbb4864c2e0fbd098af2c905
Signed-off-by: Douglas Viroel <viroel@gmail.com>
This commit is contained in:
Douglas Viroel
2025-09-10 08:56:07 -03:00
parent 10dc953872
commit c32012d6dd
10 changed files with 18 additions and 50 deletions

View File

@@ -82,9 +82,6 @@ class TestExecuteBasicStrategy(base.BaseInfraOptimScenarioTest):
action_plan, _ = self.get_action_plan_and_validate_actions(
audit['uuid'], ['migrate', 'change_nova_service_state'])
if action_plan['state'] in ('SUPERSEDED', 'SUCCEEDED'):
# This means the action plan is superseded so we cannot trigger it,
# or it is empty.
return
self.assertEqual("RECOMMENDED", action_plan['state'])
self.execute_action_plan_and_validate_states(action_plan['uuid'])

View File

@@ -56,9 +56,6 @@ class TestExecuteDummyStrategy(base.BaseInfraOptimScenarioTest):
self.assertEqual(2, action_counter.get("nop"))
self.assertEqual(1, action_counter.get("sleep"))
if action_plan['state'] in ('SUPERSEDED', 'SUCCEEDED'):
# This means the action plan is superseded so we cannot trigger it,
# or it is empty.
return
self.assertEqual("RECOMMENDED", action_plan['state'])
self.execute_action_plan_and_validate_states(action_plan['uuid'])

View File

@@ -70,8 +70,7 @@ class TestExecuteHostMaintenanceStrategy(base.BaseInfraOptimScenarioTest):
action_plan, _ = self.get_action_plan_and_validate_actions(
audit['uuid'], ['change_nova_service_state', 'migrate'])
if action_plan['state'] in ('SUPERSEDED', 'SUCCEEDED'):
return
self.assertEqual("RECOMMENDED", action_plan['state'])
self.execute_action_plan_and_validate_states(action_plan['uuid'])
@@ -104,8 +103,7 @@ class TestExecuteHostMaintenanceStrategy(base.BaseInfraOptimScenarioTest):
action_plan, _ = self.get_action_plan_and_validate_actions(
audit['uuid'], ['change_nova_service_state', 'migrate'])
if action_plan['state'] in ('SUPERSEDED', 'SUCCEEDED'):
return
self.assertEqual("RECOMMENDED", action_plan['state'])
self.execute_action_plan_and_validate_states(action_plan['uuid'])

View File

@@ -68,10 +68,7 @@ class TestExecuteNodeResourceConsolidationStrategy(
action_plan, _ = self.get_action_plan_and_validate_actions(
audit['uuid'], ['change_nova_service_state', 'migrate'])
if action_plan['state'] in ('SUPERSEDED', 'SUCCEEDED'):
# This means the action plan is superseded so we cannot trigger it,
# or it is empty.
return
self.assertEqual("RECOMMENDED", action_plan['state'])
self.execute_action_plan_and_validate_states(action_plan['uuid'])
@@ -100,9 +97,6 @@ class TestExecuteNodeResourceConsolidationStrategy(
action_plan, _ = self.get_action_plan_and_validate_actions(
audit['uuid'], ['migrate'])
if action_plan['state'] in ('SUPERSEDED', 'SUCCEEDED'):
# This means the action plan is superseded so we cannot trigger it,
# or it is empty.
return
self.assertEqual("RECOMMENDED", action_plan['state'])
self.execute_action_plan_and_validate_states(action_plan['uuid'])

View File

@@ -63,7 +63,6 @@ class TestExecuteStorageCapacityBalanceStrategy(
action_plan, _ = self.get_action_plan_and_validate_actions(
audit['uuid'])
if action_plan['state'] in ('SUPERSEDED', 'SUCCEEDED'):
return
self.assertEqual("RECOMMENDED", action_plan['state'])
self.execute_action_plan_and_validate_states(action_plan['uuid'])

View File

@@ -97,8 +97,7 @@ class TestRealExecuteStrategies(base.BaseInfraOptimScenarioTest):
action_plan, _ = self.get_action_plan_and_validate_actions(
audit['uuid'], ['migrate'])
if action_plan['state'] in ('SUPERSEDED', 'SUCCEEDED'):
return
self.assertEqual("RECOMMENDED", action_plan['state'])
self.execute_action_plan_and_validate_states(action_plan['uuid'])
@@ -144,8 +143,7 @@ class TestRealExecuteStrategies(base.BaseInfraOptimScenarioTest):
action_plan, _ = self.get_action_plan_and_validate_actions(
audit['uuid'], ['migrate'])
if action_plan['state'] in ('SUPERSEDED', 'SUCCEEDED'):
return
self.assertEqual("RECOMMENDED", action_plan['state'])
self.execute_action_plan_and_validate_states(action_plan['uuid'])
@@ -189,7 +187,6 @@ class TestRealExecuteStrategies(base.BaseInfraOptimScenarioTest):
action_plan, _ = self.get_action_plan_and_validate_actions(
audit['uuid'], ['migrate'])
if action_plan['state'] in ('SUPERSEDED', 'SUCCEEDED'):
return
self.assertEqual("RECOMMENDED", action_plan['state'])
self.execute_action_plan_and_validate_states(action_plan['uuid'])

View File

@@ -86,9 +86,6 @@ class TestExecuteVmWorkloadBalanceStrategy(base.BaseInfraOptimScenarioTest):
action_plan, _ = self.get_action_plan_and_validate_actions(
audit['uuid'], ['change_nova_service_state', 'migrate'])
if action_plan['state'] in ('SUPERSEDED', 'SUCCEEDED'):
# This means the action plan is superseded so we cannot trigger it,
# or it is empty.
return
self.assertEqual("RECOMMENDED", action_plan['state'])
self.execute_action_plan_and_validate_states(action_plan['uuid'])

View File

@@ -87,8 +87,7 @@ class TestExecuteWorkloadBalanceStrategy(base.BaseInfraOptimScenarioTest):
action_plan, _ = self.get_action_plan_and_validate_actions(
audit['uuid'], ['migrate'])
if action_plan['state'] in ('SUPERSEDED', 'SUCCEEDED'):
return
self.assertEqual("RECOMMENDED", action_plan['state'])
self.execute_action_plan_and_validate_states(action_plan['uuid'])
@@ -133,7 +132,6 @@ class TestExecuteWorkloadBalanceStrategy(base.BaseInfraOptimScenarioTest):
action_plan, _ = self.get_action_plan_and_validate_actions(
audit['uuid'], ['migrate'])
if action_plan['state'] in ('SUPERSEDED', 'SUCCEEDED'):
return
self.assertEqual("RECOMMENDED", action_plan['state'])
self.execute_action_plan_and_validate_states(action_plan['uuid'])

View File

@@ -78,10 +78,7 @@ class TestExecuteWorkloadStabilizationStrategy(
action_plan, _ = self.get_action_plan_and_validate_actions(
audit['uuid'], expected_action_types=['migrate'])
if action_plan['state'] in ('SUPERSEDED', 'SUCCEEDED'):
# This means the action plan is superseded so we cannot trigger it,
# or it is empty.
return
self.assertEqual("RECOMMENDED", action_plan['state'])
self.execute_action_plan_and_validate_states(action_plan['uuid'])
@@ -119,9 +116,6 @@ class TestExecuteWorkloadStabilizationStrategy(
action_plan, _ = self.get_action_plan_and_validate_actions(
audit['uuid'], expected_action_types=['migrate'])
if action_plan['state'] in ('SUPERSEDED', 'SUCCEEDED'):
# This means the action plan is superseded so we cannot trigger it,
# or it is empty.
return
self.assertEqual("RECOMMENDED", action_plan['state'])
self.execute_action_plan_and_validate_states(action_plan['uuid'])

View File

@@ -74,8 +74,7 @@ class TestExecuteZoneMigrationStrategy(TestZoneMigrationStrategyBase):
action_plan, _ = self.get_action_plan_and_validate_actions(
audit['uuid'], ['migrate'])
if action_plan['state'] in ('SUPERSEDED', 'SUCCEEDED'):
return
self.assertEqual("RECOMMENDED", action_plan['state'])
self.execute_action_plan_and_validate_states(action_plan['uuid'])
@@ -105,8 +104,7 @@ class TestExecuteZoneMigrationStrategy(TestZoneMigrationStrategyBase):
action_plan, _ = self.get_action_plan_and_validate_actions(
audit['uuid'], ['migrate'])
if action_plan['state'] in ('SUPERSEDED', 'SUCCEEDED'):
return
self.assertEqual("RECOMMENDED", action_plan['state'])
self.execute_action_plan_and_validate_states(action_plan['uuid'])
@@ -184,8 +182,7 @@ class TestExecuteZoneMigrationStrategyVolume(TestZoneMigrationStrategyBase):
action_plan, _ = self.get_action_plan_and_validate_actions(
audit['uuid'], ['volume_migrate'])
if action_plan['state'] in ('SUPERSEDED', 'SUCCEEDED'):
return
self.assertEqual("RECOMMENDED", action_plan['state'])
self.execute_action_plan_and_validate_states(action_plan['uuid'])