Add Rally scenarios for telemetry
authorMartin Kulhavy <martin.kulhavy@nokia.com>
Fri, 14 Jul 2017 10:11:31 +0000 (13:11 +0300)
committerMartin Kulhavy <martin.kulhavy@nokia.com>
Thu, 24 Aug 2017 08:25:48 +0000 (08:25 +0000)
Ceilometer scenarios were added.

Reasons for testcase blacklisting:
- Deprecated ceilometer client used by Rally. This depends on the
  confuguration of the system, currently it seems to affect all
  installers.
- A bug in ceilometer client (already fixed and merged in OpenStack
  repository).

JIRA: FUNCTEST-849

Change-Id: I0bd7e1e9817538165b7b9705bcec213d7d275359
Signed-off-by: Martin Kulhavy <martin.kulhavy@nokia.com>
functest/opnfv_tests/openstack/rally/blacklist.txt
functest/opnfv_tests/openstack/rally/rally.py
functest/opnfv_tests/openstack/rally/scenario/full/opnfv-ceilometer.yaml [new file with mode: 0644]
functest/opnfv_tests/openstack/rally/scenario/sanity/opnfv-ceilometer.yaml [new file with mode: 0644]
functest/opnfv_tests/openstack/rally/task.yaml

index 95bea2b..099d686 100644 (file)
@@ -6,6 +6,38 @@ scenario:
             - joid
         tests:
             - NovaServers.boot_server_from_volume_and_delete
+    -
+        scenarios:
+            - '^os-'  # all scenarios
+        installers:
+            - '.+'  # all installers
+        tests:
+            # Following tests currently fail due to required Gnocchi API:
+            # HTTP 410: "This telemetry installation is configured to use
+            #            Gnocchi. Please use the Gnocchi API available on the
+            #            metric endpoint to retrieve data."
+            # Issue: https://bugs.launchpad.net/rally/+bug/1704322
+            - CeilometerMeters.list_matched_meters
+            - CeilometerMeters.list_meters
+            - CeilometerQueries.create_and_query_samples
+            - CeilometerResource.get_tenant_resources
+            - CeilometerResource.list_matched_resources
+            - CeilometerResource.list_resources
+            - CeilometerSamples.list_matched_samples
+            - CeilometerSamples.list_samples
+            - CeilometerStats.create_meter_and_get_stats
+            - CeilometerStats.get_stats
+    -
+        scenarios:
+            - '^os-'  # all scenarios
+        installers:
+            - '.+'  # all installers
+        tests:
+            # Following test currently fails due to but in
+            # python-ceilometerclient during fetching of event_types
+            # Bug: https://bugs.launchpad.net/ubuntu/+bug/1704138
+            # Fix: https://review.openstack.org/#/c/483402/
+            - CeilometerEvents.create_user_and_list_event_types
 
 functionality:
     -
index 6b7c49c..fdef8be 100644 (file)
@@ -34,8 +34,8 @@ LOGGER = logging.getLogger(__name__)
 class RallyBase(testcase.OSGCTestCase):
     """Base class form Rally testcases implementation."""
 
