def test_fetch_vhd_image_cleans_up_vdi_on_fail(self): self._apply_stubouts() self._common_params_setup(True) self.mox.StubOutWithMock(self.session, 'call_xenapi') vm_utils._add_bittorrent_params(self.params) vm_utils._fetch_using_dom0_plugin_with_retry(self.context, self.session, self.image_id, "bittorrent", self.params, callback=None).AndReturn(self.vdis) vm_utils.safe_find_sr(self.session).AndReturn("sr") vm_utils._scan_sr(self.session, "sr") vm_utils._check_vdi_size(self.context, self.session, self.instance, "vdi").AndRaise(exception.InstanceTypeDiskTooSmall) self.session.call_xenapi("VDI.get_by_uuid", "vdi").AndReturn("ref") vm_utils.destroy_vdi(self.session, "ref") self.mox.ReplayAll() self.assertRaises(exception.InstanceTypeDiskTooSmall, vm_utils._fetch_vhd_image, self.context, self.session, self.instance, self.image_id) self.mox.VerifyAll()
def test_fetch_vhd_image_cleans_up_vdi_on_fail(self): self._apply_stubouts() self._common_params_setup(True) self.mox.StubOutWithMock(self.session, 'call_xenapi') vm_utils._add_bittorrent_params(self.image_id, self.params) vm_utils._fetch_using_dom0_plugin_with_retry(self.context, self.session, self.image_id, "bittorrent", self.params, callback=None).AndReturn(self.vdis) vm_utils.safe_find_sr(self.session).AndReturn("sr") vm_utils._scan_sr(self.session, "sr") vm_utils._check_vdi_size(self.context, self.session, self.instance, "vdi").AndRaise(exception.InstanceTypeDiskTooSmall) self.session.call_xenapi("VDI.get_by_uuid", "vdi").AndReturn("ref") vm_utils.destroy_vdi(self.session, "ref") self.mox.ReplayAll() self.assertRaises(exception.InstanceTypeDiskTooSmall, vm_utils._fetch_vhd_image, self.context, self.session, self.instance, self.image_id) self.mox.VerifyAll()
def test_fetch_vhd_image_cleans_up_vdi_on_fail(self): self.mox.StubOutWithMock(self.session, "call_xenapi") self._setup_bittorrent() vm_utils.safe_find_sr(self.session).AndReturn("sr") vm_utils._scan_sr(self.session, "sr") vm_utils._check_vdi_size(self.context, self.session, self.instance, "vdi").AndRaise( exception.InstanceTypeDiskTooSmall ) self.session.call_xenapi("VDI.get_by_uuid", "vdi").AndReturn("ref") vm_utils.destroy_vdi(self.session, "ref") self.mox.ReplayAll() self.assertRaises( exception.InstanceTypeDiskTooSmall, vm_utils._fetch_vhd_image, self.context, self.session, self.instance, self.image_id, ) self.mox.VerifyAll()
def test_fetch_vhd_image_cleans_up_vdi_on_fail(self): self.mox.StubOutWithMock(vm_utils, '_image_uses_bittorrent') vm_utils._image_uses_bittorrent( self.context, self.instance).AndReturn(False) self._stub_glance_download_vhd() self.mox.StubOutWithMock(vm_utils, 'safe_find_sr') vm_utils.safe_find_sr(self.session).AndReturn("sr") self.mox.StubOutWithMock(vm_utils, '_scan_sr') vm_utils._scan_sr(self.session, "sr") self.mox.StubOutWithMock(vm_utils, '_check_vdi_size') vm_utils._check_vdi_size(self.context, self.session, self.instance, "vdi").AndRaise(exception.InstanceTypeDiskTooSmall) self.mox.StubOutWithMock(self.session, 'call_xenapi') self.session.call_xenapi("VDI.get_by_uuid", "vdi").AndReturn("ref") self.mox.StubOutWithMock(vm_utils, 'destroy_vdi') vm_utils.destroy_vdi(self.session, "ref") self.mox.ReplayAll() self.assertRaises(exception.InstanceTypeDiskTooSmall, vm_utils._fetch_vhd_image, self.context, self.session, self.instance, 'image_id') self.mox.VerifyAll()
def test_generate_disk_ensure_cleanup_called(self): self._expect_parted_calls() utils.execute('mkfs', '-t', 'ext4', '/dev/fakedev1', run_as_root=True).AndRaise(test.TestingException) vm_utils.destroy_vdi(self.session, mox.IgnoreArg()) self.mox.ReplayAll() self.assertRaises(test.TestingException, vm_utils._generate_disk, self.session, {"uuid": "fake_uuid"}, self.vm_ref, "2", "name", "ephemeral", 10, "ext4")
def test_generate_disk_ensure_cleanup_called(self): self._expect_parted_calls() utils.execute('mkfs', '-t', 'ext4', '/dev/fakedev1', run_as_root=True).AndRaise(Exception) vm_utils.destroy_vdi(self.session, mox.IgnoreArg()) self.mox.ReplayAll() self.assertRaises(Exception, vm_utils._generate_disk, self.session, {"uuid": "fake_uuid"}, self.vm_ref, "2", "name", "ephemeral", 10, "ext4")
def test_fetch_vhd_image_cleans_up_vdi_on_fail(self): self.mox.StubOutWithMock(vm_utils, '_image_uses_bittorrent') vm_utils._image_uses_bittorrent(self.context, self.instance).AndReturn(False) self.mox.StubOutWithMock(self.session, 'call_plugin_serialized_with_retry') self.session.call_plugin_serialized_with_retry( 'glance', 'download_vhd', 0, mox.IgnoreArg(), extra_headers={ 'X-Service-Catalog': '[]', 'X-Auth-Token': 'auth_token', 'X-Roles': '', 'X-Tenant-Id': None, 'X-User-Id': None, 'X-Identity-Status': 'Confirmed' }, image_id='image_id', uuid_stack=["uuid_stack"], sr_path='sr_path').AndReturn({'root': { 'uuid': 'vdi' }}) self.mox.StubOutWithMock(vm_utils, 'safe_find_sr') vm_utils.safe_find_sr(self.session).AndReturn("sr") self.mox.StubOutWithMock(vm_utils, '_scan_sr') vm_utils._scan_sr(self.session, "sr") self.mox.StubOutWithMock(vm_utils, '_check_vdi_size') vm_utils._check_vdi_size(self.context, self.session, self.instance, "vdi").AndRaise( exception.InstanceTypeDiskTooSmall) self.mox.StubOutWithMock(self.session, 'call_xenapi') self.session.call_xenapi("VDI.get_by_uuid", "vdi").AndReturn("ref") self.mox.StubOutWithMock(vm_utils, 'destroy_vdi') vm_utils.destroy_vdi(self.session, "ref") self.mox.ReplayAll() self.assertRaises(exception.InstanceTypeDiskTooSmall, vm_utils._fetch_vhd_image, self.context, self.session, self.instance, 'image_id') self.mox.VerifyAll()
def test_fetch_vhd_image_cleans_up_vdi_on_fail(self): self.mox.StubOutWithMock(vm_utils, '_image_uses_bittorrent') vm_utils._image_uses_bittorrent( self.context, self.instance).AndReturn(False) self.mox.StubOutWithMock( self.session, 'call_plugin_serialized_with_retry') self.session.call_plugin_serialized_with_retry( 'glance', 'download_vhd', 0, mox.IgnoreArg(), extra_headers={'X-Service-Catalog': '[]', 'X-Auth-Token': 'auth_token', 'X-Roles': '', 'X-Tenant-Id': None, 'X-User-Id': None, 'X-Identity-Status': 'Confirmed'}, image_id='image_id', uuid_stack=["uuid_stack"], sr_path='sr_path').AndReturn({'root': {'uuid': 'vdi'}}) self.mox.StubOutWithMock(vm_utils, 'safe_find_sr') vm_utils.safe_find_sr(self.session).AndReturn("sr") self.mox.StubOutWithMock(vm_utils, '_scan_sr') vm_utils._scan_sr(self.session, "sr") self.mox.StubOutWithMock(vm_utils, '_check_vdi_size') vm_utils._check_vdi_size(self.context, self.session, self.instance, "vdi").AndRaise(exception.InstanceTypeDiskTooSmall) self.mox.StubOutWithMock(self.session, 'call_xenapi') self.session.call_xenapi("VDI.get_by_uuid", "vdi").AndReturn("ref") self.mox.StubOutWithMock(vm_utils, 'destroy_vdi') vm_utils.destroy_vdi(self.session, "ref") self.mox.ReplayAll() self.assertRaises(exception.InstanceTypeDiskTooSmall, vm_utils._fetch_vhd_image, self.context, self.session, self.instance, 'image_id') self.mox.VerifyAll()
def test_fetch_vhd_image_cleans_up_vdi_on_fail(self): self.mox.StubOutWithMock(self.session, 'call_xenapi') self._setup_bittorrent() vm_utils.safe_find_sr(self.session).AndReturn("sr") vm_utils._scan_sr(self.session, "sr") vm_utils._check_vdi_size(self.context, self.session, self.instance, "vdi").AndRaise( exception.InstanceTypeDiskTooSmall) self.session.call_xenapi("VDI.get_by_uuid", "vdi").AndReturn("ref") vm_utils.destroy_vdi(self.session, "ref") self.mox.ReplayAll() self.assertRaises(exception.InstanceTypeDiskTooSmall, vm_utils._fetch_vhd_image, self.context, self.session, self.instance, self.image_id) self.mox.VerifyAll()
def delete_volume_for_sm(self, vdi_uuid): vdi_ref = self._session.call_xenapi("VDI.get_by_uuid", vdi_uuid) if vdi_ref is None: raise exception.NovaException(_('Could not find VDI ref')) vm_utils.destroy_vdi(self._session, vdi_ref)