예제 #1
0
 def setUp(self):
     super(VMWareAPIVMTestCase, self).setUp()
     self.context = context.RequestContext('fake', 'fake', False)
     self.flags(vmwareapi_host_ip='test_url',
                vmwareapi_host_username='******',
                vmwareapi_host_password='******')
     self.user_id = 'fake'
     self.project_id = 'fake'
     self.context = context.RequestContext(self.user_id, self.project_id)
     self.network = utils.import_object(FLAGS.network_manager)
     vmwareapi_fake.reset()
     db_fakes.stub_out_db_instance_api(self.stubs)
     stubs.set_stubs(self.stubs)
     glance_stubs.stubout_glance_client(self.stubs)
     self.conn = vmwareapi_conn.get_connection(False)
     # NOTE(vish): none of the network plugging code is actually
     #             being tested
     self.network_info = [({'bridge': 'fa0',
                            'id': 0,
                            'vlan': None,
                            'bridge_interface': None,
                            'injected': True},
                       {'broadcast': '192.168.0.255',
                        'dns': ['192.168.0.1'],
                        'gateway': '192.168.0.1',
                        'gateway6': 'dead:beef::1',
                        'ip6s': [{'enabled': '1',
                                  'ip': 'dead:beef::dcad:beff:feef:0',
                                        'netmask': '64'}],
                        'ips': [{'enabled': '1',
                                 'ip': '192.168.0.100',
                                 'netmask': '255.255.255.0'}],
                        'label': 'fake',
                        'mac': 'DE:AD:BE:EF:00:00',
                        'rxtx_cap': 3})]
예제 #2
0
 def setUp(self):
     super(VMWareAPIVMTestCase, self).setUp()
     self.flags(vmwareapi_host_ip='test_url',
                vmwareapi_host_username='******',
                vmwareapi_host_password='******')
     self.user_id = 'fake'
     self.project_id = 'fake'
     self.context = context.RequestContext(self.user_id, self.project_id)
     self.network = utils.import_object(FLAGS.network_manager)
     vmwareapi_fake.reset()
     db_fakes.stub_out_db_instance_api(self.stubs)
     stubs.set_stubs(self.stubs)
     glance_stubs.stubout_glance_client(self.stubs)
     self.conn = vmwareapi_conn.get_connection(False)
     # NOTE(vish): none of the network plugging code is actually
     #             being tested
     self.network_info = [({'bridge': 'fa0',
                            'id': 0,
                            'vlan': None,
                            'bridge_interface': None,
                            'injected': True},
                       {'broadcast': '192.168.0.255',
                        'dns': ['192.168.0.1'],
                        'gateway': '192.168.0.1',
                        'gateway6': 'dead:beef::1',
                        'ip6s': [{'enabled': '1',
                                  'ip': 'dead:beef::dcad:beff:feef:0',
                                        'netmask': '64'}],
                        'ips': [{'enabled': '1',
                                 'ip': '192.168.0.100',
                                 'netmask': '255.255.255.0'}],
                        'label': 'fake',
                        'mac': 'DE:AD:BE:EF:00:00',
                        'rxtx_cap': 3})]
예제 #3
0
파일: connection.py 프로젝트: pulchart/nova
def get_connection(read_only=False):
    """
    Returns an object representing the connection to a virtualization
    platform, or to an on-demand bare-metal provisioning platform.

    This could be :mod:`nova.virt.fake.FakeConnection` in test mode,
    a connection to KVM, QEMU, or UML via :mod:`libvirt_conn`, or a connection
    to XenServer or Xen Cloud Platform via :mod:`xenapi`. Other platforms are
    also supported.

    Any object returned here must conform to the interface documented by
    :mod:`FakeConnection`.

    **Related flags**

    :connection_type:  A string literal that falls through an if/elif structure
                       to determine what virtualization mechanism to use.
                       Values may be

                            * fake
                            * libvirt
                            * xenapi
                            * vmwareapi
                            * baremetal

    """
    # TODO(termie): maybe lazy load after initial check for permissions
    # TODO(termie): check whether we can be disconnected
    t = FLAGS.connection_type
    if t == 'fake':
        conn = fake.get_connection(read_only)
    elif t == 'libvirt':
        conn = libvirt_conn.get_connection(read_only)
    elif t == 'xenapi':
        conn = xenapi_conn.get_connection(read_only)
    elif t == 'vmwareapi':
        conn = vmwareapi_conn.get_connection(read_only)
    elif t == 'baremetal':
        conn = proxy.get_connection(read_only)
    else:
        raise Exception('Unknown connection type "%s"' % t)

    if conn is None:
        LOG.error(_('Failed to open connection to underlying virt platform'))
        sys.exit(1)
    return utils.check_isinstance(conn, driver.ComputeDriver)
