diff --git a/ceilometer/tests/tempest/api/base.py b/ceilometer/tests/tempest/api/base.py
index 103a123..81c53d6 100644
--- a/ceilometer/tests/tempest/api/base.py
+++ b/ceilometer/tests/tempest/api/base.py
@@ -49,7 +49,7 @@
     @classmethod
     def skip_checks(cls):
         super(BaseTelemetryTest, cls).skip_checks()
-        if not CONF.service_available.ceilometer_plugin:
+        if not CONF.service_available.ceilometer:
             raise cls.skipException("Ceilometer support is required")
 
     @classmethod
diff --git a/ceilometer/tests/tempest/api/test_telemetry_notification_api.py b/ceilometer/tests/tempest/api/test_telemetry_notification_api.py
index 6c1ee6b..d723b55 100644
--- a/ceilometer/tests/tempest/api/test_telemetry_notification_api.py
+++ b/ceilometer/tests/tempest/api/test_telemetry_notification_api.py
@@ -78,7 +78,7 @@
 
         body = self.create_server()
 
-        if CONF.telemetry_plugin.event_enabled:
+        if CONF.telemetry.event_enabled:
             query = ('instance_id', 'eq', body['id'])
             self.await_events(query)
 
diff --git a/ceilometer/tests/tempest/config.py b/ceilometer/tests/tempest/config.py
index a83a509..dea33f6 100644
--- a/ceilometer/tests/tempest/config.py
+++ b/ceilometer/tests/tempest/config.py
@@ -20,12 +20,12 @@
                                        title="Available OpenStack Services")
 
 ServiceAvailableGroup = [
-    cfg.BoolOpt('ceilometer_plugin',
+    cfg.BoolOpt('ceilometer',
                 default=True,
                 help="Whether or not Ceilometer is expected to be available"),
 ]
 
-telemetry_group = cfg.OptGroup(name='telemetry_plugin',
+telemetry_group = cfg.OptGroup(name='telemetry',
                                title='Telemetry Service Options')
 
 TelemetryGroup = [
diff --git a/ceilometer/tests/tempest/scenario/test_object_storage_telemetry_middleware.py b/ceilometer/tests/tempest/scenario/test_object_storage_telemetry_middleware.py
index f4a1b1d..0d99ee3 100644
--- a/ceilometer/tests/tempest/scenario/test_object_storage_telemetry_middleware.py
+++ b/ceilometer/tests/tempest/scenario/test_object_storage_telemetry_middleware.py
@@ -64,7 +64,7 @@
             skip_msg = ("%s skipped as swift is not available" %
                         cls.__name__)
             raise cls.skipException(skip_msg)
-        if not CONF.service_available.ceilometer_plugin:
+        if not CONF.service_available.ceilometer:
             skip_msg = ("%s skipped as ceilometer is not available" %
                         cls.__name__)
             raise cls.skipException(skip_msg)
diff --git a/ceilometer/tests/tempest/service/client.py b/ceilometer/tests/tempest/service/client.py
index c9d8548..179f8a1 100644
--- a/ceilometer/tests/tempest/service/client.py
+++ b/ceilometer/tests/tempest/service/client.py
@@ -137,9 +137,9 @@
     image_params.update(default_params)
 
     telemetry_params = {
-        'service': CONF.telemetry_plugin.catalog_type,
+        'service': CONF.telemetry.catalog_type,
         'region': CONF.identity.region,
-        'endpoint_type': CONF.telemetry_plugin.endpoint_type,
+        'endpoint_type': CONF.telemetry.endpoint_type,
     }
     telemetry_params.update(default_params)
 
