Fix incorrect yaml data for BAckup Saltmaster test

Fix pytest options to launch an update from Ceph luminous to nautilus
Add class name to the name of TestRail test result for nosetests.xml
Run Zooper for Opencontrail deployments
Fix assert for Ceph Luminous -> Nautilus
Fix start_job_on_jenkins results in Failover tests for Ceph

PROD-36273

Change-Id: I3af4c124e13d647357c0aaeadff038130c18ee71
diff --git a/tcp_tests/tests/system/test_backup_restore.py b/tcp_tests/tests/system/test_backup_restore.py
index c47f8aa..7d29e4f 100644
--- a/tcp_tests/tests/system/test_backup_restore.py
+++ b/tcp_tests/tests/system/test_backup_restore.py
@@ -165,15 +165,17 @@
         :param reclass: ReclassManager, tcp-qa Reclass-tools manager
         :param path: str, path to YAML file to update
         """
-        reclass.add_bool_key("parameters.backupninja.enabled", "True", path)
-        reclass.add_key(
-            "parameters.backupninja.client.backup_times.hour",
-            "\"'*'\"",
-            path)
-        reclass.add_key(
-            "parameters.backupninja.client.backup_times.minute",
-            "\"'*/10'\"",
-            path)
+        backup_params = """
+        parameters:
+          backupninja:
+            enabled: True
+            client:
+              backup_times:
+                hour: *
+                minute: 10
+        """
+
+        reclass.merge_context(backup_params, path)
 
     def _precreate_test_files(self, salt, ssh, base_dirs, test_files):
         """Prepare test files for scenarios
diff --git a/tcp_tests/tests/system/test_ceph_luminous_upgrade.py b/tcp_tests/tests/system/test_ceph_luminous_upgrade.py
index 8e06888..bf7346c 100644
--- a/tcp_tests/tests/system/test_ceph_luminous_upgrade.py
+++ b/tcp_tests/tests/system/test_ceph_luminous_upgrade.py
@@ -19,9 +19,9 @@
         Scenario:
             1. Chenge parameters in reclass
             2. Run Pipeline Ceph - upgrade
-        https://docs.mirantis.com/mcp/master/mcp-operations-guide/
-            update-upgrade/major-upgrade/ceph-upgrade/upgrade-ceph.html
-        """
+        https://docs.mirantis.com/mcp/master/mcp-operations-guide/ update-upgrade/major-upgrade/ceph-upgrade/upgrade-ceph.html
+        """  # noqa: E501
+
         salt = salt_actions
         reclass = reclass_actions
         dt = drivetrain_actions
@@ -60,7 +60,8 @@
             "WAIT_FOR_HEALTHY": True,
             "ASK_CONFIRMATION": False
         }
