diff --git a/.zuul.yaml b/.zuul.yaml
index 5d12ba6..c900f24 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -60,16 +60,38 @@
     name: telemetry-dsvm-integration-2024-2
     parent: telemetry-tempest-base
     override-checkout: stable/2024.2
+    required-projects:
+      - name: gnocchixyz/gnocchi
+        override-checkout: stable/4.6
+    vars: &prefix_grouping_vars
+      devstack_local_conf:
+        test-config:
+          $TEMPEST_CONFIG:
+            service_available:
+              sg_core: True
+            telemetry_services:
+              metric_backends: gnocchi,prometheus
+            telemetry:
+              disable_ssl_certificate_validation: True
+              ceilometer_polling_interval: 15
+              autoscaling_instance_grouping: prefix
 
 - job:
     name: telemetry-dsvm-integration-2024-1
     parent: telemetry-tempest-base
     override-checkout: stable/2024.1
+    required-projects:
+      - name: gnocchixyz/gnocchi
+        override-checkout: stable/4.6
+    vars: *prefix_grouping_vars
 
 - job:
     name: telemetry-dsvm-integration-2023-2
     parent: telemetry-tempest-base
     override-checkout: stable/2023.2
+    required-projects:
+      - name: gnocchixyz/gnocchi
+        override-checkout: stable/4.6
     vars: &no_prometheus_vars
       devstack_localrc:
         TEMPEST_PLUGINS: '"/opt/stack/telemetry-tempest-plugin /opt/stack/heat-tempest-plugin"'
@@ -88,11 +110,37 @@
             telemetry:
               disable_ssl_certificate_validation: True
               ceilometer_polling_interval: 15
+              autoscaling_instance_grouping: prefix
 
 - job:
-    name: telemetry-dsvm-integration-2023-1
+    name: telemetry-dsvm-integration
     parent: telemetry-tempest-base
-    override-checkout: stable/2023.1
+    branches:
+      - stable/2024.2
+      - stable/2024.1
+    required-projects:
+      - name: gnocchixyz/gnocchi
+        override-checkout: stable/4.6
+    vars: *prefix_grouping_vars
+
+- job:
+    name: telemetry-dsvm-integration
+    parent: telemetry-tempest-base
+    branches:
+      - stable/2023.2
+    required-projects:
+      - name: gnocchixyz/gnocchi
+        override-checkout: stable/4.6
+    vars: *no_prometheus_vars
+
+- job:
+    name: telemetry-dsvm-integration
+    parent: telemetry-tempest-base
+    branches:
+      - stable/2023.1
+    required-projects:
+      - name: gnocchixyz/gnocchi
+        override-checkout: stable/4.5
     vars: *no_prometheus_vars
 
 - job:
@@ -105,7 +153,7 @@
         USE_PYTHON3: False
 
 - job:
-    name: telemetry-dsvm-integration-ipv6-only
+    name: telemetry-dsvm-integration-ipv6-only-base
     parent: devstack-tempest-ipv6
     description: |
       Telemetry devstack tempest tests job for IPv6-only deployment
@@ -119,6 +167,43 @@
     vars: *base_vars
 
 - job:
+    name: telemetry-dsvm-integration-ipv6-only
+    parent: telemetry-dsvm-integration-ipv6-only-base
+    description: |
+      Telemetry devstack tempest tests job for IPv6-only deployment
+    branches:
+      - stable/2024.2
+      - stable/2024.1
+    required-projects:
+      - name: gnocchixyz/gnocchi
+        override-checkout: stable/4.6
+    vars: *prefix_grouping_vars
+
+- job:
+    name: telemetry-dsvm-integration-ipv6-only
+    parent: telemetry-dsvm-integration-ipv6-only-base
+    description: |
+      Telemetry devstack tempest tests job for IPv6-only deployment
+    branches:
+      - stable/2023.2
+    required-projects:
+      - name: gnocchixyz/gnocchi
+        override-checkout: stable/4.6
+    vars: *no_prometheus_vars
+
+- job:
+    name: telemetry-dsvm-integration-ipv6-only
+    parent: telemetry-dsvm-integration-ipv6-only-base
+    description: |
+      Telemetry devstack tempest tests job for IPv6-only deployment
+    branches:
+      - stable/2023.1
+    required-projects:
+      - name: gnocchixyz/gnocchi
+        override-checkout: stable/4.5
+    vars: *no_prometheus_vars
+
+- job:
     name: telemetry-dsvm-integration-wallaby
     parent: telemetry-dsvm-integration
     nodeset: openstack-single-node-focal
@@ -177,7 +262,6 @@
     check:
       jobs:
         - telemetry-dsvm-integration
-        - telemetry-dsvm-integration-2023-1
         - telemetry-dsvm-integration-2023-2
         - telemetry-dsvm-integration-2024-1
         - telemetry-dsvm-integration-2024-2
