def create_bootable_volume( user, provider_uuid, identity_uuid, name, size_alias, new_source_alias, source_hint=None, **kwargs): """ **kwargs passed as data to boot_volume_instance """ identity = Identity.objects.get(uuid=identity_uuid) if not identity: raise Exception("Identity UUID %s does not exist." % identity_uuid) driver = get_cached_driver(identity=identity) if not driver: raise Exception( "Driver could not be initialized. Invalid Credentials?") size = driver.get_size(size_alias) if not size: raise Exception( "Size %s could not be located with this driver" % size_alias) # Return source or raises an Exception source = _retrieve_source(driver, new_source_alias, source_hint) core_instance = boot_volume_instance(driver, identity, source, size, name, **kwargs) return core_instance