-    TESTS = ['authenticate', 'glance', 'cinder', 'heat', 'keystone',
-             'neutron', 'nova', 'quotas', 'vm', 'all']
+    TESTS = ['authenticate', 'glance', 'ceilometer', 'cinder', 'heat',
+             'keystone', 'neutron', 'nova', 'quotas', 'vm', 'all']
     GLANCE_IMAGE_NAME = CONST.__getattribute__('openstack_image_name')
     GLANCE_IMAGE_FILENAME = CONST.__getattribute__('openstack_image_file_name')
     GLANCE_IMAGE_PATH = os.path.join(
diff --git a/functest/opnfv_tests/openstack/rally/scenario/full/opnfv-ceilometer.yaml b/functest/opnfv_tests/openstack/rally/scenario/full/opnfv-ceilometer.yaml
new file mode 100644 (file)
index 0000000..7efb5a8
--- /dev/null
@@ -0,0 +1,458 @@
+  CeilometerMeters.list_meters:
+    -
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+        ceilometer:
+          counter_name: "benchmark_meter"
+          counter_type: "gauge"
+          counter_unit: "%"
+          counter_volume: 100
+          resources_per_tenant: 100
+          samples_per_resource: 100
+          timestamp_interval: 10
+          metadata_list:
+            -
+              status: "active"
+              name: "rally benchmark on"
+              deleted: "false"
+            -
+              status: "terminated"
+              name: "rally benchmark off"
+              deleted: "true"
+        {% endcall %}
+      args:
+        limit: 50
+        metadata_query:
+          status: "terminated"
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerResource.list_resources:
+    -
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+        ceilometer:
+          counter_name: "benchmark_meter"
+          counter_type: "gauge"
+          counter_unit: "%"
+          counter_volume: 100
+          resources_per_tenant: 100
+          samples_per_resource: 100
+          timestamp_interval: 10
+          metadata_list:
+            -
+              status: "active"
+              name: "rally benchmark on"
+              deleted: "false"
+            -
+              status: "terminated"
+              name: "rally benchmark off"
+              deleted: "true"
+        {% endcall %}
+      args:
+        limit: 50
+        metadata_query:
+          status: "terminated"
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerAlarms.create_alarm_and_get_history:
+    -
+      args:
+        meter_name: "ram_util"
+        threshold: 10.0
+        type: "threshold"
+        state: "ok"
+        statistic: "avg"
+        alarm_actions: ["http://localhost:8776/alarm"]
+        ok_actions: ["http://localhost:8776/ok"]
+        insufficient_data_actions: ["http://localhost:8776/notok"]
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerAlarms.create_and_delete_alarm:
+    -
+      args:
+        meter_name: "ram_util"
+        threshold: 10.0
+        type: "threshold"
+        statistic: "avg"
+        alarm_actions: ["http://localhost:8776/alarm"]
+        ok_actions: ["http://localhost:8776/ok"]
+        insufficient_data_actions: ["http://localhost:8776/notok"]
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerAlarms.create_and_get_alarm:
+    -
+      args:
+        meter_name: "ram_util"
+        threshold: 10.0
+        type: "threshold"
+        statistic: "avg"
+        alarm_actions: ["http://localhost:8776/alarm"]
+        ok_actions: ["http://localhost:8776/ok"]
+        insufficient_data_actions: ["http://localhost:8776/notok"]
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerAlarms.create_and_list_alarm:
+    -
+      args:
+        meter_name: "ram_util"
+        threshold: 10.0
+        type: "threshold"
+        statistic: "avg"
+        alarm_actions: ["http://localhost:8776/alarm"]
+        ok_actions: ["http://localhost:8776/ok"]
+        insufficient_data_actions: ["http://localhost:8776/notok"]
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerQueries.create_and_query_alarm_history:
+    -
+      args:
+        orderby: !!null
+        limit: !!null
+        meter_name: "ram_util"
+        threshold: 10.0
+        type: "threshold"
+        statistic: "avg"
+        alarm_actions: ["http://localhost:8776/alarm"]
+        ok_actions: ["http://localhost:8776/ok"]
+        insufficient_data_actions: ["http://localhost:8776/notok"]
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerQueries.create_and_query_alarms:
+    -
+      args:
+        filter: {"and": [{"!=": {"state": "dummy_state"}},{"=": {"type": "threshold"}}]}
+        orderby: !!null
+        limit: 10
+        meter_name: "ram_util"
+        threshold: 10.0
+        type: "threshold"
+        statistic: "avg"
+        alarm_actions: ["http://localhost:8776/alarm"]
+        ok_actions: ["http://localhost:8776/ok"]
+        insufficient_data_actions: ["http://localhost:8776/notok"]
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerQueries.create_and_query_samples:
+    -
+      args:
+        filter: {"=": {"counter_unit": "instance"}}
+        orderby: !!null
+        limit: 10
+        counter_name: "cpu_util"
+        counter_type: "gauge"
+        counter_unit: "instance"
+        counter_volume: 1.0
+        resource_id: "resource_id"
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerAlarms.create_and_update_alarm:
+    -
+      args:
+        meter_name: "ram_util"
+        threshold: 10.0
+        type: "threshold"
+        statistic: "avg"
+        alarm_actions: ["http://localhost:8776/alarm"]
+        ok_actions: ["http://localhost:8776/ok"]
+        insufficient_data_actions: ["http://localhost:8776/notok"]
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerStats.create_meter_and_get_stats:
+    -
+      args:
+        user_id: "user-id"
+        resource_id: "resource-id"
+        counter_volume: 1.0
+        counter_unit: ""
+        counter_type: "cumulative"
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerEvents.create_user_and_get_event:
+    -
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerEvents.create_user_and_list_events:
+    -
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerEvents.create_user_and_list_event_types:
+    -
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerTraits.create_user_and_list_trait_descriptions:
+    -
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerTraits.create_user_and_list_traits:
+    -
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerStats.get_stats:
+    -
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+        ceilometer:
+          counter_name: "benchmark_meter"
+          counter_type: "gauge"
+          counter_unit: "%"
+          counter_volume: 100
+          resources_per_tenant: 100
+          samples_per_resource: 100
+          timestamp_interval: 10
+          metadata_list:
+            -
+              status: "active"
+              name: "rally benchmark on"
+              deleted: "false"
+            -
+              status: "terminated"
+              name: "rally benchmark off"
+              deleted: "true"
+        {% endcall %}
+      args:
+        meter_name: "benchmark_meter"
+        filter_by_user_id: true
+        filter_by_project_id: true
+        filter_by_resource_id: true
+        metadata_query:
+          status: "terminated"
+        period: 300
+        groupby: "resource_id"
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerResource.get_tenant_resources:
+    -
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+        ceilometer:
+          counter_name: "cpu_util"
+          counter_type: "gauge"
+          counter_volume: 1.0
+          counter_unit: "instance"
+        {% endcall %}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerAlarms.list_alarms:
+    -
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerSamples.list_matched_samples:
+    -
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+        ceilometer:
+          counter_name: "cpu_util"
+          counter_type: "gauge"
+          counter_unit: "instance"
+          counter_volume: 1.0
+          resources_per_tenant: 100
+          samples_per_resource: 100
+          timestamp_interval: 60
+          metadata_list:
+            -  status: "active"
+               name: "fake_resource"
+               deleted: "False"
+               created_at: "2015-09-04T12:34:19.000000"
+            -  status: "not_active"
+               name: "fake_resource_1"
+               deleted: "False"
+               created_at: "2015-09-10T06:55:12.000000"
+        {% endcall %}
+      args:
+        limit: 50
+        filter_by_user_id: true
+        filter_by_project_id: true
+        filter_by_resource_id: true
+        metadata_query:
+          status: "not_active"
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerMeters.list_matched_meters:
+    -
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+        ceilometer:
+          counter_name: "benchmark_meter"
+          counter_type: "gauge"
+          counter_unit: "%"
+          counter_volume: 100
+          resources_per_tenant: 100
+          samples_per_resource: 100
+          timestamp_interval: 10
+          metadata_list:
+            -
+              status: "active"
+              name: "rally benchmark on"
+              deleted: "false"
+            -
+              status: "terminated"
+              name: "rally benchmark off"
+              deleted: "true"
+        {% endcall %}
+      args:
+        limit: 50
+        filter_by_user_id: true
+        filter_by_project_id: true
+        filter_by_resource_id: true
+        metadata_query:
+          status: "terminated"
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerResource.list_matched_resources:
+    -
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+        ceilometer:
+          counter_name: "benchmark_meter"
+          counter_type: "gauge"
+          counter_unit: "%"
+          counter_volume: 100
+          resources_per_tenant: 100
+          samples_per_resource: 100
+          timestamp_interval: 10
+          metadata_list:
+            -
+              status: "active"
+              name: "rally benchmark on"
+              deleted: "false"
+            -
+              status: "terminated"
+              name: "rally benchmark off"
+              deleted: "true"
+        {% endcall %}
+      args:
+        limit: 50
+        filter_by_user_id: true
+        filter_by_project_id: true
+        metadata_query:
+          status: "terminated"
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerSamples.list_samples:
+    -
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+        ceilometer:
+          counter_name: "cpu_util"
+          counter_type: "gauge"
+          counter_unit: "instance"
+          counter_volume: 1.0
+          resources_per_tenant: 100
+          samples_per_resource: 100
+          timestamp_interval: 60
+          metadata_list:
+            -  status: "active"
+               name: "fake_resource"
+               deleted: "False"
+               created_at: "2015-09-04T12:34:19.000000"
+            -  status: "not_active"
+               name: "fake_resource_1"
+               deleted: "False"
+               created_at: "2015-09-10T06:55:12.000000"
+          batch_size: 5
+        {% endcall %}
+      args:
+        limit: 50
+        metadata_query:
+          status: "not_active"
+      sla:
+        {{ no_failures_sla() }}
+
diff --git a/functest/opnfv_tests/openstack/rally/scenario/sanity/opnfv-ceilometer.yaml b/functest/opnfv_tests/openstack/rally/scenario/sanity/opnfv-ceilometer.yaml
new file mode 100644 (file)
index 0000000..bb070cd
--- /dev/null
@@ -0,0 +1,247 @@
+  CeilometerAlarms.create_alarm_and_get_history:
+    -
+      args:
+        meter_name: "ram_util"
+        threshold: 10.0
+        type: "threshold"
+        state: "ok"
+        statistic: "avg"
+        alarm_actions: ["http://localhost:8776/alarm"]
+        ok_actions: ["http://localhost:8776/ok"]
+        insufficient_data_actions: ["http://localhost:8776/notok"]
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerAlarms.create_and_delete_alarm:
+    -
+      args:
+        meter_name: "ram_util"
+        threshold: 10.0
+        type: "threshold"
+        statistic: "avg"
+        alarm_actions: ["http://localhost:8776/alarm"]
+        ok_actions: ["http://localhost:8776/ok"]
+        insufficient_data_actions: ["http://localhost:8776/notok"]
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerAlarms.create_and_get_alarm:
+    -
+      args:
+        meter_name: "ram_util"
+        threshold: 10.0
+        type: "threshold"
+        statistic: "avg"
+        alarm_actions: ["http://localhost:8776/alarm"]
+        ok_actions: ["http://localhost:8776/ok"]
+        insufficient_data_actions: ["http://localhost:8776/notok"]
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerAlarms.create_and_list_alarm:
+    -
+      args:
+        meter_name: "ram_util"
+        threshold: 10.0
+        type: "threshold"
+        statistic: "avg"
+        alarm_actions: ["http://localhost:8776/alarm"]
+        ok_actions: ["http://localhost:8776/ok"]
+        insufficient_data_actions: ["http://localhost:8776/notok"]
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerQueries.create_and_query_alarm_history:
+    -
+      args:
+        orderby: !!null
+        limit: !!null
+        meter_name: "ram_util"
+        threshold: 10.0
+        type: "threshold"
+        statistic: "avg"
+        alarm_actions: ["http://localhost:8776/alarm"]
+        ok_actions: ["http://localhost:8776/ok"]
+        insufficient_data_actions: ["http://localhost:8776/notok"]
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerQueries.create_and_query_alarms:
+    -
+      args:
+        filter: {"and": [{"!=": {"state": "dummy_state"}},{"=": {"type": "threshold"}}]}
+        orderby: !!null
+        limit: 10
+        meter_name: "ram_util"
+        threshold: 10.0
+        type: "threshold"
+        statistic: "avg"
+        alarm_actions: ["http://localhost:8776/alarm"]
+        ok_actions: ["http://localhost:8776/ok"]
+        insufficient_data_actions: ["http://localhost:8776/notok"]
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerQueries.create_and_query_samples:
+    -
+      args:
+        filter: {"=": {"counter_unit": "instance"}}
+        orderby: !!null
+        limit: 10
+        counter_name: "cpu_util"
+        counter_type: "gauge"
+        counter_unit: "instance"
+        counter_volume: 1.0
+        resource_id: "resource_id"
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerAlarms.create_and_update_alarm:
+    -
+      args:
+        meter_name: "ram_util"
+        threshold: 10.0
+        type: "threshold"
+        statistic: "avg"
+        alarm_actions: ["http://localhost:8776/alarm"]
+        ok_actions: ["http://localhost:8776/ok"]
+        insufficient_data_actions: ["http://localhost:8776/notok"]
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerEvents.create_user_and_get_event:
+    -
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerEvents.create_user_and_list_events:
+    -
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerEvents.create_user_and_list_event_types:
+    -
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerTraits.create_user_and_list_trait_descriptions:
+    -
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerTraits.create_user_and_list_traits:
+    -
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerStats.get_stats:
+    -
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+        ceilometer:
+          counter_name: "benchmark_meter"
+          counter_type: "gauge"
+          counter_unit: "%"
+          counter_volume: 100
+          resources_per_tenant: 100
+          samples_per_resource: 100
+          timestamp_interval: 10
+          metadata_list:
+            -
+              status: "active"
+              name: "rally benchmark on"
+              deleted: "false"
+            -
+              status: "terminated"
+              name: "rally benchmark off"
+              deleted: "true"
+        {% endcall %}
+      args:
+        meter_name: "benchmark_meter"
+        filter_by_user_id: true
+        filter_by_project_id: true
+        filter_by_resource_id: true
+        metadata_query:
+          status: "terminated"
+        period: 300
+        groupby: "resource_id"
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerResource.get_tenant_resources:
+    -
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+        ceilometer:
+          counter_name: "cpu_util"
+          counter_type: "gauge"
+          counter_volume: 1.0
+          counter_unit: "instance"
+        {% endcall %}
+      sla:
+        {{ no_failures_sla() }}
+
+  CeilometerAlarms.list_alarms:
+    -
+      runner:
+        {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+      context:
+        {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+      sla:
+        {{ no_failures_sla() }}
index 033edb8..65f101f 100644 (file)
 {%- include "var/opnfv-neutron.yaml"-%}
 {% endif %}
 
+{% if "ceilometer" in service_list %}
+{%- include "var/opnfv-ceilometer.yaml"-%}
+{% endif %}
+
 {% if "quotas" in service_list %}
 {%- include "var/opnfv-quotas.yaml"-%}
 {% endif %}