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)
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)
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)
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)
def setting_update(self, context, values): return db.vsm_settings_update_or_create(context, values)
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
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