compute: rename ResizeClaim to MoveClaim
We will introduce claiming for live-migrate and evacuate operations, and the claiming logic is really the same for all of those (we will create different Migration object though, but this is unrelated to claims). Make sure that the Claim subclass name reflects this fact. In addition rename a method on the resource tracker for dropping such claims to 'drop_move_claim' to match. Related-blueprint: migration-fix-resource-tracking Change-Id: I9872f05174f9f79e755a8ac2585ce9a14760b26a
This commit is contained in:
parent
f0aea070e7
commit
d2bbee1718
|
@ -259,18 +259,19 @@ class Claim(NopClaim):
|
|||
'requested': requested})
|
||||
|
||||
|
||||
class ResizeClaim(Claim):
|
||||
"""Claim used for holding resources for an incoming resize/migration
|
||||
operation.
|
||||
class MoveClaim(Claim):
|
||||
"""Claim used for holding resources for an incoming move operation.
|
||||
|
||||
Move can be either a migrate/resize, live-migrate or an evacuate operation.
|
||||
"""
|
||||
def __init__(self, context, instance, instance_type, image_meta, tracker,
|
||||
resources, overhead=None, limits=None):
|
||||
self.context = context
|
||||
self.instance_type = instance_type
|
||||
self.image_meta = image_meta
|
||||
super(ResizeClaim, self).__init__(context, instance, tracker,
|
||||
resources, overhead=overhead,
|
||||
limits=limits)
|
||||
super(MoveClaim, self).__init__(context, instance, tracker,
|
||||
resources, overhead=overhead,
|
||||
limits=limits)
|
||||
self.migration = None
|
||||
|
||||
@property
|
||||
|
@ -306,7 +307,7 @@ class ResizeClaim(Claim):
|
|||
been aborted.
|
||||
"""
|
||||
LOG.debug("Aborting claim: %s" % self, instance=self.instance)
|
||||
self.tracker.drop_resize_claim(
|
||||
self.tracker.drop_move_claim(
|
||||
self.context,
|
||||
self.instance, instance_type=self.instance_type,
|
||||
image_meta=self.image_meta)
|
||||
|
|
|
@ -3279,7 +3279,7 @@ class ComputeManager(manager.Manager):
|
|||
migration.save()
|
||||
|
||||
rt = self._get_resource_tracker(migration.source_node)
|
||||
rt.drop_resize_claim(context, instance, old_instance_type)
|
||||
rt.drop_move_claim(context, instance, old_instance_type)
|
||||
|
||||
# NOTE(mriedem): The old_vm_state could be STOPPED but the user
|
||||
# might have manually powered up the instance to confirm the
|
||||
|
@ -3358,7 +3358,7 @@ class ComputeManager(manager.Manager):
|
|||
migration.save()
|
||||
|
||||
rt = self._get_resource_tracker(instance.node)
|
||||
rt.drop_resize_claim(context, instance)
|
||||
rt.drop_move_claim(context, instance)
|
||||
|
||||
self.compute_rpcapi.finish_revert_resize(context, instance,
|
||||
migration, migration.source_compute,
|
||||
|
|
|
@ -175,9 +175,9 @@ class ResourceTracker(object):
|
|||
"MB", {'flavor': instance_type['memory_mb'],
|
||||
'overhead': overhead['memory_mb']})
|
||||
|
||||
claim = claims.ResizeClaim(context, instance, instance_type,
|
||||
image_meta, self, self.compute_node,
|
||||
overhead=overhead, limits=limits)
|
||||
claim = claims.MoveClaim(context, instance, instance_type,
|
||||
image_meta, self, self.compute_node,
|
||||
overhead=overhead, limits=limits)
|
||||
|
||||
migration = self._create_migration(context, instance,
|
||||
instance_type)
|
||||
|
@ -234,8 +234,8 @@ class ResourceTracker(object):
|
|||
self._update(context.elevated())
|
||||
|
||||
@utils.synchronized(COMPUTE_RESOURCE_SEMAPHORE)
|
||||
def drop_resize_claim(self, context, instance, instance_type=None,
|
||||
image_meta=None, prefix='new_'):
|
||||
def drop_move_claim(self, context, instance, instance_type=None,
|
||||
image_meta=None, prefix='new_'):
|
||||
"""Remove usage for an incoming/outgoing migration."""
|
||||
if instance['uuid'] in self.tracked_migrations:
|
||||
migration, itype = self.tracked_migrations.pop(instance['uuid'])
|
||||
|
|
|
@ -51,7 +51,7 @@ class DummyTracker(object):
|
|||
def abort_instance_claim(self, *args, **kwargs):
|
||||
self.icalled = True
|
||||
|
||||
def drop_resize_claim(self, *args, **kwargs):
|
||||
def drop_move_claim(self, *args, **kwargs):
|
||||
self.rcalled = True
|
||||
|
||||
def new_pci_tracker(self):
|
||||
|
@ -363,10 +363,10 @@ class ClaimTestCase(test.NoDBTestCase):
|
|||
return claim
|
||||
|
||||
|
||||
class ResizeClaimTestCase(ClaimTestCase):
|
||||
class MoveClaimTestCase(ClaimTestCase):
|
||||
|
||||
def setUp(self):
|
||||
super(ResizeClaimTestCase, self).setUp()
|
||||
super(MoveClaimTestCase, self).setUp()
|
||||
self.instance = self._fake_instance()
|
||||
self.get_numa_constraint_patch = None
|
||||
|
||||
|
@ -378,9 +378,9 @@ class ResizeClaimTestCase(ClaimTestCase):
|
|||
with mock.patch(
|
||||
'nova.virt.hardware.numa_get_constraints',
|
||||
return_value=numa_constraint):
|
||||
return claims.ResizeClaim('context', self.instance, instance_type,
|
||||
{}, self.tracker, self.resources,
|
||||
overhead=overhead, limits=limits)
|
||||
return claims.MoveClaim('context', self.instance, instance_type,
|
||||
{}, self.tracker, self.resources,
|
||||
overhead=overhead, limits=limits)
|
||||
|
||||
def _set_pci_request(self, claim):
|
||||
request = [{'count': 1,
|
||||
|
|
|
@ -7025,7 +7025,7 @@ class ComputeTestCase(BaseTestCase):
|
|||
|
||||
fake_rt = self.mox.CreateMockAnything()
|
||||
|
||||
def fake_drop_resize_claim(*args, **kwargs):
|
||||
def fake_drop_move_claim(*args, **kwargs):
|
||||
pass
|
||||
|
||||
def fake_get_resource_tracker(self):
|
||||
|
@ -7034,7 +7034,7 @@ class ComputeTestCase(BaseTestCase):
|
|||
def fake_setup_networks_on_host(self, *args, **kwargs):
|
||||
pass
|
||||
|
||||
self.stubs.Set(fake_rt, 'drop_resize_claim', fake_drop_resize_claim)
|
||||
self.stubs.Set(fake_rt, 'drop_move_claim', fake_drop_move_claim)
|
||||
self.stubs.Set(self.compute, '_get_resource_tracker',
|
||||
fake_get_resource_tracker)
|
||||
self.stubs.Set(self.compute.network_api, 'setup_networks_on_host',
|
||||
|
|
|
@ -1164,10 +1164,10 @@ class InstanceClaimTestCase(BaseTrackerTestCase):
|
|||
self.assertEqual('fakenode', instance['node'])
|
||||
|
||||
|
||||
class ResizeClaimTestCase(BaseTrackerTestCase):
|
||||
class MoveClaimTestCase(BaseTrackerTestCase):
|
||||
|
||||
def setUp(self):
|
||||
super(ResizeClaimTestCase, self).setUp()
|
||||
super(MoveClaimTestCase, self).setUp()
|
||||
|
||||
self.instance = self._fake_instance_obj()
|
||||
self.instance_type = self._fake_flavor_create()
|
||||
|
@ -1220,7 +1220,7 @@ class ResizeClaimTestCase(BaseTrackerTestCase):
|
|||
def test_revert(self, mock_get):
|
||||
self.tracker.resize_claim(self.context, self.instance,
|
||||
self.instance_type, {}, self.limits)
|
||||
self.tracker.drop_resize_claim(self.context, self.instance)
|
||||
self.tracker.drop_move_claim(self.context, self.instance)
|
||||
|
||||
self.assertEqual(0, len(self.tracker.tracked_instances))
|
||||
self.assertEqual(0, len(self.tracker.tracked_migrations))
|
||||
|
|
|
@ -1144,9 +1144,9 @@ class TestInstanceClaim(BaseTestCase):
|
|||
@mock.patch('nova.objects.Instance.get_by_uuid')
|
||||
@mock.patch('nova.objects.InstanceList.get_by_host_and_node')
|
||||
@mock.patch('nova.objects.InstancePCIRequests.get_by_instance_uuid')
|
||||
class TestResizeClaim(BaseTestCase):
|
||||
class TestMoveClaim(BaseTestCase):
|
||||
def setUp(self):
|
||||
super(TestResizeClaim, self).setUp()
|
||||
super(TestMoveClaim, self).setUp()
|
||||
|
||||
self._setup_rt()
|
||||
self.rt.compute_node = copy.deepcopy(_COMPUTE_NODE_FIXTURES[0])
|
||||
|
@ -1188,7 +1188,7 @@ class TestResizeClaim(BaseTestCase):
|
|||
|
||||
def assertEqual(self, expected, actual):
|
||||
if type(expected) != dict or type(actual) != dict:
|
||||
super(TestResizeClaim, self).assertEqual(expected, actual)
|
||||
super(TestMoveClaim, self).assertEqual(expected, actual)
|
||||
return
|
||||
fail = False
|
||||
for k, e in expected.items():
|
||||
|
@ -1226,7 +1226,7 @@ class TestResizeClaim(BaseTestCase):
|
|||
claim = self.rt.resize_claim(
|
||||
self.ctx, self.instance, self.flavor, None)
|
||||
|
||||
self.assertIsInstance(claim, claims.ResizeClaim)
|
||||
self.assertIsInstance(claim, claims.MoveClaim)
|
||||
self.assertTrue(obj_base.obj_equal_prims(expected,
|
||||
self.rt.compute_node))
|
||||
|
||||
|
|
Loading…
Reference in New Issue