Fix source_node value in host maintenance strategy migrate action
Fixes the source_node value to use node's hostname instead of node uuid. This bug was seen when reverting a migration that was created by host maintenance strategy. Assisted-By: Cursor (claude-4-sonnet) Closes-Bug: #2122149 Change-Id: I7a0855d41516471970b239067ef9a34d10d72051 Signed-off-by: Douglas Viroel <viroel@gmail.com>
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
---
|
||||
fixes:
|
||||
- |
|
||||
Fixed the source_node parameter value in host maintenance strategy migrate
|
||||
actions to use node hostname instead of node UUID. This bug only appeared
|
||||
during revert of migrate actions, where the revert operation would fail
|
||||
because the migration action expected a hostname for the destination
|
||||
parameter but received a UUID instead.
|
||||
@@ -233,7 +233,7 @@ class HostMaintenance(base.HostMaintenanceBaseStrategy):
|
||||
migration_type = 'cold'
|
||||
|
||||
params = {'migration_type': migration_type,
|
||||
'source_node': src_node.uuid,
|
||||
'source_node': src_node.hostname,
|
||||
'resource_name': instance.name}
|
||||
if des_node:
|
||||
params['destination_node'] = des_node.hostname
|
||||
|
||||
@@ -112,7 +112,7 @@ class TestHostMaintenance(TestBaseStrategy):
|
||||
self.assertEqual(1, len(self.strategy.solution.actions))
|
||||
expected = [{'action_type': 'migrate',
|
||||
'input_parameters': {'destination_node': node_1.hostname,
|
||||
'source_node': node_0.uuid,
|
||||
'source_node': node_0.hostname,
|
||||
'migration_type': 'live',
|
||||
'resource_id': instance_0.uuid,
|
||||
'resource_name': instance_0.name
|
||||
@@ -127,7 +127,7 @@ class TestHostMaintenance(TestBaseStrategy):
|
||||
self.strategy.instance_handle(instance_0, node_0)
|
||||
self.assertEqual(1, len(self.strategy.solution.actions))
|
||||
expected = [{'action_type': 'migrate',
|
||||
'input_parameters': {'source_node': node_0.uuid,
|
||||
'input_parameters': {'source_node': node_0.hostname,
|
||||
'migration_type': 'live',
|
||||
'resource_id': instance_0.uuid,
|
||||
'resource_name': instance_0.name
|
||||
@@ -145,14 +145,14 @@ class TestHostMaintenance(TestBaseStrategy):
|
||||
self.assertEqual(2, len(self.strategy.solution.actions))
|
||||
expected = [{'action_type': 'migrate',
|
||||
'input_parameters': {'destination_node': node_1.hostname,
|
||||
'source_node': node_0.uuid,
|
||||
'source_node': node_0.hostname,
|
||||
'migration_type': 'live',
|
||||
'resource_id': instance_0.uuid,
|
||||
'resource_name': instance_0.name
|
||||
}},
|
||||
{'action_type': 'migrate',
|
||||
'input_parameters': {'destination_node': node_1.hostname,
|
||||
'source_node': node_0.uuid,
|
||||
'source_node': node_0.hostname,
|
||||
'migration_type': 'live',
|
||||
'resource_id': instance_1.uuid,
|
||||
'resource_name': instance_1.name
|
||||
@@ -217,7 +217,7 @@ class TestHostMaintenance(TestBaseStrategy):
|
||||
{'action_type': 'migrate',
|
||||
'input_parameters': {
|
||||
'destination_node': node_3.hostname,
|
||||
'source_node': node_2.uuid,
|
||||
'source_node': node_2.hostname,
|
||||
'migration_type': 'live',
|
||||
'resource_id': instance_4.uuid,
|
||||
'resource_name': instance_4.name}}]
|
||||
@@ -306,7 +306,7 @@ class TestHostMaintenance(TestBaseStrategy):
|
||||
expected = [{'action_type': 'migrate',
|
||||
'input_parameters': {
|
||||
'destination_node': node_1.hostname,
|
||||
'source_node': node_0.uuid,
|
||||
'source_node': node_0.hostname,
|
||||
'migration_type': 'cold',
|
||||
'resource_id': instance_0.uuid,
|
||||
'resource_name': instance_0.name
|
||||
@@ -333,7 +333,7 @@ class TestHostMaintenance(TestBaseStrategy):
|
||||
expected = [{'action_type': 'migrate',
|
||||
'input_parameters': {
|
||||
'destination_node': node_1.hostname,
|
||||
'source_node': node_0.uuid,
|
||||
'source_node': node_0.hostname,
|
||||
'migration_type': 'cold',
|
||||
'resource_id': instance_1.uuid,
|
||||
'resource_name': instance_1.name
|
||||
@@ -359,7 +359,7 @@ class TestHostMaintenance(TestBaseStrategy):
|
||||
expected = [{'action_type': 'migrate',
|
||||
'input_parameters': {
|
||||
'destination_node': node_1.hostname,
|
||||
'source_node': node_0.uuid,
|
||||
'source_node': node_0.hostname,
|
||||
'migration_type': 'live',
|
||||
'resource_id': instance_0.uuid,
|
||||
'resource_name': instance_0.name
|
||||
@@ -403,7 +403,7 @@ class TestHostMaintenance(TestBaseStrategy):
|
||||
expected = [{'action_type': 'migrate',
|
||||
'input_parameters': {
|
||||
'destination_node': node_1.hostname,
|
||||
'source_node': node_0.uuid,
|
||||
'source_node': node_0.hostname,
|
||||
'migration_type': 'live',
|
||||
'resource_id': instance_0.uuid,
|
||||
'resource_name': instance_0.name
|
||||
@@ -429,7 +429,7 @@ class TestHostMaintenance(TestBaseStrategy):
|
||||
expected = [{'action_type': 'migrate',
|
||||
'input_parameters': {
|
||||
'destination_node': node_1.hostname,
|
||||
'source_node': node_0.uuid,
|
||||
'source_node': node_0.hostname,
|
||||
'migration_type': 'cold',
|
||||
'resource_id': instance_1.uuid,
|
||||
'resource_name': instance_1.name
|
||||
@@ -486,7 +486,7 @@ class TestHostMaintenance(TestBaseStrategy):
|
||||
{'action_type': 'migrate',
|
||||
'input_parameters': {
|
||||
'destination_node': node_1.hostname,
|
||||
'source_node': node_0.uuid,
|
||||
'source_node': node_0.hostname,
|
||||
'migration_type': 'cold',
|
||||
'resource_id': instance_0.uuid,
|
||||
'resource_name': instance_0.name
|
||||
@@ -494,7 +494,7 @@ class TestHostMaintenance(TestBaseStrategy):
|
||||
{'action_type': 'migrate',
|
||||
'input_parameters': {
|
||||
'destination_node': node_1.hostname,
|
||||
'source_node': node_0.uuid,
|
||||
'source_node': node_0.hostname,
|
||||
'migration_type': 'cold',
|
||||
'resource_id': instance_1.uuid,
|
||||
'resource_name': instance_1.name
|
||||
@@ -645,13 +645,13 @@ class TestHostMaintenance(TestBaseStrategy):
|
||||
'disabled_reason': 'watcher_maintaining'}},
|
||||
{'action_type': 'migrate',
|
||||
'input_parameters': {
|
||||
'source_node': node_0.uuid,
|
||||
'source_node': node_0.hostname,
|
||||
'migration_type': 'live',
|
||||
'resource_id': instance_0.uuid,
|
||||
'resource_name': instance_0.name}},
|
||||
{'action_type': 'migrate',
|
||||
'input_parameters': {
|
||||
'source_node': node_0.uuid,
|
||||
'source_node': node_0.hostname,
|
||||
'migration_type': 'live',
|
||||
'resource_id': instance_1.uuid,
|
||||
'resource_name': instance_1.name}}
|
||||
|
||||
Reference in New Issue
Block a user