diff --git a/releasenotes/notes/use-metadata-grouping-for-prometheus-autoscaling-763c98141a940531.yaml b/releasenotes/notes/use-metadata-grouping-for-prometheus-autoscaling-763c98141a940531.yaml
new file mode 100644
index 0000000..b046fe9
--- /dev/null
+++ b/releasenotes/notes/use-metadata-grouping-for-prometheus-autoscaling-763c98141a940531.yaml
@@ -0,0 +1,7 @@
+---
+features:
+  - |
+    Added ability to use metadata instance grouping when testing prometheus based autoscaling.
+    This method of instance grouping is supported since 2025.1 and it's the default option.
+    The ``autoscaling_instance_grouping`` configuration option has been added, which switches
+    the grouping method between ``metadata`` grouping and ``instance`` grouping.
diff --git a/telemetry_tempest_plugin/config.py b/telemetry_tempest_plugin/config.py
index 68e47ce..e2e1766 100644
--- a/telemetry_tempest_plugin/config.py
+++ b/telemetry_tempest_plugin/config.py
@@ -45,16 +45,13 @@
 telemetry_services_group = cfg.OptGroup(name='telemetry_services',
                                         title='Telemetry Services')
 
-event_group = cfg.OptGroup(name='event',
-                           title='Event Service Options')
-
 alarming_group = cfg.OptGroup(name='alarming_plugin',
                               title='Alarming Service Options')
 
 metric_group = cfg.OptGroup(name='metric',
                             title='Metric Service Options')
 
-TelemetryGroup = [
+telemetry_opts = [
     cfg.IntOpt('notification_wait',
                default=120,
                help="The seconds to wait for notifications which "
@@ -97,14 +94,19 @@
                default=15,
                help="Scrape interval configured for prometheus. This can "
                     "be used in test cases to properly configure autoscaling"),
-    cfg.StrOpt('autoscaling_instance_grouping',
-               default='prefix',
-               choices=['prefix', 'metadata'],
-               help="How to group instances for autoscaling testing. "
-                    "'prefix' relies on the instances having a common string "
-                    "at the start of their name. 'metadata' is a new and "
-                    "prefered way of grouping since 2024.2 relying on "
-                    "metering.server_group instance metadata")
+    cfg.StrOpt(
+        'autoscaling_instance_grouping',
+        default='metadata',
+        choices=[
+            ('prefix', 'Use a common string at the start of instance names to '
+                       'group instances'),
+            ('metadata', 'Use metering.server_group instance metadata to '
+                         'group instances. This is preferred method since '
+                         '2025.1')
+        ],
+        help="The method to group instances for autoscaling testing. Note "
+             "that this option affects only tests with prometheus metric "
+             "backend")
 ]
 
 telemetry_services_opts = [
@@ -118,18 +120,7 @@
                help="Database used by the aodh service"),
 ]
 
-event_opts = [
-    cfg.StrOpt('catalog_type',
-               default='event',
-               help="Catalog type of the Event service."),
-    cfg.StrOpt('endpoint_type',
-               default='publicURL',
-               choices=['public', 'admin', 'internal',
-                        'publicURL', 'adminURL', 'internalURL'],
-               help="The endpoint type to use for the event service."),
-]
-
-AlarmingGroup = [
+alarming_opts = [
     cfg.StrOpt('catalog_type',
                default='alarming',
                help="Catalog type of the Alarming service."),
diff --git a/telemetry_tempest_plugin/plugin.py b/telemetry_tempest_plugin/plugin.py
index 51c40f9..1ac2a20 100644
--- a/telemetry_tempest_plugin/plugin.py
+++ b/telemetry_tempest_plugin/plugin.py
@@ -36,30 +36,25 @@
             tempest_config.service_option)
         config.register_opt_group(
             conf, tempest_config.telemetry_group,
-            tempest_config.TelemetryGroup)
+            tempest_config.telemetry_opts)
         config.register_opt_group(
             conf, tempest_config.telemetry_services_group,
             tempest_config.telemetry_services_opts)
         config.register_opt_group(
-            conf, tempest_config.event_group,
-            tempest_config.event_opts)
-        config.register_opt_group(
             conf, tempest_config.alarming_group,
-            tempest_config.AlarmingGroup)
+            tempest_config.alarming_opts)
         config.register_opt_group(
             conf, tempest_config.metric_group,
             tempest_config.metric_opts)
 
     def get_opt_lists(self):
         return [(tempest_config.telemetry_group.name,
-                 tempest_config.TelemetryGroup),
+                 tempest_config.telemetry_opts),
                 (tempest_config.telemetry_services_group.name,
                  tempest_config.telemetry_services_opts),
-                (tempest_config.event_group.name,
-                 tempest_config.event_opts),
                 (config.service_available_group.name,
                  tempest_config.service_option),
                 (tempest_config.alarming_group.name,
-                 tempest_config.AlarmingGroup),
+                 tempest_config.alarming_opts),
                 (tempest_config.metric_group.name,
                  tempest_config.metric_opts)]
