diff options
| author | Russell Bryant <rbryant@redhat.com> | 2012-08-01 12:18:33 -0400 |
|---|---|---|
| committer | Russell Bryant <rbryant@redhat.com> | 2012-08-01 12:22:53 -0400 |
| commit | 48572c4af3f6c41d31bd77797ebd3dd25fbbc36a (patch) | |
| tree | a6f03468e898d82fc2311697569665930ff0f4bd | |
| parent | 9893c3eb5794e689736e881ec0551bdfeda48d8f (diff) | |
Pass a full instance to rotate_backups().
This patch renames rotate_backups() to _rotate_backups(), as this method
has never been used over rpc since it was first introduced in
75a87df739effe840e6cb39c976002e99b49c796. The name change makes it more
clear that it's a private method.
The change also makes it so this method takes an instance dict instead
of just the instance_uuid as an argument. This is mainly for
consistency with the rest of this file, where things are moving toward
passing the full instance dict around instead to avoid any potential
need for db access.
In passing, this also fixes up some uses of instance_uuid in
snapshot_instance() where instance_uuid is most likely None.
Part of blueprint no-db-messaging.
Change-Id: I275f71384e77eb038aa1140bbfde108b91cd2f83
| -rw-r--r-- | nova/compute/manager.py | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/nova/compute/manager.py b/nova/compute/manager.py index 134983f01..a7e936955 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -1132,7 +1132,7 @@ class ComputeManager(manager.SchedulerDependentManager): power_state=current_power_state) LOG.audit(_('instance snapshotting'), context=context, - instance_uuid=instance_uuid) + instance=instance) if instance['power_state'] != power_state.RUNNING: state = instance['power_state'] @@ -1140,7 +1140,7 @@ class ComputeManager(manager.SchedulerDependentManager): LOG.warn(_('trying to snapshot a non-running ' 'instance: (state: %(state)s ' 'expected: %(running)s)') % locals(), - instance_uuid=instance_uuid) + instance=instance) self._notify_about_instance_usage( context, instance, "snapshot.start") @@ -1155,7 +1155,7 @@ class ComputeManager(manager.SchedulerDependentManager): raise exception.ImageRotationNotAllowed() elif image_type == 'backup' and rotation: - self.rotate_backups(context, instance_uuid, backup_type, rotation) + self._rotate_backups(context, instance, backup_type, rotation) elif image_type == 'backup': raise exception.RotationRequiredForBackup() @@ -1164,7 +1164,7 @@ class ComputeManager(manager.SchedulerDependentManager): context, instance, "snapshot.end") @wrap_instance_fault - def rotate_backups(self, context, instance_uuid, backup_type, rotation): + def _rotate_backups(self, context, instance, backup_type, rotation): """Delete excess backups associated to an instance. Instances are allowed a fixed number of backups (the rotation number); @@ -1172,7 +1172,7 @@ class ComputeManager(manager.SchedulerDependentManager): threshold. :param context: security context - :param instance_uuid: string representing uuid of instance + :param instance: Instance dict :param backup_type: daily | weekly :param rotation: int representing how many backups to keep around; None if rotation shouldn't be used (as in the case of snapshots) @@ -1193,23 +1193,23 @@ class ComputeManager(manager.SchedulerDependentManager): image_service = glance.get_default_image_service() filters = {'property-image_type': 'backup', 'property-backup_type': backup_type, - 'property-instance_uuid': instance_uuid} + 'property-instance_uuid': instance['uuid']} images = fetch_images() num_images = len(images) LOG.debug(_("Found %(num_images)d images (rotation: %(rotation)d)") - % locals(), instance_uuid=instance_uuid) + % locals(), instance=instance) if num_images > rotation: # NOTE(sirp): this deletes all backups that exceed the rotation # limit excess = len(images) - rotation LOG.debug(_("Rotating out %d backups") % excess, - instance_uuid=instance_uuid) + instance=instance) for i in xrange(excess): image = images.pop() image_id = image['id'] LOG.debug(_("Deleting image %s") % image_id, - instance_uuid=instance_uuid) + instance=instance) image_service.delete(context, image_id) @exception.wrap_exception(notifier=notifier, publisher_id=publisher_id()) |
