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,
|
self.helpers.verify(60, self.ceilometer_client.trait_descriptions.list,
|
||||||
5, fail_msg, msg, event_type=event_type)
|
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):
|
def create_alarm(self, **kwargs):
|
||||||
for alarm in self.ceilometer_client.alarms.list():
|
for alarm in self.ceilometer_client.alarms.list():
|
||||||
if alarm.name == kwargs['name']:
|
if alarm.name == kwargs['name']:
|
||||||
|
|||||||
@@ -134,3 +134,45 @@ class TestOpenstackTelemetry(api.ToolchainApi):
|
|||||||
additional_tests=additional_tests,
|
additional_tests=additional_tests,
|
||||||
advanced_options=options
|
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