summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-10-05 22:40:11 +0000
committerGerrit Code Review <review@openstack.org>2015-10-05 22:40:11 +0000
commit06b9b908406e078bdbff2aa7e18d19f55ef31037 (patch)
treef2c0c0a1990ebdcb36fc761000c7b7d503b86034
parenta8c1f1990a6ee64a2a9cb5f378d0a6948cc35a60 (diff)
parent35921763904052f7e351f7d7e948029ff027026b (diff)
downloadceilometer-2015.1.2.tar.gz
Merge "instance:<type> meter is ignored" into stable/kilo2015.1.2
-rw-r--r--ceilometer/pipeline.py12
-rw-r--r--ceilometer/tests/test_decoupled_pipeline.py32
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"))