def __init__(self, virtapi, read_only=False): super(XenAPIDriver, self).__init__(virtapi) url = CONF.xenserver.connection_url username = CONF.xenserver.connection_username password = CONF.xenserver.connection_password if not url or password is None: raise Exception(_('Must specify connection_url, ' 'connection_username (optionally), and ' 'connection_password to use ' 'compute_driver=xenapi.XenAPIDriver')) self._session = session.XenAPISession(url, username, password) self._volumeops = volumeops.VolumeOps(self._session) self._host_state = None self._host = host.Host(self._session, self.virtapi) self._vmops = vmops.VMOps(self._session, self.virtapi) self._initiator = None self._hypervisor_hostname = None self._pool = pool.ResourcePool(self._session, self.virtapi)
def __init__(self, read_only=False): super(XenAPIDriver, self).__init__() url = FLAGS.xenapi_connection_url username = FLAGS.xenapi_connection_username password = FLAGS.xenapi_connection_password if not url or password is None: raise Exception( _('Must specify xenapi_connection_url, ' 'xenapi_connection_username (optionally), and ' 'xenapi_connection_password to use ' 'connection_type=xenapi')) self._session = XenAPISession(url, username, password) self._volumeops = volumeops.VolumeOps(self._session) self._host_state = None self._host = host.Host(self._session) self._vmops = vmops.VMOps(self._session) self._initiator = None self._hypervisor_hostname = None self._pool = pool.ResourcePool(self._session)
def test_attach_volume_call(self): ops = volumeops.VolumeOps('session') self.mox.StubOutWithMock(ops, '_connect_volume') self.mox.StubOutWithMock(volumeops.vm_utils, 'vm_ref_or_raise') self.mox.StubOutWithMock(volumeops.volume_utils, 'get_device_number') volumeops.vm_utils.vm_ref_or_raise('session', 'instance_1').AndReturn('vmref') volumeops.volume_utils.get_device_number('mountpoint').AndReturn( 'devnumber') ops._connect_volume('conn_data', 'devnumber', 'instance_1', 'vmref', hotplug=True) self.mox.ReplayAll() ops.attach_volume(dict(driver_volume_type='iscsi', data='conn_data'), 'instance_1', 'mountpoint')
def __init__(self, *args, **kwargs): """Connect to the hypervisor.""" # This driver leverages Xen storage manager, and hence requires # hypervisor to be Xen if FLAGS.connection_type != 'xenapi': raise exception.Error(_('XenSMDriver requires xenapi connection')) url = FLAGS.xenapi_connection_url username = FLAGS.xenapi_connection_username password = FLAGS.xenapi_connection_password try: session = xenapi_conn.XenAPISession(url, username, password) self._volumeops = volumeops.VolumeOps(session) except Exception as ex: LOG.exception(ex) raise exception.Error(_("Failed to initiate session")) super(XenSMDriver, self).__init__(execute=utils.execute, sync_exec=utils.execute, *args, **kwargs)
def _setup_mock_volumeops(self): self.session = stubs.FakeSessionForVolumeTests('fake_uri') self.ops = volumeops.VolumeOps(self.session)