blob: 1bb67ec91d9dcf35edef04f8838d947345cb65d1 [file] [log] [blame]
import utils
import pytest
def test_ui_horizon(local_salt_client):
salt_output = local_salt_client.cmd(
'horizon:server',
'pillar.get',
['_param:cluster_public_host'],
expr_form='pillar')
if not salt_output:
pytest.skip("Horizon is not enabled on this environment")
IP = [salt_output[node] for node in salt_output
if salt_output[node]]
result = local_salt_client.cmd(
'keystone:server',
'cmd.run',
['curl --insecure https://{}/auth/login/ 2>&1 | \
grep Login'.format(IP[0])],
expr_form='pillar')
assert len(result[result.keys()[0]]) != 0, \
'Horizon login page is not reachable on {} from ctl nodes'.format(
IP[0])
@pytest.mark.usefixtures('check_kibana')
def test_internal_ui_kibana(local_salt_client):
IP = utils.get_monitoring_ip('stacklight_log_address')
protocol = 'http'
port = '5601'
url = "{}://{}:{}".format(protocol, IP, port)
result = local_salt_client.cmd(
'keystone:server',
'cmd.run',
['curl {}/app/kibana 2>&1 | \
grep loading'.format(url)],
expr_form='pillar')
assert len(result[result.keys()[0]]) != 0, \
'Internal Kibana login page is not reachable on {} ' \
'from ctl nodes'.format(url)
@pytest.mark.usefixtures('check_kibana')
def test_public_ui_kibana(local_salt_client):
IP = utils.get_monitoring_ip('openstack_proxy_address')
protocol = 'https'
port = '5601'
url = "{}://{}:{}".format(protocol, IP, port)
result = local_salt_client.cmd(
'keystone:server',
'cmd.run',
['curl {}/app/kibana 2>&1 | \
grep loading'.format(url)],
expr_form='pillar')
assert len(result[result.keys()[0]]) != 0, \
'Public Kibana login page is not reachable on {} ' \
'from ctl nodes'.format(url)
@pytest.mark.usefixtures('check_prometheus')
def test_internal_ui_prometheus(local_salt_client):
IP = utils.get_monitoring_ip('stacklight_monitor_address')
protocol = 'http'
port = '15010'
url = "{}://{}:{}".format(protocol, IP, port)
result = local_salt_client.cmd(
'keystone:server',
'cmd.run',
['curl {}/graph 2>&1 | \
grep Prometheus'.format(url)],
expr_form='pillar')
assert len(result[result.keys()[0]]) != 0, \
'Internal Prometheus page is not reachable on {} ' \
'from ctl nodes'.format(url)
@pytest.mark.usefixtures('check_prometheus')
def test_public_ui_prometheus(local_salt_client):
IP = utils.get_monitoring_ip('openstack_proxy_address')
protocol = 'https'
port = '15010'
url = "{}://{}:{}".format(protocol, IP, port)
result = local_salt_client.cmd(
'keystone:server',
'cmd.run',
['curl {}/graph 2>&1 | \
grep Prometheus'.format(url)],
expr_form='pillar')
assert len(result[result.keys()[0]]) != 0, \
'Public Prometheus page is not reachable on {} ' \
'from ctl nodes'.format(url)
@pytest.mark.usefixtures('check_prometheus')
def test_internal_ui_alert_manager(local_salt_client):
IP = utils.get_monitoring_ip('stacklight_monitor_address')
protocol = 'http'
port = '15011'
url = "{}://{}:{}".format(protocol, IP, port)
result = local_salt_client.cmd(
'keystone:server',
'cmd.run',
['curl -s {}/ | grep Alertmanager'.format(url)],
expr_form='pillar')
assert len(result[result.keys()[0]]) != 0, \
'Internal AlertManager page is not reachable on {} ' \
'from ctl nodes'.format(url)
@pytest.mark.usefixtures('check_prometheus')
def test_public_ui_alert_manager(local_salt_client):
IP = utils.get_monitoring_ip('openstack_proxy_address')
protocol = 'https'
port = '15011'
url = "{}://{}:{}".format(protocol, IP, port)
result = local_salt_client.cmd(
'keystone:server',
'cmd.run',
['curl -s {}/ | grep Alertmanager'.format(url)],
expr_form='pillar')
assert len(result[result.keys()[0]]) != 0, \
'Public AlertManager page is not reachable on {} ' \
'from ctl nodes'.format(url)
@pytest.mark.usefixtures('check_grafana')
def test_internal_ui_grafana(local_salt_client):
IP = utils.get_monitoring_ip('stacklight_monitor_address')
protocol = 'http'
port = '15013'
url = "{}://{}:{}".format(protocol, IP, port)
result = local_salt_client.cmd(
'keystone:server',
'cmd.run',
['curl {}/login 2>&1 | grep Grafana'.format(url)],
expr_form='pillar')
assert len(result[result.keys()[0]]) != 0, \
'Internal Grafana page is not reachable on {} ' \
'from ctl nodes'.format(url)
@pytest.mark.usefixtures('check_grafana')
def test_public_ui_grafana(local_salt_client):
IP = utils.get_monitoring_ip('openstack_proxy_address')
protocol = 'https'
port = '8084'
url = "{}://{}:{}".format(protocol, IP, port)
result = local_salt_client.cmd(
'keystone:server',
'cmd.run',
['curl {}/login 2>&1 | grep Grafana'.format(url)],
expr_form='pillar')
assert len(result[result.keys()[0]]) != 0, \
'Public Grafana page is not reachable on {} from ctl nodes'.format(url)
@pytest.mark.usefixtures('check_alerta')
def test_internal_ui_alerta(local_salt_client):
IP = utils.get_monitoring_ip('stacklight_monitor_address')
protocol = 'http'
port = '15017'
url = "{}://{}:{}".format(protocol, IP, port)
result = local_salt_client.cmd(
'keystone:server',
'cmd.run',
['curl {}/ 2>&1 | \
grep Alerta'.format(url)],
expr_form='pillar')
assert len(result[result.keys()[0]]) != 0, \
'Internal Alerta page is not reachable on {} from ctl nodes'.format(url)
@pytest.mark.usefixtures('check_alerta')
def test_public_ui_alerta(local_salt_client):
IP = utils.get_monitoring_ip('openstack_proxy_address')
protocol = 'https'
port = '15017'
url = "{}://{}:{}".format(protocol, IP, port)
result = local_salt_client.cmd(
'keystone:server',
'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)