예제 #4
0
 def setUp(self):
     super(VMWareAPIVMTestCase, self).setUp()
     self.flags(vmwareapi_host_ip='test_url',
                vmwareapi_host_username='******',
                vmwareapi_host_password='******')
     self.manager = manager.AuthManager()
     self.user = self.manager.create_user('fake', 'fake', 'fake',
                                          admin=True)
     self.project = self.manager.create_project('fake', 'fake', 'fake')
     self.network = utils.import_object(FLAGS.network_manager)
     self.stubs = stubout.StubOutForTesting()
     vmwareapi_fake.reset()
     db_fakes.stub_out_db_instance_api(self.stubs)
     stubs.set_stubs(self.stubs)
     glance_stubs.stubout_glance_client(self.stubs,
                                        glance_stubs.FakeGlance)
     self.conn = vmwareapi_conn.get_connection(False)
예제 #5
0
 def setUp(self):
     super(VMWareAPIVMTestCase, self).setUp()
     self.flags(vmwareapi_host_ip='test_url',
                vmwareapi_host_username='******',
                vmwareapi_host_password='******')
     self.manager = manager.AuthManager()
     self.user = self.manager.create_user('fake',
                                          'fake',
                                          'fake',
                                          admin=True)
     self.project = self.manager.create_project('fake', 'fake', 'fake')
     self.network = utils.import_object(FLAGS.network_manager)
     self.stubs = stubout.StubOutForTesting()
     vmwareapi_fake.reset()
     db_fakes.stub_out_db_instance_api(self.stubs)
     stubs.set_stubs(self.stubs)
     glance_stubs.stubout_glance_client(self.stubs, glance_stubs.FakeGlance)
     self.conn = vmwareapi_conn.get_connection(False)
예제 #6
0
def get_connection(read_only=False):
    """
    Returns an object representing the connection to a virtualization
    platform.

    This could be :mod:`nova.virt.fake.FakeConnection` in test mode,
    a connection to KVM, QEMU, or UML via :mod:`libvirt_conn`, or a connection
    to XenServer or Xen Cloud Platform via :mod:`xenapi`.

    Any object returned here must conform to the interface documented by
    :mod:`FakeConnection`.

    **Related flags**

    :connection_type:  A string literal that falls through a if/elif structure
                       to determine what virtualization mechanism to use.
                       Values may be

                            * fake
                            * libvirt
                            * xenapi
    """
    # TODO(termie): maybe lazy load after initial check for permissions
    # TODO(termie): check whether we can be disconnected
    t = FLAGS.connection_type
    if t == 'fake':
        conn = fake.get_connection(read_only)
    elif t == 'libvirt':
        conn = libvirt_conn.get_connection(read_only)
    elif t == 'xenapi':
        conn = xenapi_conn.get_connection(read_only)
    elif t == 'hyperv':
        conn = hyperv.get_connection(read_only)
    elif t == 'vmwareapi':
        conn = vmwareapi_conn.get_connection(read_only)
    elif t == 'openvz':
        conn = openvz_conn.get_connection(read_only)
    else:
        raise Exception('Unknown connection type "%s"' % t)

    if conn is None:
        LOG.error(_('Failed to open connection to the hypervisor'))
        sys.exit(1)
    return utils.check_isinstance(conn, driver.ComputeDriver)