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:
Nikola Dipanov 2015-06-30 14:18:48 +01:00
parent f0aea070e7
commit d2bbee1718
7 changed files with 30 additions and 29 deletions

View File

@ -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)

View File

@ -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,

View File

@ -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'])

View File

@ -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,

View File

@ -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',

View File

@ -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))

View File

@ -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))