-        upgrade_ceph = dt.start_job_on_jenkins(
+        job_result, job_description = dt.start_job_on_jenkins(
             job_name='ceph-upgrade',
             job_parameters=job_parameters)
-        assert upgrade_ceph == 'SUCCESS'
+
+        assert job_result == 'SUCCESS', job_description
diff --git a/tcp_tests/tests/system/test_failover_ceph.py b/tcp_tests/tests/system/test_failover_ceph.py
index 44658ea..a89d711 100644
--- a/tcp_tests/tests/system/test_failover_ceph.py
+++ b/tcp_tests/tests/system/test_failover_ceph.py
@@ -126,31 +126,31 @@
 
         # Run Tempest smoke test suite
         show_step(5)
-        status = dt.start_job_on_jenkins(
+        job_result, job_description = dt.start_job_on_jenkins(
             job_name=self.TEMPEST_JOB_NAME,
             job_parameters=self.TEMPEST_JOB_PARAMETERS,
             start_timeout=self.JENKINS_START_TIMEOUT,
             build_timeout=self.JENKINS_BUILD_TIMEOUT
         )
 
-        assert status == 'SUCCESS', (
+        assert job_result == 'SUCCESS', (
             "'{0}' job run status is {1} after executing Tempest smoke "
             "tests".format(
-                self.TEMPEST_JOB_NAME, status)
+                self.TEMPEST_JOB_NAME, job_description)
         )
 
         # Run Sanity test
         show_step(6)
-        status = dt.start_job_on_jenkins(
+        job_result, job_description = dt.start_job_on_jenkins(
             job_name=self.SANITY_JOB_NAME,
             job_parameters=self.SANITY_JOB_PARAMETERS,
             start_timeout=self.JENKINS_START_TIMEOUT,
             build_timeout=self.JENKINS_BUILD_TIMEOUT
         )
-        assert status == 'SUCCESS', (
+        assert job_result == 'SUCCESS', (
             "'{0}' job run status is {1} after executing selected sanity "
             "tests".format(
-                self.SANITY_JOB_NAME, status)
+                self.SANITY_JOB_NAME, job_description)
         )
 
     @pytest.mark.grab_versions
@@ -222,31 +222,31 @@
 
         # Run Tempest smoke test suite
         show_step(5)
-        status = dt.start_job_on_jenkins(
+        job_result, job_description = dt.start_job_on_jenkins(
             job_name=self.TEMPEST_JOB_NAME,
             job_parameters=self.TEMPEST_JOB_PARAMETERS,
             start_timeout=self.JENKINS_START_TIMEOUT,
             build_timeout=self.JENKINS_BUILD_TIMEOUT
         )
 
-        assert status == 'SUCCESS', (
+        assert job_result == 'SUCCESS', (
             "'{0}' job run status is {1} after executing Tempest smoke "
             "tests".format(
-                self.TEMPEST_JOB_NAME, status)
+                self.TEMPEST_JOB_NAME, job_description)
         )
 
         # Run Sanity test
         show_step(6)
-        status = dt.start_job_on_jenkins(
+        job_result, job_description = dt.start_job_on_jenkins(
             job_name=self.SANITY_JOB_NAME,
             job_parameters=self.SANITY_JOB_PARAMETERS,
             start_timeout=self.JENKINS_START_TIMEOUT,
             build_timeout=self.JENKINS_BUILD_TIMEOUT
         )
-        assert status == 'SUCCESS', (
+        assert job_result == 'SUCCESS', (
             "'{0}' job run status is {1} after executing selected sanity "
             "tests".format(
-                self.SANITY_JOB_NAME, status)
+                self.SANITY_JOB_NAME, job_description)
         )
 
     @pytest.mark.grab_versions
@@ -317,31 +317,31 @@
 
         # Run Tempest smoke test suite
         show_step(5)
-        status = dt.start_job_on_jenkins(
+        job_result, job_description = dt.start_job_on_jenkins(
             job_name=self.TEMPEST_JOB_NAME,
             job_parameters=self.TEMPEST_JOB_PARAMETERS,
             start_timeout=self.JENKINS_START_TIMEOUT,
             build_timeout=self.JENKINS_BUILD_TIMEOUT
         )
 
-        assert status == 'SUCCESS', (
+        assert job_result == 'SUCCESS', (
             "'{0}' job run status is {1} after executing Tempest smoke "
             "tests".format(
-                self.TEMPEST_JOB_NAME, status)
+                self.TEMPEST_JOB_NAME, job_description)
         )
 
         # Run Sanity test
         show_step(6)
-        status = dt.start_job_on_jenkins(
+        job_result, job_description = dt.start_job_on_jenkins(
             job_name=self.SANITY_JOB_NAME,
             job_parameters=self.SANITY_JOB_PARAMETERS,
             start_timeout=self.JENKINS_START_TIMEOUT,
             build_timeout=self.JENKINS_BUILD_TIMEOUT
         )
-        assert status == 'SUCCESS', (
+        assert job_result == 'SUCCESS', (
             "'{0}' job run status is {1} after executing selected sanity "
             "tests".format(
-                self.SANITY_JOB_NAME, status)
+                self.SANITY_JOB_NAME, job_description)
         )
 
     # #######################################################################