def run(self, args): create_custom_config_file_if_not_exists() with LockedOpen(CUSTOM_CONFIG_FILE, 'r+'): changed_keys = [] data = {} if os.path.exists(CUSTOM_CONFIG_FILE): data = read_file_content_json(CUSTOM_CONFIG_FILE) if not data: return if args.name.lower() == "all": for k, v in data.items(): changed_keys.append(k) # Reset all keys file_content_overwrite(CUSTOM_CONFIG_FILE, {}) else: changed_keys.append(args.name) del data[args.name] file_content_overwrite(CUSTOM_CONFIG_FILE, data) # If any value changed which requires restart of REST server restart = False for key in changed_keys: if key in RESTART_CONFIGS: restart = True break sync_to_peers() if restart: print ("\nRestart glustereventsd in all nodes")
def run(self, args): create_webhooks_file_if_not_exists() with LockedOpen(WEBHOOKS_FILE, 'r+'): data = json.load(open(WEBHOOKS_FILE)) if data.get(args.url, None) is None: output_error("Webhook does not exists") del data[args.url] file_content_overwrite(WEBHOOKS_FILE, data) sync_to_peers()
def run(self, args): create_webhooks_file_if_not_exists(args) with LockedOpen(WEBHOOKS_FILE, 'r+'): data = json.load(open(WEBHOOKS_FILE)) if data.get(args.url, None) is None: handle_output_error("Webhook does not exists", errcode=ERROR_WEBHOOK_NOT_EXISTS, json_output=args.json) del data[args.url] file_content_overwrite(WEBHOOKS_FILE, data) sync_to_peers(args)
def run(self, args): create_webhooks_file_if_not_exists(args) with LockedOpen(WEBHOOKS_FILE, 'r+'): data = json.load(open(WEBHOOKS_FILE)) if data.get(args.url, None) is not None: handle_output_error("Webhook already exists", errcode=ERROR_WEBHOOK_ALREADY_EXISTS, json_output=args.json) data[args.url] = {"token": args.bearer_token, "secret": args.secret} file_content_overwrite(WEBHOOKS_FILE, data) sync_to_peers(args)
def run(self, args): if args.name not in CONFIG_KEYS: handle_output_error("Invalid Config item", errcode=ERROR_INVALID_CONFIG, json_output=args.json) create_custom_config_file_if_not_exists(args) with LockedOpen(CUSTOM_CONFIG_FILE, 'r+'): data = json.load(open(DEFAULT_CONFIG_FILE)) if os.path.exists(CUSTOM_CONFIG_FILE): config_json = read_file_content_json(CUSTOM_CONFIG_FILE) data.update(config_json) # Do Nothing if same as previous value if data[args.name] == args.value: handle_output_error("Config value not changed. Same config", errcode=ERROR_SAME_CONFIG, json_output=args.json) # TODO: Validate Value new_data = read_file_content_json(CUSTOM_CONFIG_FILE) v = args.value if args.name in BOOL_CONFIGS: v = boolify(args.value) if args.name in INT_CONFIGS: v = int(args.value) new_data[args.name] = v file_content_overwrite(CUSTOM_CONFIG_FILE, new_data) # If any value changed which requires restart of REST server restart = False if args.name in RESTART_CONFIGS: restart = True if restart: print ("\nRestart glustereventsd in all nodes") sync_to_peers(args)
def run(self, args): create_custom_config_file_if_not_exists(args) with LockedOpen(CUSTOM_CONFIG_FILE, 'r+'): changed_keys = [] data = {} if os.path.exists(CUSTOM_CONFIG_FILE): data = read_file_content_json(CUSTOM_CONFIG_FILE) # If No data available in custom config or, the specific config # item is not available in custom config if not data or \ (args.name != "all" and data.get(args.name, None) is None): handle_output_error( "Config value not reset. Already " "set to default value", errcode=ERROR_SAME_CONFIG, json_output=args.json) if args.name.lower() == "all": for k, v in data.items(): changed_keys.append(k) # Reset all keys file_content_overwrite(CUSTOM_CONFIG_FILE, {}) else: changed_keys.append(args.name) del data[args.name] file_content_overwrite(CUSTOM_CONFIG_FILE, data) # If any value changed which requires restart of REST server restart = False for key in changed_keys: if key in RESTART_CONFIGS: restart = True break if restart: print("\nRestart glustereventsd in all nodes") sync_to_peers(args)
def run(self, args): create_webhooks_file_if_not_exists(args) with LockedOpen(WEBHOOKS_FILE, 'r+'): data = json.load(open(WEBHOOKS_FILE)) if data.get(args.url, None) is None: handle_output_error("Webhook does not exists", errcode=ERROR_WEBHOOK_NOT_EXISTS, json_output=args.json) if isinstance(data[args.url], str) or \ isinstance(data[args.url], unicode): data[args.url]["token"] = data[args.url] if args.bearer_token != "": data[args.url]["token"] = args.bearer_token if args.secret != "": data[args.url]["secret"] = args.secret file_content_overwrite(WEBHOOKS_FILE, data) sync_to_peers(args)