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:
@@ -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']:
|
||||
|
||||
@@ -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
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user