Beispiel #1
0
    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",
        }
Beispiel #2
0
 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)
Beispiel #3
0
    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')
Beispiel #4
0
    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)
Beispiel #5
0
 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 = []
Beispiel #6
0
    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")
Beispiel #7
0
    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'
        }
Beispiel #8
0
    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'}
Beispiel #9
0
    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')
Beispiel #10
0
    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",
        }
Beispiel #11
0
    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'}
Beispiel #12
0
    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'}
Beispiel #13
0
    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')
Beispiel #14
0
    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)
Beispiel #15
0
 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 = []
Beispiel #16
0
    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)
Beispiel #17
0
    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)
Beispiel #18
0
    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()
Beispiel #19
0
    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)
Beispiel #20
0
    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)
Beispiel #21
0
    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)
Beispiel #23
0
    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)
Beispiel #24
0
    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)
Beispiel #25
0
 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")
Beispiel #26
0
    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'])
Beispiel #27
0
    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)
Beispiel #28
0
    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'])
Beispiel #29
0
 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
Beispiel #30
0
 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")
Beispiel #31
0
 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
Beispiel #32
0
    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_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'])
Beispiel #34
0
    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)
Beispiel #35
0
    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)
Beispiel #36
0
    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'])
Beispiel #37
0
 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)
Beispiel #38
0
 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())
Beispiel #39
0
 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)
Beispiel #40
0
 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())
Beispiel #41
0
 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)