diff --git a/.zuul.yaml b/.zuul.yaml index 3b7f0de..211fc57 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -78,6 +78,7 @@ - openstack/diskimage-builder - openstack/tempest - gnocchixyz/gnocchi + - infrawatch/sg-core vars: &base_vars configure_swap_size: 8192 devstack_plugins: @@ -85,13 +86,14 @@ ceilometer: https://opendev.org/openstack/ceilometer aodh: https://opendev.org/openstack/aodh panko: https://opendev.org/openstack/panko + sg-core: https://github.com/infrawatch/sg-core devstack_services: tempest: true devstack_localrc: USE_PYTHON3: True TEMPEST_PLUGINS: '"/opt/stack/telemetry-tempest-plugin /opt/stack/heat-tempest-plugin"' GNOCCHI_ARCHIVE_POLICY_TEMPEST: "ceilometer-high-rate" - CEILOMETER_BACKEND: "gnocchi" + CEILOMETER_BACKENDS: "gnocchi,sg-core" CEILOMETER_PIPELINE_INTERVAL: 15 CEILOMETER_ALARM_THRESHOLD: 6000000000 GLOBAL_VENV: False diff --git a/telemetry_tempest_plugin/config.py b/telemetry_tempest_plugin/config.py index e12d3f9..ef43cf7 100644 --- a/telemetry_tempest_plugin/config.py +++ b/telemetry_tempest_plugin/config.py @@ -70,6 +70,10 @@ TelemetryGroup = [ default=False, help="Disable SSL certificate validation when running " "scenario tests"), + cfg.StrOpt('sg_core_service_url', + default="127.0.0.1:3000", + help="URL to sg-core prometheus endpoint"), + ] event_opts = [ diff --git a/telemetry_tempest_plugin/scenario/telemetry_integration_gabbits/ceilometer-sg-core-integration.yaml b/telemetry_tempest_plugin/scenario/telemetry_integration_gabbits/ceilometer-sg-core-integration.yaml new file mode 100644 index 0000000..f4cd0b1 --- /dev/null +++ b/telemetry_tempest_plugin/scenario/telemetry_integration_gabbits/ceilometer-sg-core-integration.yaml @@ -0,0 +1,10 @@ +tests: + - name: Check for ceilometer metrics + desc: Check the sg-core prometheus endpoint for ceilometer metrics + GET: $ENVIRON['SG_CORE_SERVICE_URL']/metrics + poll: + count: 60 + delay: 2 + response_strings: + - "ceilometer_image_size" + - "sg_total_ceilometer_metric_decode_error_count{source=\"SG\"} 0" diff --git a/telemetry_tempest_plugin/scenario/test_telemetry_integration.py b/telemetry_tempest_plugin/scenario/test_telemetry_integration.py index 7db4fd5..3cd7301 100644 --- a/telemetry_tempest_plugin/scenario/test_telemetry_integration.py +++ b/telemetry_tempest_plugin/scenario/test_telemetry_integration.py @@ -94,6 +94,8 @@ class TestTelemetryIntegration(manager.ScenarioTest): "HEAT_SERVICE_URL": self._get_endpoint(auth, "heat_plugin"), "NOVA_SERVICE_URL": self._get_endpoint(auth, "compute"), "GLANCE_SERVICE_URL": self._get_endpoint(auth, "image"), + "SG_CORE_SERVICE_URL": + str(config.CONF.telemetry.sg_core_service_url), "GLANCE_IMAGE_NAME": self.image_create(), "NOVA_FLAVOR_REF": config.CONF.compute.flavor_ref, "NEUTRON_NETWORK": networks[0].get('id'),