diff --git a/jobs/templates/test-scenarios.yml b/jobs/templates/test-scenarios.yml
index e8c5fb8..6a45508 100644
--- a/jobs/templates/test-scenarios.yml
+++ b/jobs/templates/test-scenarios.yml
@@ -222,16 +222,6 @@
       numToKeep: 60
       artifactDaysToKeep: -1
       artifactNumToKeep: -1
-    # Requires the Jenkins BuildResultTrigger Plugin
-    triggers:
-      - build-result:
-          cron: '* * * * *'
-          combine: true
-          groups:
-            - jobs:
-                - '{deployment}'
-              results:
-                - success
 
     pipeline-scm:
       lightweight-checkout: false
diff --git a/tcp_tests/tests/system/test_upgrade_pike_queens.py b/tcp_tests/tests/system/test_upgrade_pike_queens.py
index 0b35add..41db505 100644
--- a/tcp_tests/tests/system/test_upgrade_pike_queens.py
+++ b/tcp_tests/tests/system/test_upgrade_pike_queens.py
@@ -142,6 +142,11 @@
         reclass_actions.add_key('parameters._param.gnocchi_old_version',
                                 4.0,
                                 openstack_init_yaml)
+        reclass_actions.add_bool_key(
+            'parameters._param.openstack_heat_cloudwatch_api_enabled',
+            'false',
+            openstack_init_yaml
+        )
 
         # ### Edit Openstack Telemetry #####
         openstack_telemetry_yaml = "cluster/*/openstack/telemetry.yml"
@@ -235,25 +240,28 @@
         # ########## Upgrade gateway nodes  ###########
         show_step(3)
         LOG.info('Upgrade gateway')
-        job_name = 'deploy-upgrade-ovs-gateway'
-        job_parameters = {
-            'INTERACTIVE': False,
-            'OS_DIST_UPGRADE': True,
-            'OS_UPGRADE': True,
-            'TARGET_SERVERS': "gtw*"
-        }
+        gtw_nodes = salt_actions.get_minions_by_target("I@neutron:gateway")
 
-        def run_deploy_upgrade_ovs_gateway():
-            if salt_actions.cmd_run("gtw*", "test.ping")[0].keys():
-                job_result, job_description = dt.start_job_on_jenkins(
-                    job_name=job_name,
-                    job_parameters=job_parameters)
-                assert job_result == 'SUCCESS', job_description
-            else:
-                LOG.info("This deployment doesn't have gtw* nodes, \
-                so skip this step")
+        if not gtw_nodes:
+            LOG.info("This deployment doesn't have gtw* nodes, \
+                            so skip this step")
 
-        run_deploy_upgrade_ovs_gateway()
+        def run_deploy_upgrade_ovs_gateway(target):
+            job_name = 'deploy-upgrade-ovs-gateway'
+            job_parameters = {
+                    'INTERACTIVE': False,
+                    'OS_DIST_UPGRADE': True,
+                    'OS_UPGRADE': True,
+                    'TARGET_SERVERS': target
+                }
+            job_result, job_description = dt.start_job_on_jenkins(
+                job_name=job_name,
+                job_parameters=job_parameters)
+            assert job_result == 'SUCCESS', job_description
+
+        for target in gtw_nodes:
+            run_deploy_upgrade_ovs_gateway(target)
+
         # ############ Upgrade compute nodes  ############
         show_step(4)
         LOG.info('Upgrade compute nodes')
