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._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_works_with_bittorrent(self): self._apply_stubouts() self._common_params_setup(True) 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") self.mox.ReplayAll() self.assertEqual( "vdi", vm_utils._fetch_vhd_image(self.context, self.session, self.instance, self.image_id)['root']['uuid']) self.mox.VerifyAll()
def _setup_bittorrent(self): vm_utils._image_uses_bittorrent(self.context, self.instance).AndReturn(True) def _add_torrent_url(instance, image_id, params): params["torrent_url"] = "%s.torrent" % image_id vm_utils._add_torrent_url(self.instance, self.image_id, mox.IgnoreArg()).AndReturn(True) vm_utils._add_bittorrent_params(self.image_id, self.params) self.session.call_plugin_serialized_with_retry("bittorrent", "download_vhd", 0, None, **self.params).AndReturn( self.vdis )
def _setup_bittorrent(self): vm_utils._image_uses_bittorrent(self.context, self.instance).AndReturn(True) def _add_torrent_url(instance, image_id, params): params['torrent_url'] = "%s.torrent" % image_id vm_utils._add_torrent_url(self.instance, self.image_id, mox.IgnoreArg()).AndReturn(True) vm_utils._add_bittorrent_params(self.image_id, self.params) self.session.call_plugin_serialized_with_retry( 'bittorrent', 'download_vhd', 0, None, **self.params).AndReturn(self.vdis)
def test_fetch_vhd_image_works_with_bittorrent(self): self._apply_stubouts() self._common_params_setup(True) 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") self.mox.ReplayAll() self.assertEqual("vdi", vm_utils._fetch_vhd_image(self.context, self.session, self.instance, self.image_id)['root']['uuid']) self.mox.VerifyAll()