bootstrap-vz/tests/system/providers/virtualbox/image.py

27 lines
886 B
Python

import virtualbox
import logging
log = logging.getLogger(__name__)
class VirtualBoxImage(object):
def __init__(self, image_path):
self.image_path = image_path
self.vbox = virtualbox.VirtualBox()
def open(self):
log.debug('Opening vbox medium `{path}\''.format(path=self.image_path))
self.medium = self.vbox.open_medium(self.image_path, # location
virtualbox.library.DeviceType.hard_disk, # device_type
virtualbox.library.AccessMode.read_only, # access_mode
False) # force_new_uuid
def close(self):
log.debug('Closing vbox medium `{path}\''.format(path=self.image_path))
self.medium.close()
def destroy(self):
log.debug('Deleting vbox image `{path}\''.format(path=self.image_path))
import os
os.remove(self.image_path)
del self.image_path