Adjusting code to be able to download SLO definition from GCDM environments

master
Patryk Gudalewicz 2023-06-21 14:38:52 +02:00
parent 8f6778e5d6
commit bdfaa502e7
2 changed files with 11 additions and 5 deletions

View File

@ -376,7 +376,10 @@ def getSloSrvNames(hub_config, configuration, doc, env):
elif env=="cnprod":
hub = "cn"
krp = krparser.KRParser(name=env,options=krparser.KROption.RESOLVESERVICES, config={"threads":10, "serviceLookupParams":{"fields":"tags"}, "extendResultObjects":{"env":env}}, DTAPIURL=hub_config[env]["remote_url"], DTAPIToken=config(doc[env][2].get('env-token-name')))
sloobj = getSLO(hub,hub_config[env]["remote_url"],configuration["ids"][hub],config(doc[env][2].get('env-token-name')))
if(configuration["hubs"][hub]["type"] == "gcdm"):
sloobj = getSLO(hub,hub_config[env]["remote_url_gcdm"],configuration["ids"][hub],config(doc[env][2].get('env-token-name')))
else:
sloobj = getSLO(hub,hub_config[env]["remote_url"],configuration["ids"][hub],config(doc[env][2].get('env-token-name')))
krs = krp.parse(sloobj)
slosrvnames = []
outputslos = []
@ -386,10 +389,12 @@ def getSloSrvNames(hub_config, configuration, doc, env):
selectortype = "KR"
elif("builtin:service.keyRequest" not in krslo.metadata["metricExpression"]):
selectortype = "SRV"
for kr in krslo.keyRequests:
for srv in kr["services"]:
slosrvnames.append(srv["displayName"])
for group in krslo.matchedGroups._list:
for srv in group["services"]:
slosrvnames.append(srv)
slosrvnames = list(dict.fromkeys(slosrvnames))
if(sloobj["name"] == "TP_Vehicle_Teleservices"):
print(sloobj["name"])
for srv in slosrvnames:
outputslos.append("~\""+srv+"~\"")
return {"selectortype":selectortype, "services":",".join(outputslos)}

View File

@ -2,15 +2,16 @@ globaldashboard:
- name: "globaldashboard"
- env-url: "https://jyy23483.live.dynatrace.com/"
- env-token-name: "GLOBAL_CONFIG_TOKEN"
euprod:
- name: "euprod"
- env-url: "https://xxu26128.live.dynatrace.com"
- env-token-name: "EUPROD_TOKEN"
- gcdm-token-name: "EUPROD_GCDM_TOKEN"
naprod:
- name: "naprod"
- env-url: "https://wgv50241.live.dynatrace.com"
- env-token-name: "NAPROD_TOKEN"
- gcdm-token-name: "NAPROD_GCDM_TOKEN"
cnprod:
- name: "cnprod"
- env-url: "https://dynatrace-cn-int.bmwgroup.com:443/e/b921f1b9-c00e-4031-b9d1-f5a0d530757b"