Functional tests for OpenstackTelemetry plugin (Resource part)

Testing Ceilometer Resource API functionality in OpenstackTelemetry plugin
when Resource API is available

Change-Id: Ib1c3574ee610ee3d9706478072a18e0b67c0ac43
This commit is contained in:
Igor Degtiarov
2016-09-22 13:22:22 +03:00
parent 6dbc85b2f3
commit 35279ec21a
2 changed files with 68 additions and 0 deletions

View File

@@ -231,6 +231,32 @@ class OpenstackTelemeteryPluginApi(base_test.PluginApi):
self.helpers.verify(60, self.ceilometer_client.trait_descriptions.list,
5, fail_msg, msg, event_type=event_type)
def check_ceilometer_resource_functionality(self):
logger.info("Start checking Ceilometer Resource API")
fail_msg = "Failed to get resource list."
msg = "getting resources list"
resources_list = self.helpers.verify(
600, self.ceilometer_client.resources.list, 1, fail_msg, msg,
limit=10)
resource_id = resources_list[0].resource_id
fail_msg = ("Failed to find '{}' resource with certain resource "
"ID.".format(resource_id))
msg = ("searching '{}' resource with certain resource "
"ID".format(resource_id))
self.helpers.verify(60, self.ceilometer_client.resources.get, 2,
fail_msg, msg, resource_id=resource_id)
fail_msg = "Failed to get meters list."
msg = "getting meters list"
self.helpers.verify(60, self.ceilometer_client.meters.list, 3,
fail_msg, msg, limit=10)
fail_msg = "Failed to get unique meters list."
msg = "getting unique meters list"
self.helpers.verify(60, self.ceilometer_client.meters.list, 4,
fail_msg, msg, limit=10, unique=True)
def create_alarm(self, **kwargs):
for alarm in self.ceilometer_client.alarms.list():
if alarm.name == kwargs['name']:

View File

@@ -134,3 +134,45 @@ class TestOpenstackTelemetry(api.ToolchainApi):
additional_tests=additional_tests,
advanced_options=options
)
@test(depends_on_groups=["prepare_slaves_5"],
groups=["openstack_telemetry_resource_functional",
"deploy_openstack_telemetry", "functional"])
@log_snapshot_after_test
def openstack_telemetry_resource_functional(self):
"""Deploy an environment with Openstack-Telemetry plugin with
enabled Ceilometer Resource API and check its functionality
1. Upload the Openstack-Telemetry, Elasticsearch-Kibana and
InfluxDB-Grafana plugins to the master node
2. Install the plugins
3. Create the cluster
4. Add 3 nodes with controller role
5. Add 1 nodes with compute and cinder roles
6. Add 1 nodes with elasticsearch_kibana and influxdb_grafana roles
9. Enable Ceilometer Resource API
10. Deploy the cluster
11. Check that plugins are running
12. Run OSTF
13. Check Ceilometer Sample API
14. Check Ceilometer Alarm API
15. Check Ceilometer Resource API
Duration 90m
"""
additional_tests = (
self.OPENSTACK_TELEMETRY.check_ceilometer_sample_functionality,
self.OPENSTACK_TELEMETRY.check_ceilometer_alarm_functionality,
self.OPENSTACK_TELEMETRY.check_ceilometer_resource_functionality,
)
options = {
"advanced_settings/value": True,
"resource_api/value": True,
}
self._deploy_telemetry_plugin(
"openstack_telemetry_resource_functional",
additional_tests=additional_tests,
advanced_options=options
)