From 6b20e4ba3ac78c6827b3e0e1245527b3a17439c7 Mon Sep 17 00:00:00 2001 From: zhou_zi_xian Date: Fri, 17 Jul 2020 10:46:13 +0800 Subject: [PATCH] get_rsc_failed_message --- resource.py | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/resource.py b/resource.py index 4ecb45b..d718602 100644 --- a/resource.py +++ b/resource.py @@ -606,25 +606,27 @@ def get_rsc_status(rsc_info): return "Running" -def get_rsc_failed_message(): +def get_rsc_failed_message(): cmd = "crm_mon -1 --as-xml" status, stdout = common_utils.run_cmd(cmd) json_str = json.dumps(xmltodict.parse(stdout)) json_dict = json.loads(json_str) - - #print(json_dict['crm_mon']['failures']) - failures = json_dict['crm_mon']['failures']['failure'] failure_info = {} - for failure in failures: - info_failure = {} - rsc_id = failure['@op_key'].replace('_start_0', '').replace('_stop_0', '') - node = failure['@node'] - exitreason = failure['@exitreason'] - info_failure['node'] = node - info_failure['exitreason'] = exitreason - failure_info[rsc_id] = info_failure + + if 'failures' in json_dict['crm_mon']: + # print(json_dict['crm_mon']['failures']) + failures = json_dict['crm_mon']['failures']['failure'] + for failure in failures: + info_failure = {} + rsc_id = failure['@op_key'].replace('_start_0', '').replace('_stop_0', '') + node = failure['@node'] + exitreason = failure['@exitreason'] + info_failure['node'] = node + info_failure['exitreason'] = exitreason + failure_info[rsc_id] = info_failure + return failure_info def update_rsc_failed_info(): -- Gitee