Fix snapshot deletion on AMI testing cleanup

This commit is contained in:
Anders Ingemann 2015-03-25 21:07:05 +01:00
parent e9736f58a8
commit 694f46923b

View file

@ -9,20 +9,22 @@ def initialize_image(manifest, credentials, bootstrap_info):
connection = connect_to_region(bootstrap_info._ec2['region'],
aws_access_key_id=credentials['access-key'],
aws_secret_access_key=credentials['secret-key'])
ami = connection.get_image(bootstrap_info._ec2['image'])
image = AmazonMachineImage(manifest, ami)
image = AmazonMachineImage(manifest, bootstrap_info._ec2['image'], connection)
return image
class AmazonMachineImage(Image):
def __init__(self, manifest, ami):
def __init__(self, manifest, image_id, connection):
super(AmazonMachineImage, self).__init__(manifest)
self.ami = ami
self.ami = connection.get_image(image_id)
self.connection = connection
def destroy(self):
log.debug('Deleting AMI')
self.ami.deregister(delete_snapshot=True)
self.ami.deregister()
for device, block_device_type in self.ami.block_device_mapping.items():
self.connection.delete_snapshot(block_device_type.snapshot_id)
del self.ami
@contextmanager