Add more public url tests for UIs

Related-PROD: PROD-23746

Change-Id: Ie680d0d934cf36f4147b9d9a079f53469d26eccc
diff --git a/test_set/cvp-sanity/tests/test_ui_addresses.py b/test_set/cvp-sanity/tests/test_ui_addresses.py
index 1bb67ec..a2f0f2d 100644
--- a/test_set/cvp-sanity/tests/test_ui_addresses.py
+++ b/test_set/cvp-sanity/tests/test_ui_addresses.py
@@ -2,7 +2,8 @@
 import pytest
 
 
-def test_ui_horizon(local_salt_client):
+@pytest.mark.usefixtures('check_openstack')
+def test_ui_horizon(local_salt_client, ctl_nodes_pillar):
     salt_output = local_salt_client.cmd(
         'horizon:server',
         'pillar.get',
@@ -13,7 +14,7 @@
     IP = [salt_output[node] for node in salt_output
           if salt_output[node]]
     result = local_salt_client.cmd(
-        'keystone:server',
+        ctl_nodes_pillar,
         'cmd.run',
         ['curl --insecure https://{}/auth/login/ 2>&1 | \
          grep Login'.format(IP[0])],
@@ -23,14 +24,30 @@
         IP[0])
 
 
+@pytest.mark.usefixtures('check_openstack')
+def test_public_openstack(local_salt_client, ctl_nodes_pillar):
+    IP = utils.get_monitoring_ip('cluster_public_host')
+    protocol = 'https'
+    port = '5000'
+    url = "{}://{}:{}/v3".format(protocol, IP, port)
+    result = local_salt_client.cmd(
+        ctl_nodes_pillar,
+        'cmd.run',
+        ['curl -k {}/ 2>&1 | \
+         grep stable'.format(url)],
+        expr_form='pillar')
+    assert len(result[result.keys()[0]]) != 0, \
+        'Public Openstack url is not reachable on {} from ctl nodes'.format(url)
+
+
 @pytest.mark.usefixtures('check_kibana')
-def test_internal_ui_kibana(local_salt_client):
+def test_internal_ui_kibana(local_salt_client, ctl_nodes_pillar):
     IP = utils.get_monitoring_ip('stacklight_log_address')
     protocol = 'http'
     port = '5601'
     url = "{}://{}:{}".format(protocol, IP, port)
     result = local_salt_client.cmd(
-        'keystone:server',
+        ctl_nodes_pillar,
         'cmd.run',
         ['curl {}/app/kibana 2>&1 | \
          grep loading'.format(url)],
@@ -41,13 +58,13 @@
 
 
 @pytest.mark.usefixtures('check_kibana')
-def test_public_ui_kibana(local_salt_client):
-    IP = utils.get_monitoring_ip('openstack_proxy_address')
+def test_public_ui_kibana(local_salt_client, ctl_nodes_pillar):
+    IP = utils.get_monitoring_ip('cluster_public_host')
     protocol = 'https'
     port = '5601'
     url = "{}://{}:{}".format(protocol, IP, port)
     result = local_salt_client.cmd(
-        'keystone:server',
+        ctl_nodes_pillar,
         'cmd.run',
         ['curl {}/app/kibana 2>&1 | \
          grep loading'.format(url)],
@@ -58,13 +75,13 @@
 
 
 @pytest.mark.usefixtures('check_prometheus')
-def test_internal_ui_prometheus(local_salt_client):
+def test_internal_ui_prometheus(local_salt_client, ctl_nodes_pillar):
     IP = utils.get_monitoring_ip('stacklight_monitor_address')
     protocol = 'http'
     port = '15010'
     url = "{}://{}:{}".format(protocol, IP, port)
     result = local_salt_client.cmd(
-        'keystone:server',
+        ctl_nodes_pillar,
         'cmd.run',
         ['curl {}/graph 2>&1 | \
          grep Prometheus'.format(url)],
@@ -75,13 +92,13 @@
 
 
 @pytest.mark.usefixtures('check_prometheus')
-def test_public_ui_prometheus(local_salt_client):
-    IP = utils.get_monitoring_ip('openstack_proxy_address')
+def test_public_ui_prometheus(local_salt_client, ctl_nodes_pillar):
+    IP = utils.get_monitoring_ip('cluster_public_host')
     protocol = 'https'
     port = '15010'
     url = "{}://{}:{}".format(protocol, IP, port)
     result = local_salt_client.cmd(
-        'keystone:server',
+        ctl_nodes_pillar,
         'cmd.run',
         ['curl {}/graph 2>&1 | \
          grep Prometheus'.format(url)],
@@ -92,13 +109,13 @@
 
 
 @pytest.mark.usefixtures('check_prometheus')
-def test_internal_ui_alert_manager(local_salt_client):
+def test_internal_ui_alert_manager(local_salt_client, ctl_nodes_pillar):
     IP = utils.get_monitoring_ip('stacklight_monitor_address')
     protocol = 'http'
     port = '15011'
     url = "{}://{}:{}".format(protocol, IP, port)
     result = local_salt_client.cmd(
-        'keystone:server',
+        ctl_nodes_pillar,
         'cmd.run',
         ['curl -s {}/ | grep Alertmanager'.format(url)],
         expr_form='pillar')
@@ -108,13 +125,13 @@
 
 
 @pytest.mark.usefixtures('check_prometheus')
-def test_public_ui_alert_manager(local_salt_client):
-    IP = utils.get_monitoring_ip('openstack_proxy_address')
+def test_public_ui_alert_manager(local_salt_client, ctl_nodes_pillar):
+    IP = utils.get_monitoring_ip('cluster_public_host')
     protocol = 'https'
     port = '15011'
     url = "{}://{}:{}".format(protocol, IP, port)
     result = local_salt_client.cmd(
-        'keystone:server',
+        ctl_nodes_pillar,
         'cmd.run',
         ['curl -s {}/ | grep Alertmanager'.format(url)],
         expr_form='pillar')
@@ -124,13 +141,13 @@
 
 
 @pytest.mark.usefixtures('check_grafana')
-def test_internal_ui_grafana(local_salt_client):
+def test_internal_ui_grafana(local_salt_client, ctl_nodes_pillar):
     IP = utils.get_monitoring_ip('stacklight_monitor_address')
     protocol = 'http'
     port = '15013'
     url = "{}://{}:{}".format(protocol, IP, port)
     result = local_salt_client.cmd(
-        'keystone:server',
+        ctl_nodes_pillar,
         'cmd.run',
         ['curl {}/login 2>&1 | grep Grafana'.format(url)],
         expr_form='pillar')
@@ -140,13 +157,13 @@
 
 
 @pytest.mark.usefixtures('check_grafana')
-def test_public_ui_grafana(local_salt_client):
-    IP = utils.get_monitoring_ip('openstack_proxy_address')
+def test_public_ui_grafana(local_salt_client, ctl_nodes_pillar):
+    IP = utils.get_monitoring_ip('cluster_public_host')
     protocol = 'https'
     port = '8084'
     url = "{}://{}:{}".format(protocol, IP, port)
     result = local_salt_client.cmd(
-        'keystone:server',
+        ctl_nodes_pillar,
         'cmd.run',
         ['curl {}/login 2>&1 | grep Grafana'.format(url)],
         expr_form='pillar')
@@ -155,13 +172,13 @@
 
 
 @pytest.mark.usefixtures('check_alerta')
-def test_internal_ui_alerta(local_salt_client):
+def test_internal_ui_alerta(local_salt_client, ctl_nodes_pillar):
     IP = utils.get_monitoring_ip('stacklight_monitor_address')
     protocol = 'http'
     port = '15017'
     url = "{}://{}:{}".format(protocol, IP, port)
     result = local_salt_client.cmd(
-        'keystone:server',
+        ctl_nodes_pillar,
         'cmd.run',
         ['curl {}/ 2>&1 | \
          grep Alerta'.format(url)],
@@ -171,16 +188,48 @@
 
 
 @pytest.mark.usefixtures('check_alerta')
-def test_public_ui_alerta(local_salt_client):
-    IP = utils.get_monitoring_ip('openstack_proxy_address')
+def test_public_ui_alerta(local_salt_client, ctl_nodes_pillar):
+    IP = utils.get_monitoring_ip('cluster_public_host')
     protocol = 'https'
     port = '15017'
     url = "{}://{}:{}".format(protocol, IP, port)
     result = local_salt_client.cmd(
-        'keystone:server',
+        ctl_nodes_pillar,
         'cmd.run',
         ['curl {}/ 2>&1 | \
          grep Alerta'.format(url)],
         expr_form='pillar')
     assert len(result[result.keys()[0]]) != 0, \
         'Public Alerta page is not reachable on {} from ctl nodes'.format(url)
+
+
+@pytest.mark.usefixtures('check_drivetrain')
+def test_public_ui_jenkins(local_salt_client, ctl_nodes_pillar):
+    IP = utils.get_monitoring_ip('cluster_public_host')
+    protocol = 'https'
+    port = '8081'
+    url = "{}://{}:{}".format(protocol, IP, port)
+    result = local_salt_client.cmd(
+        ctl_nodes_pillar,
+        'cmd.run',
+        ['curl -k {}/ 2>&1 | \
+         grep Authentication'.format(url)],
+        expr_form='pillar')
+    assert len(result[result.keys()[0]]) != 0, \
+        'Public Jenkins page is not reachable on {} from ctl nodes'.format(url)
+
+
+@pytest.mark.usefixtures('check_drivetrain')
+def test_public_ui_gerrit(local_salt_client, ctl_nodes_pillar):
+    IP = utils.get_monitoring_ip('cluster_public_host')
+    protocol = 'https'
+    port = '8070'
+    url = "{}://{}:{}".format(protocol, IP, port)
+    result = local_salt_client.cmd(
+        ctl_nodes_pillar,
+        'cmd.run',
+        ['curl -k {}/ 2>&1 | \
+         grep "Gerrit Code Review"'.format(url)],
+        expr_form='pillar')
+    assert len(result[result.keys()[0]]) != 0, \
+        'Public Gerrit page is not reachable on {} from ctl nodes'.format(url)