コード例 #1
0
    def _create_setting(self, context, setting_dict):

        try:
            return db.vsm_settings_update_or_create(context, setting_dict)

        except db_exc.DBError as e:
            raise exc.HTTPServerError(explanation=e.message)
コード例 #2
0
    def _create_setting(self, context, setting_dict):

        try:
            return db.vsm_settings_update_or_create(context, setting_dict)

        except db_exc.DBError as e:
            raise exc.HTTPServerError(explanation=e.message)
コード例 #3
0
 def _write_cache_tier_defaults(self):
     if not self._cluster_info.get('cache_tier_defaults', None):
         return True
     cache_tier_defaults = self._cluster_info['cache_tier_defaults']
     LOG.info("CLUSTER INFO")
     LOG.info(cache_tier_defaults)
     name_list = []
     sets = db.vsm_settings_get_all(self._context)
     db_list = [s.name for s in sets]
     for setting in cache_tier_defaults:
         LOG.info(setting)
         name = setting.get('name', None)
         value = setting.get('default_value', None)
         if not name in db_list:
             try:
                 if not value.isdigit():
                     value = float(value)
             except ValueError:
                 value = None
             except AttributeError:
                 value = None
             if not value:
                 LOG.warn('The default value of %s should be digit. Load default value ...' % name)
                 value = FLAGS.get(name, None)
                 if not value:
                     LOG.warn('Failed to load the default value of %s.' % name)
                     try:
                         raise exception.GetNoneError
                     except exception.GetNoneError as e:
                         LOG.error("%s:%s" %(e.code, e.message))
                     ret = False
                     continue
             setting['value'] = value
             ref = db.vsm_settings_update_or_create(self._context, setting)
             name_list.append(name)
コード例 #4
0
ファイル: vsm_settings.py プロジェクト: hl10502/vsm
    def _create_setting(self, context, setting_dict):

        try:
            if setting_dict.get('name') in ['cpu_diamond_collect_interval','ceph_diamond_collect_interval']:
                 self.scheduler_api.reconfig_diamond(context, setting_dict)
            return db.vsm_settings_update_or_create(context, setting_dict)

        except db_exc.DBError as e:
            raise exc.HTTPServerError(explanation=e.message)
コード例 #5
0
 def _write_cache_tier_defaults(self):
     if not self._cluster_info.get('cache_tier_defaults', None):
         return True
     cache_tier_defaults = self._cluster_info['cache_tier_defaults']
     LOG.info("CLUSTER INFO")
     LOG.info(cache_tier_defaults)
     name_list = []
     sets = db.vsm_settings_get_all(self._context)
     db_list = [s.name for s in sets]
     for setting in cache_tier_defaults:
         LOG.info(setting)
         name = setting.get('name', None)
         value = setting.get('default_value', None)
         if not name in db_list:
             try:
                 if not value.isdigit():
                     value = float(value)
             except ValueError:
                 value = None
             except AttributeError:
                 value = None
             if not value:
                 LOG.warn(
                     'The default value of %s should be digit. Load default value ...'
                     % name)
                 value = FLAGS.get(name, None)
                 if not value:
                     LOG.warn('Failed to load the default value of %s.' %
                              name)
                     try:
                         raise exception.GetNoneError
                     except exception.GetNoneError as e:
                         LOG.error("%s:%s" % (e.code, e.message))
                     ret = False
                     continue
             setting['value'] = value
             ref = db.vsm_settings_update_or_create(self._context, setting)
             name_list.append(name)
コード例 #6
0
 def setting_update(self, context, values):
     return db.vsm_settings_update_or_create(context, values)
コード例 #7
0
    def _write_vsm_settings(self):
        """Writing vsm settings into DB.

           [settings]
           #format [key] [default_value]
           storage_group_near_full_threshold 65
           storage_group_full_threshold 85

        """
        ret = True
        setting_list = self._cluster_info['settings']
        name_list = list()
        sets = db.vsm_settings_get_all(self._context)
        db_list = [s.name for s in sets]
        LOG.debug('vsm settings already exists in db: %s' % db_list)

        for setting in setting_list:
            try:
                name = setting.get('name', None)
                value = setting.get('default_value', None)
                # The setting does not exist in db.
                if not name in db_list:
                    if not value or not value.isdigit():
                        LOG.warn(
                            'The default value of %s should be digit. Load default value ...'
                            % name)
                        value = FLAGS.get(name, None)
                        if not value:
                            LOG.warn(
                                'Failed to load the default value of %s.' %
                                name)
                            try:
                                raise exception.GetNoneError
                            except exception.GetNoneError as e:
                                LOG.error("%s:%s" % (e.code, e.message))
                            ret = False
                            continue
                    setting['value'] = value
                    ref = db.vsm_settings_update_or_create(
                        self._context, setting)
                    name_list.append(name)
            except:
                ret = False
                LOG.error('Failed to load setting %s.' % name)
                continue

        # load other default vsm settings from flags
        setting_list = name_list + db_list
        LOG.debug('settings loaded: %s' % setting_list)
        for ss in flags.vsm_settings_opts:

            if not ss.name in setting_list:
                try:
                    val = {
                        'name': ss.name,
                        'value': str(ss.default),
                        'default_value': str(ss.default)
                    }
                    ref = db.vsm_settings_update_or_create(self._context, val)
                except:
                    ret = False
                    LOG.error('Failed to load setting %s from flags.' % name)
                continue

        return ret
コード例 #8
0
    def _write_vsm_settings(self):
        """Writing vsm settings into DB.

           [settings]
           #format [key] [default_value]
           storage_group_near_full_threshold 65
           storage_group_full_threshold 85

        """
        ret = True
        setting_list = self._cluster_info['settings']
        name_list = list()
        sets = db.vsm_settings_get_all(self._context)
        db_list = [s.name for s in sets]
        LOG.debug('vsm settings already exists in db: %s' % db_list)

        for setting in setting_list:
            try:
                name = setting.get('name', None)
                value = setting.get('default_value', None)
                # The setting does not exist in db.
                if not name in db_list:
                    if not value or not value.isdigit():
                        LOG.warn('The default value of %s should be digit. Load default value ...' % name)
                        value = FLAGS.get(name, None)
                        if not value:
                            LOG.warn('Failed to load the default value of %s.' % name)
                            try:
                                raise exception.GetNoneError
                            except exception.GetNoneError as e:
                                LOG.error("%s:%s" %(e.code, e.message))
                            ret = False
                            continue
                    setting['value'] = value
                    ref = db.vsm_settings_update_or_create(self._context,
                                                           setting)
                    name_list.append(name)
            except:
                ret = False
                LOG.error('Failed to load setting %s.' % name)
                continue

        # load other default vsm settings from flags
        setting_list = name_list + db_list
        LOG.debug('settings loaded: %s' % setting_list)
        for ss in flags.vsm_settings_opts:

            if not ss.name in setting_list:
                try:
                    val = {
                        'name': ss.name,
                        'value': str(ss.default),
                        'default_value': str(ss.default)
                    }
                    ref = db.vsm_settings_update_or_create(self._context,
                                                           val)
                except:
                    ret = False
                    LOG.error('Failed to load setting %s from flags.' % name)
                continue

        return ret
コード例 #9
0
 def setting_update(self, context, values):
     return db.vsm_settings_update_or_create(context, values)