diff --git a/resource.py b/resource.py index cc9f0cb4b9ea201ee82bf1013ccd96b1144281af..07e4f970300da72d1b7dedf600e7d1a74826ea99 100644 --- a/resource.py +++ b/resource.py @@ -1218,6 +1218,16 @@ def create_resource(data): cmd = "cibadmin --create -o resources --xml-text '<" crm = "crm_resource -m -r " role = " --set-parameter target-role --parameter-value stopped" + status, output = common_utils.run_cmd("cibadmin -Q") + xml_resource = parseString(output).documentElement + resourceid = [] + for primitive in xml_resource.getElementsByTagName("primitive"): + id = str(primitive.getAttribute("id")) + resource_id = { + 'id': id + } + if rsc_id is resource_id['id'] or rsc_id == resource_id['id']: + return {'action': False, 'error': "%s Resources already exist" %(str(rsc_id)) } if "provider" in data: provider = " provider=\"" + str(data["provider"]) + "\"" cmd_str = cmd + cate + rsc_id_str + rsc_class + rsc_type + provider + ">'" @@ -1258,6 +1268,15 @@ def create_resource(data): rscs = data["rscs"] rsc_id = str(data["id"]) cmd_str = "pcs resource group add " + rsc_id + status, output = common_utils.run_cmd("cibadmin -Q") + xml_resource = parseString(output).documentElement + for group in xml_resource.getElementsByTagName("group"): + id = str(group.getAttribute("id")) + resource_id = { + 'id': id + } + if rsc_id is resource_id['id'] or rsc_id == resource_id['id']: + return {'action': False, 'error': "%s Resources already exist" %(str(rsc_id)) } for r in rscs: cmd_str = cmd_str + " " + str(r) status, output = common_utils.run_cmd(cmd_str)