[rp-reporter] Added new tags
Related-Prod: PRODX-48948
Change-Id: I91506105f8a4247e3d7dca02df40c9d4366692f6
diff --git a/rp_reporter/rp_reporter/batch_reporter.py b/rp_reporter/rp_reporter/batch_reporter.py
index 1d210c4..1f6ec61 100755
--- a/rp_reporter/rp_reporter/batch_reporter.py
+++ b/rp_reporter/rp_reporter/batch_reporter.py
@@ -10,8 +10,9 @@
from typing import List, Optional
import jenkins_jinny.main as jj
-from copy import deepcopy
-from .report_from_xml import timestamp, Reporter
+
+from rp_reporter.settings import TIME_FORMAT
+from rp_reporter.report_from_xml import timestamp, Reporter
LOG = logging.getLogger("rp_reporter")
@@ -79,14 +80,12 @@
def get_tags(job: jj.Build):
tags = dict()
- tags["start_time"] = job.start_time.strftime("%Y-%m-%d-%H-%M-%S")
+ tags["start_time"] = job.start_time.strftime(TIME_FORMAT)
if context_name := job.param.OPENSTACK_CONTEXT_NAME:
tags["openstack"] = context_name.split("/")[0]
tags["context"] = context_name.split("/")[-1]
-
-
if "mosk-24.3" in job.name:
tags["mosk_version"] = "mosk-24.3"
elif "mosk-25.1" in job.name:
@@ -95,6 +94,7 @@
tags["mosk_version"] = "mosk-25.2"
else:
tags["mosk_version"] = "master"
+
return tags
def get_tags_from_osdpl(osdpl_file):
@@ -112,6 +112,16 @@
else:
tags["neutron.backend"] = "ovs"
+ if dvr:=jmespath.search("items[*].spec.features.neutron.dvr.enabled", osdpl_dict):
+ tags["dvr"] = dvr[0]
+ else:
+ tags["dvr"] = False
+
+ if vpnaas:=jmespath.search("items[*].spec.features.neutron.extensions.vpnaas.enabled", osdpl_dict):
+ tags["vpnaas"] = vpnaas[0]
+ else:
+ tags["vpnaas"] = False
+
if nova_images:=jmespath.search("items[*].spec.features.nova.images.backend", osdpl_dict):
tags["nova.images.backend"] = nova_images[0]
@@ -157,7 +167,6 @@
"failureDomain:",
"portprober_arping_target_failure",
"ingress:[error-pages:",
-
]
all_logs = job.get_logs()
@@ -169,7 +178,6 @@
item_id=subjob_item_id
)
sleep(0.001)
- # ipdb.set_trace()
rp_client.finish_test_item(item_id=subjob_item_id,
status=status,
end_time=timestamp(),
@@ -233,10 +241,22 @@
test_results_files = None
match child.name:
case "deploy-openstack-k8s-env":
+ if base_ubuntu := job.param.HEAT_BASE_IMAGE_DISTRO:
+ tags["base_ubuntu"] = base_ubuntu
+ if masakari := job.param.INSTALL_MASAKARI:
+ tags["masakari"] = masakari
+ if vault := job.param.INSTALL_VAULT:
+ tags["vault"] = vault
+ if ceph := job.param.INSTALL_CEPH:
+ tags["ceph"] = ceph
+ if telemetry := job.param.INSTALL_TELEMETRY:
+ tags["telemetry"] = telemetry
+
osdpl_file = child.get_artifacts("deployed.yaml")
if not osdpl_file:
LOG.error(f"Can't find osdpl file in {job}")
continue
+
tags.update(get_tags_from_osdpl(osdpl_file))
rp_client.update_test_item(
attributes=tags,
@@ -251,9 +271,6 @@
if "tempest_report.xml" in file_url]
case "stepler-runner-k8s":
title = "Stepler"
- # report_path = [file_url
- # for file_url in child.get_link_from_description()
- # if "stepler_test_results.xml" in file_url ][0]
test_results_files = child.get_artifacts("stepler_test_results.xml")
if not test_results_files:
LOG.error(f"Can't found 'stepler_test_results.xml' in "
diff --git a/rp_reporter/rp_reporter/settings.py b/rp_reporter/rp_reporter/settings.py
index 3ca05bf..9cdd7cd 100644
--- a/rp_reporter/rp_reporter/settings.py
+++ b/rp_reporter/rp_reporter/settings.py
@@ -27,15 +27,17 @@
RP_ENDPOINT = environ.get('RP_ENDPOINT') or from_conf('RP_ENDPOINT') or call_error("RP_ENDPOINT")
RP_PROJECT = environ.get('RP_PROJECT') or from_conf('RP_PROJECT') or call_error("RP_PROJECT")
-RP_LOG_FILE = environ.get('RP_LOG_FILE') or from_conf('RP_LOG_FILE') or (Path.cwd() / "report.log")
+RP_LOG_FILE = environ.get('RP_LOG_FILE') or from_conf('RP_LOG_FILE')
RP_LOGGING = environ.get('RP_LOGGING') or from_conf('RP_LOGGING') or logging.WARNING
logging.basicConfig(level=RP_LOGGING,
format='%(asctime)s %(levelname)s - %(filename)s:%(lineno)d (%(funcName)s) - %(message)s',
- # filename=RP_LOG_FILE,
- # filemode='w'
+ filename=RP_LOG_FILE,
+ filemode='w'
)
+TIME_FORMAT = "%Y-%m-%d"
+
if __name__ == "__main__":
LOG.info(f"RP_APIKEY: {RP_APIKEY}")
LOG.info(f"RP_ENDPOINT: {RP_ENDPOINT}")