diff options
author | Jenkins <jenkins@review.openstack.org> | 2015-10-05 22:40:11 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2015-10-05 22:40:11 +0000 |
commit | 06b9b908406e078bdbff2aa7e18d19f55ef31037 (patch) | |
tree | f2c0c0a1990ebdcb36fc761000c7b7d503b86034 | |
parent | a8c1f1990a6ee64a2a9cb5f378d0a6948cc35a60 (diff) | |
parent | 35921763904052f7e351f7d7e948029ff027026b (diff) | |
download | ceilometer-2015.1.2.tar.gz |
Merge "instance:<type> meter is ignored" into stable/kilo2015.1.2
-rw-r--r-- | ceilometer/pipeline.py | 12 | ||||
-rw-r--r-- | ceilometer/tests/test_decoupled_pipeline.py | 32 |
2 files changed, 32 insertions, 12 deletions
diff --git a/ceilometer/pipeline.py b/ceilometer/pipeline.py index 1edfa5cd..9c31bb1c 100644 --- a/ceilometer/pipeline.py +++ b/ceilometer/pipeline.py @@ -255,19 +255,7 @@ class SampleSource(Source): raise PipelineException("Discovery should be a list", cfg) self.check_source_filtering(self.meters, 'meters') - # (yjiang5) To support meters like instance:m1.tiny, - # which include variable part at the end starting with ':'. - # Hope we will not add such meters in future. - @staticmethod - def _variable_meter_name(name): - m = name.partition(':') - if m[1] == ':': - return m[1].join((m[0], '*')) - else: - return name - def support_meter(self, meter_name): - meter_name = self._variable_meter_name(meter_name) return self.is_supported(self.meters, meter_name) diff --git a/ceilometer/tests/test_decoupled_pipeline.py b/ceilometer/tests/test_decoupled_pipeline.py index 541af5e3..8aec4b19 100644 --- a/ceilometer/tests/test_decoupled_pipeline.py +++ b/ceilometer/tests/test_decoupled_pipeline.py @@ -277,3 +277,35 @@ class TestDecoupledPipeline(pipeline_base.BasePipelineTestCase): pipeline.PipelineManager, self.pipeline_cfg, self.transformer_manager) + + def test_specific_instance_type_meter(self): + self.pipeline_cfg = [{ + 'name': "test_pipeline", + 'interval': 5, + 'meters': ['instance:m1.tiny'], + 'transformers': [], + 'publishers': ["test://"], + }, ] + pipeline_manager = pipeline.PipelineManager(self.pipeline_cfg, + self.transformer_manager) + + self.test_counter = sample.Sample( + name='instance:m1.tiny', + type=self.test_counter.type, + volume=self.test_counter.volume, + unit=self.test_counter.unit, + user_id=self.test_counter.user_id, + project_id=self.test_counter.project_id, + resource_id=self.test_counter.resource_id, + timestamp=self.test_counter.timestamp, + resource_metadata=self.test_counter.resource_metadata, + ) + + with pipeline_manager.publisher(None) as p: + p([self.test_counter]) + + publisher = pipeline_manager.pipelines[0].publishers[0] + + self.assertEqual(1, len(publisher.samples)) + self.assertEqual('instance:m1.tiny', + getattr(publisher.samples[0], "name")) |