[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}")