def __init__(self, cinder_client): self.client = SSHClient('127.0.0.1', username='******') self.cinder_client = cinder_client self._NOVA_CONF = '/etc/nova/nova.conf' self._CINDER_CONF = '/etc/cinder/cinder.conf' self._is_openstack = ServiceManager.has_service(OSManager.get_openstack_cinder_service_name(), self.client) self._nova_installed = self.client.file_exists(self._NOVA_CONF) self._cinder_installed = self.client.file_exists(self._CINDER_CONF) self._driver_location = OSManager.get_openstack_package_base_path() self._openstack_users = OSManager.get_openstack_users() self._devstack_driver = '/opt/stack/cinder/cinder/volume/drivers/openvstorage.py' try: self._is_devstack = 'stack' in str(self.client.run('ps aux | grep SCREEN | grep stack | grep -v grep || true')) except SystemExit: # ssh client raises system exit 1 self._is_devstack = False except Exception: self._is_devstack = False try: from cinder import version version_string = version.version_string() if version_string.startswith('2015.2') or version_string.startswith('7.0'): self._stack_version = 'liberty' elif version_string.startswith('2015.1'): self._stack_version = 'kilo' elif version_string.startswith('2014.2'): self._stack_version = 'juno' else: raise ValueError('Unsupported cinder version: {0}'.format(version_string)) except Exception as ex: raise ValueError('Cannot determine cinder version: {0}'.format(ex))
def _configure_user_groups(self): # Vpool owned by stack / cinder # Give access to libvirt-qemu and ovs if self.is_devstack: self.client.run('usermod -a -G ovs libvirt-qemu') self.client.run('usermod -a -G ovs stack') elif self.is_openstack: users = OSManager.get_openstack_users() for user in users: self.client.run('usermod -a -G ovs {0}'.format(user))
def _configure_user_groups(self): # Vpool owned by stack / cinder # Give access to libvirt-qemu and ovs if self.is_devstack: self.client.run('usermod -a -G ovs libvirt-qemu') self.client.run('usermod -a -G ovs stack') elif self.is_openstack: users = OSManager.get_openstack_users() for user in users: self.client.run('usermod -a -G ovs {0}'.format(user))
def __init__(self, cinder_client): self._logger = LogHandler.get('extensions', name='openstack_mgmt') self.client = SSHClient('127.0.0.1', username='******') self.cinder_client = cinder_client self._NOVA_CONF = '/etc/nova/nova.conf' self._CINDER_CONF = '/etc/cinder/cinder.conf' self._is_openstack = ServiceManager.has_service( OSManager.get_openstack_cinder_service_name(), self.client) self._nova_installed = self.client.file_exists(self._NOVA_CONF) self._cinder_installed = self.client.file_exists(self._CINDER_CONF) self._driver_location = OSManager.get_openstack_package_base_path() self._openstack_users = OSManager.get_openstack_users() self._devstack_driver = '/opt/stack/cinder/cinder/volume/drivers/openvstorage.py' try: self._is_devstack = 'stack' in str( self.client.run( 'ps aux | grep SCREEN | grep stack | grep -v grep || true') ) except SystemExit: # ssh client raises system exit 1 self._is_devstack = False except Exception: self._is_devstack = False try: from cinder import version version_string = version.version_string() if version_string.startswith('9.0'): self._stack_version = 'newton' elif version_string.startswith('8.0'): self._stack_version = 'mitaka' elif version_string.startswith( '2015.2') or version_string.startswith('7.0'): self._stack_version = 'liberty' elif version_string.startswith('2015.1'): self._stack_version = 'kilo' elif version_string.startswith('2014.2'): self._stack_version = 'juno' else: raise ValueError( 'Unsupported cinder version: {0}'.format(version_string)) except Exception as ex: raise ValueError('Cannot determine cinder version: {0}'.format(ex))