Esempio n. 1
0
    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
Esempio n. 3
0
 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
Esempio n. 4
0
 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
Esempio n. 5
0
    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))
Esempio n. 6
0
 def _is_openstack(self):
     cinder_service = OSManager.get_openstack_cinder_service_name()
     return ServiceManager.has_service(cinder_service, self.client)
Esempio n. 7
0
 def _is_openstack(self):
     cinder_service = OSManager.get_openstack_cinder_service_name()
     return ServiceManager.has_service(cinder_service, self.client)