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