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 is_devstack_installed(): """ Check if OpenStack or DevStack is installed :return: True if installed """ client = SSHClient('127.0.0.1', username='******') is_openstack = ServiceManager.has_service(OSManager.get_openstack_cinder_service_name(), client) is_devstack = 'stack' in str(client.run('ps aux | grep SCREEN | grep stack | grep -v grep || true'), allow_insecure=True) return is_openstack or is_devstack
def _is_cinder_running(self): if self.is_devstack: try: return 'cinder-volume' in str(self.client.run('ps aux | grep cinder-volume | grep -v grep')) except SystemExit: return False if self.is_openstack: try: cinder_service = OSManager.get_openstack_cinder_service_name() return ServiceManager.get_service_status(cinder_service, self.client) except SystemExit: return False return False
def _is_cinder_running(self): if self.is_devstack: try: return 'cinder-volume' in str( self.client.run( 'ps aux | grep cinder-volume | grep -v grep')) except SystemExit: return False if self.is_openstack: try: cinder_service = OSManager.get_openstack_cinder_service_name() return ServiceManager.get_service_status( cinder_service, self.client) except SystemExit: return False return False
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))
def _is_openstack(self): cinder_service = OSManager.get_openstack_cinder_service_name() return ServiceManager.has_service(cinder_service, self.client)
def _is_openstack(self): cinder_service = OSManager.get_openstack_cinder_service_name() return ServiceManager.has_service(cinder_service, self.client)