def setUp(self): super(TestGlanceStore, self).setUp() self.store = glance.GlanceStore() self.flags( glance_host="1.1.1.1", glance_port=123, glance_api_insecure=False, xenapi_connection_url="test_url", xenapi_connection_password="******", ) self.context = context.RequestContext("user", "project", auth_token="foobar") fake.reset() stubs.stubout_session(self.stubs, fake.SessionBase) driver = xenapi_conn.XenAPIDriver(False) self.session = driver._session self.stubs.Set(vm_utils, "get_sr_path", lambda *a, **kw: "/fake/sr/path") self.instance = { "uuid": "blah", "system_metadata": [], "auto_disk_config": True, "os_type": "default", "xenapi_use_agent": "true", }
def test_public_api_signatures(self): self.flags(connection_url='test_url', connection_password='******', group='xenserver') stubs.stubout_session(self.stubs, stubs.FakeSessionForVMTests) inst = xenapi.XenAPIDriver(fake.FakeVirtAPI(), False) self.assertPublicAPISignatures(inst)
def setUp(self): super(TestBittorrentStore, self).setUp() self.store = bittorrent.BittorrentStore() self.mox = mox.Mox() self.flags(torrent_base_url='http://foo', connection_url='test_url', connection_password='******', group='xenserver') self.context = context.RequestContext('user', 'project', auth_token='foobar') fake.reset() stubs.stubout_session(self.stubs, fake.SessionBase) def mock_iter_eps(namespace): return [] self.stubs.Set(pkg_resources, 'iter_entry_points', mock_iter_eps) driver = xenapi_conn.XenAPIDriver(False) self.session = driver._session self.stubs.Set(vm_utils, 'get_sr_path', lambda *a, **kw: '/fake/sr/path')
def test_get_vdi_uuid_for_volume_from_iscsi_vol_missing_sr_uuid(self): connection_data = get_fake_connection_data(ISCSI_TYPE) stubs.stubout_session(self.stubs, fake.SessionBase) driver = xenapi_conn.XenAPIDriver(False) vdi_uuid = vm_utils.get_vdi_uuid_for_volume(driver._session, connection_data) self.assertNotEquals(vdi_uuid, None)
def setUp(self): super(GetConsoleOutputTestCase, self).setUp() stubs.stubout_session(self.stubs, xenapi_fake.SessionBase) self._session = xenapi_conn.XenAPISession('test_url', 'root', 'test_pass', fake.FakeVirtAPI()) self.vmops = vmops.VMOps(self._session, fake.FakeVirtAPI()) self.vms = []
def test_get_vdi_uuid_for_volume_with_sr_uuid(self): connection_data = get_fake_connection_data(XENSM_TYPE) stubs.stubout_session(self.stubs, fake.SessionBase) driver = xenapi_conn.XenAPIDriver(False) vdi_uuid = vm_utils.get_vdi_uuid_for_volume(driver._session, connection_data) self.assertEquals(vdi_uuid, "falseVDI")
def setUp(self): super(TestGlanceStore, self).setUp() self.store = glance.GlanceStore() self.flags(glance_host='1.1.1.1', glance_port=123, glance_api_insecure=False) self.flags(connection_url='test_url', connection_password='******', group='xenserver') self.context = context.RequestContext('user', 'project', auth_token='foobar') fake.reset() stubs.stubout_session(self.stubs, fake.SessionBase) driver = xenapi_conn.XenAPIDriver(False) self.session = driver._session self.stubs.Set(vm_utils, 'get_sr_path', lambda *a, **kw: '/fake/sr/path') self.instance = { 'uuid': 'blah', 'system_metadata': [], 'auto_disk_config': True, 'os_type': 'default', 'xenapi_use_agent': 'true' }
def setUp(self): super(TestGlanceStore, self).setUp() self.store = glance.GlanceStore() self.flags(glance_host='1.1.1.1', glance_port=123, glance_api_insecure=False) self.flags(connection_url='test_url', connection_password='******', group='xenserver') self.context = context.RequestContext( 'user', 'project', auth_token='foobar') fake.reset() stubs.stubout_session(self.stubs, fake.SessionBase) driver = xenapi_conn.XenAPIDriver(False) self.session = driver._session self.stubs.Set( vm_utils, 'get_sr_path', lambda *a, **kw: '/fake/sr/path') self.instance = {'uuid': 'blah', 'system_metadata': [], 'auto_disk_config': True, 'os_type': 'default', 'xenapi_use_agent': 'true'}
def setUp(self): super(TestBittorrentStore, self).setUp() self.store = bittorrent.BittorrentStore() self.mox = mox.Mox() self.flags(torrent_base_url='http://foo', connection_url='test_url', connection_password='******', group='xenserver') self.context = context.RequestContext( 'user', 'project', auth_token='foobar') fake.reset() stubs.stubout_session(self.stubs, fake.SessionBase) def mock_iter_eps(namespace): return [] self.stubs.Set(pkg_resources, 'iter_entry_points', mock_iter_eps) driver = xenapi_conn.XenAPIDriver(False) self.session = driver._session self.stubs.Set( vm_utils, 'get_sr_path', lambda *a, **kw: '/fake/sr/path')
def setUp(self): super(TestBittorrentStore, self).setUp() self.store = bittorrent.BittorrentStore() self.mox = mox.Mox() self.flags( xenapi_torrent_base_url="http://foo", xenapi_connection_url="test_url", xenapi_connection_password="******", ) self.context = context.RequestContext("user", "project", auth_token="foobar") fake.reset() stubs.stubout_session(self.stubs, fake.SessionBase) def mock_iter_eps(namespace): return [] self.stubs.Set(pkg_resources, "iter_entry_points", mock_iter_eps) driver = xenapi_conn.XenAPIDriver(False) self.session = driver._session self.stubs.Set(vm_utils, "get_sr_path", lambda *a, **kw: "/fake/sr/path") self.instance = { "uuid": "blah", "system_metadata": {"image_xenapi_use_agent": "true"}, "auto_disk_config": True, "os_type": "default", "xenapi_use_agent": "true", }
def setUp(self): super(TestBittorrentStore, self).setUp() self.store = bittorrent.BittorrentStore() self.mox = mox.Mox() self.flags(xenapi_torrent_base_url='http://foo', xenapi_connection_url='test_url', xenapi_connection_password='******') self.context = context.RequestContext( 'user', 'project', auth_token='foobar') fake.reset() stubs.stubout_session(self.stubs, fake.SessionBase) def mock_iter_eps(namespace): return [] self.stubs.Set(pkg_resources, 'iter_entry_points', mock_iter_eps) driver = xenapi_conn.XenAPIDriver(False) self.session = driver._session self.stubs.Set( vm_utils, 'get_sr_path', lambda *a, **kw: '/fake/sr/path') self.instance = {'uuid': 'blah', 'system_metadata': {'image_xenapi_use_agent': 'true'}, 'auto_disk_config': True, 'os_type': 'default', 'xenapi_use_agent': 'true'}
def setUp(self): super(TestBittorrentStore, self).setUp() self.store = bittorrent.BittorrentStore() self.mox = mox.Mox() self.flags(torrent_base_url='http://foo', connection_url='test_url', connection_password='******', group='xenserver') self.context = context.RequestContext( 'user', 'project', auth_token='foobar') fake.reset() stubs.stubout_session(self.stubs, fake.SessionBase) def mock_iter_eps(namespace): return [] self.stubs.Set(pkg_resources, 'iter_entry_points', mock_iter_eps) driver = xenapi_conn.XenAPIDriver(False) self.session = driver._session self.stubs.Set( vm_utils, 'get_sr_path', lambda *a, **kw: '/fake/sr/path') self.instance = {'uuid': 'blah', 'system_metadata': {'image_xenapi_use_agent': 'true'}, 'auto_disk_config': True, 'os_type': 'default', 'xenapi_use_agent': 'true'}
def test_get_vdi_uuid_for_volume_with_sr_uuid(self): connection_data = get_fake_connection_data(XENSM_TYPE) stubs.stubout_session(self.stubs, fake.SessionBase) driver = xenapi_conn.XenAPIDriver(False) vdi_uuid = vm_utils.get_vdi_uuid_for_volume( driver._session, connection_data) self.assertEquals(vdi_uuid, 'falseVDI')
def test_get_vdi_uuid_for_volume_from_iscsi_vol_missing_sr_uuid(self): connection_data = get_fake_connection_data(ISCSI_TYPE) stubs.stubout_session(self.stubs, fake.SessionBase) driver = xenapi_conn.XenAPIDriver(False) vdi_uuid = vm_utils.get_vdi_uuid_for_volume( driver._session, connection_data) self.assertNotEquals(vdi_uuid, None)
def setUp(self): super(ComputeXenTestCase, self).setUp() self.flags(compute_driver='xenapi.XenAPIDriver', xenapi_connection_url='test_url', xenapi_connection_password='******') stubs.stubout_session(self.stubs, stubs.FakeSessionForVMTests) self.compute = importutils.import_object(CONF.compute_manager)
def setUp(self): super(ComputeXenTestCase, self).setUp() self.flags(compute_driver="xenapi.XenAPIDriver") self.flags(connection_url="test_url", connection_password="******", group="xenserver") stubs.stubout_session(self.stubs, stubs.FakeSessionForVMTests) self.compute = importutils.import_object(CONF.compute_manager) # execute power syncing synchronously for testing: self.compute._sync_power_pool = eventlet_utils.SyncPool()
def test_get_vdi_uuid_for_volume_failure(self): stubs.stubout_session(self.stubs, fake.SessionBase) driver = xenapi_conn.XenAPIDriver(False) def bad_introduce_sr(session, sr_uuid, label, sr_params): return None self.stubs.Set(volume_utils, "introduce_sr", bad_introduce_sr) connection_data = get_fake_connection_data(XENSM_TYPE) self.assertRaises(exception.NovaException, vm_utils.get_vdi_uuid_for_volume, driver._session, connection_data)
def test_get_instance_vdis_for_sr_no_vbd(self): vm_ref = fake.create_vm("foo", "Running") sr_ref = fake.create_sr() stubs.stubout_session(self.stubs, fake.SessionBase) driver = xenapi_conn.XenAPIDriver(False) result = list(vm_utils.get_instance_vdis_for_sr(driver._session, vm_ref, sr_ref)) self.assertEquals([], result)
def setUp(self): super(ComputeXenTestCase, self).setUp() self.flags(compute_driver='xenapi.XenAPIDriver') self.flags(connection_url='test_url', connection_password='******', group='xenserver') stubs.stubout_session(self.stubs, stubs.FakeSessionForVMTests) self.compute = importutils.import_object(CONF.compute_manager) # execute power syncing synchronously for testing: self.compute._sync_power_pool = eventlet_utils.SyncPool()
def test_set_bootable(self): self.flags(connection_url='test_url', connection_password='******', group='xenserver') stubs.stubout_session(self.stubs, stubs.FakeSessionForVMTests) driver = xenapi.XenAPIDriver(fake.FakeVirtAPI(), False) self.mox.StubOutWithMock(driver._vmops, 'set_bootable') driver._vmops.set_bootable('inst', True) self.mox.ReplayAll() driver.set_bootable('inst', True)
def test_get_instance_vdis_for_sr_no_vbd(self): vm_ref = fake.create_vm("foo", "Running") sr_ref = fake.create_sr() stubs.stubout_session(self.stubs, fake.SessionBase) driver = xenapi_conn.XenAPIDriver(False) result = list(vm_utils.get_instance_vdis_for_sr( driver._session, vm_ref, sr_ref)) self.assertEquals([], result)
def setUp(self): super(GenerateDiskTestCase, self).setUp() self.flags(disable_process_locking=True, instance_name_template='%d', firewall_driver='nova.virt.xenapi.firewall.' 'Dom0IptablesFirewallDriver', xenapi_connection_url='test_url', xenapi_connection_password='******',) stubs.stubout_session(self.stubs, fake.SessionBase) driver = xenapi_conn.XenAPIDriver(False) self.session = driver._session self.vm_ref = fake.create_vm("foo", "Running")
def test_overhead(self): self.flags(xenapi_connection_url='test_url', xenapi_connection_password='******') stubs.stubout_session(self.stubs, stubs.FakeSessionForVMTests) driver = xenapi.XenAPIDriver(fake.FakeVirtAPI(), False) instance = {'memory_mb': 30720} # expected memory overhead per: # https://wiki.openstack.org/wiki/XenServer/Overhead expected = math.ceil(251.832) overhead = driver.estimate_instance_overhead(instance) self.assertEqual(expected, overhead['memory_mb'])
def test_get_vdi_uuid_for_volume_failure(self): stubs.stubout_session(self.stubs, fake.SessionBase) driver = xenapi_conn.XenAPIDriver(False) def bad_introduce_sr(session, sr_uuid, label, sr_params): return None self.stubs.Set(volume_utils, 'introduce_sr', bad_introduce_sr) connection_data = get_fake_connection_data(XENSM_TYPE) self.assertRaises(exception.NovaException, vm_utils.get_vdi_uuid_for_volume, driver._session, connection_data)
def setUp(self): super(VMUtilsSRPath, self).setUp() self.flags(disable_process_locking=True, instance_name_template='%d', firewall_driver='nova.virt.xenapi.firewall.' 'Dom0IptablesFirewallDriver', xenapi_connection_url='test_url', xenapi_connection_password='******',) stubs.stubout_session(self.stubs, fake.SessionBase) driver = xenapi_conn.XenAPIDriver(False) self.session = driver._session self.session.is_local_connection = False
def setUp(self): super(GenerateDiskTestCase, self).setUp() self.flags(disable_process_locking=True, instance_name_template='%d', firewall_driver='nova.virt.xenapi.firewall.' 'Dom0IptablesFirewallDriver', xenapi_connection_url='test_url', xenapi_connection_password='******',) stubs.stubout_session(self.stubs, fake.SessionBase) driver = xenapi_conn.XenAPIDriver(False) self.session = driver._session self.session.is_local_connection = False self.vm_ref = fake.create_vm("foo", "Running")
def setUp(self): super(VMUtilsSRPath, self).setUp() self.flags( disable_process_locking=True, instance_name_template='%d', firewall_driver='nova.virt.xenapi.firewall.' 'Dom0IptablesFirewallDriver', xenapi_connection_url='test_url', xenapi_connection_password='******', ) stubs.stubout_session(self.stubs, fake.SessionBase) driver = xenapi_conn.XenAPIDriver(False) self.session = driver._session self.session.is_local_connection = False
def test_overhead(self): self.flags(connection_url='test_url', connection_password='******', group='xenserver') stubs.stubout_session(self.stubs, stubs.FakeSessionForVMTests) driver = xenapi.XenAPIDriver(fake.FakeVirtAPI(), False) instance = {'memory_mb': 30720, 'vcpus': 4} # expected memory overhead per: # https://wiki.openstack.org/wiki/XenServer/Overhead expected = ((instance['memory_mb'] * xenapi_driver.OVERHEAD_PER_MB) + (instance['vcpus'] * xenapi_driver.OVERHEAD_PER_VCPU) + xenapi_driver.OVERHEAD_BASE) expected = math.ceil(expected) overhead = driver.estimate_instance_overhead(instance) self.assertEqual(expected, overhead['memory_mb'])
def test_get_instance_vdis_for_sr(self): vm_ref = fake.create_vm("foo", "Running") sr_ref = fake.create_sr() vdi_1 = fake.create_vdi("vdiname1", sr_ref) vdi_2 = fake.create_vdi("vdiname2", sr_ref) for vdi_ref in [vdi_1, vdi_2]: fake.create_vbd(vm_ref, vdi_ref) stubs.stubout_session(self.stubs, fake.SessionBase) driver = xenapi_conn.XenAPIDriver(False) result = list(vm_utils.get_instance_vdis_for_sr(driver._session, vm_ref, sr_ref)) self.assertEquals([vdi_1, vdi_2], result)
def test_get_instance_vdis_for_sr(self): vm_ref = fake.create_vm("foo", "Running") sr_ref = fake.create_sr() vdi_1 = fake.create_vdi('vdiname1', sr_ref) vdi_2 = fake.create_vdi('vdiname2', sr_ref) for vdi_ref in [vdi_1, vdi_2]: fake.create_vbd(vm_ref, vdi_ref) stubs.stubout_session(self.stubs, fake.SessionBase) driver = xenapi_conn.XenAPIDriver(False) result = list(vm_utils.get_instance_vdis_for_sr( driver._session, vm_ref, sr_ref)) self.assertEquals([vdi_1, vdi_2], result)
def test_available_resource(self): self.flags(connection_url='test_url', connection_password='******', group='xenserver') stubs.stubout_session(self.stubs, stubs.FakeSessionForVMTests) driver = xenapi.XenAPIDriver(fake.FakeVirtAPI(), False) driver._session.product_version = (6, 8, 2) self.stubs.Set(driver, 'get_host_stats', self.host_stats) resources = driver.get_available_resource(None) self.assertEqual(6008002, resources['hypervisor_version']) self.assertEqual(50, resources['vcpus']) self.assertEqual(3, resources['memory_mb']) self.assertEqual(4, resources['local_gb']) self.assertEqual(10, resources['vcpus_used']) self.assertEqual(3 - 2, resources['memory_mb_used']) self.assertEqual(5, resources['local_gb_used']) self.assertEqual('xen', resources['hypervisor_type']) self.assertEqual('somename', resources['hypervisor_hostname'])
def _get_driver(self): stubs.stubout_session(self.stubs, stubs.FakeSessionForVMTests) self.flags(connection_url='test_url', connection_password='******', group='xenserver') return xenapi.XenAPIDriver(fake.FakeVirtAPI(), False)
def _setup_mock_vmops(self, product_brand=None, product_version=None): stubs.stubout_session(self.stubs, xenapi_fake.SessionBase) self._session = xenapi_conn.XenAPISession('test_url', 'root', 'test_pass', fake.FakeVirtAPI()) self.vmops = vmops.VMOps(self._session, fake.FakeVirtAPI())
def _setup_mock_vmops(self, product_brand=None, product_version=None): stubs.stubout_session(self.stubs, xenapi_fake.SessionBase) self._session = xenapi_session.XenAPISession('test_url', 'root', 'test_pass') self.vmops = vmops.VMOps(self._session, fake.FakeVirtAPI())