Merge "Split up the glance pollsters"

This commit is contained in:
Jenkins
2013-07-12 08:20:46 +00:00
committed by Gerrit Code Review
3 changed files with 27 additions and 5 deletions

View File

@@ -102,7 +102,7 @@ class ImagePollster(_Base):
@staticmethod
def get_counter_names():
return ['image', 'image.size']
return ['image']
def get_counters(self, manager, cache):
for image in self._iter_images(manager.keystone, cache):
@@ -117,6 +117,16 @@ class ImagePollster(_Base):
timestamp=timeutils.isotime(),
resource_metadata=self.extract_image_metadata(image),
)
class ImageSizePollster(_Base):
@staticmethod
def get_counter_names():
return ['image.size']
def get_counters(self, manager, cache):
for image in self._iter_images(manager.keystone, cache):
yield counter.Counter(
name='image.size',
type=counter.TYPE_GAUGE,

View File

@@ -67,6 +67,7 @@ ceilometer.poll.compute =
ceilometer.poll.central =
network_floatingip = ceilometer.network.floatingip:FloatingIPPollster
image = ceilometer.image.glance:ImagePollster
image.size = ceilometer.image.glance:ImageSizePollster
objectstore = ceilometer.objectstore.swift:SwiftPollster
energy = ceilometer.energy.kwapi:EnergyPollster
power = ceilometer.energy.kwapi:PowerPollster

View File

@@ -148,17 +148,28 @@ class TestImagePollster(base.TestCase):
_iter_images(self.manager.keystone, cache))
self.assertEqual(images, [])
def test_glance_image_counter(self):
def test_image(self):
counters = list(glance.ImagePollster().get_counters(self.manager, {}))
self.assertEqual(len(counters), 6)
for counter in [c for c in counters if c.name == 'image']:
self.assertEqual(len(counters), 3)
for counter in counters:
self.assertEqual(counter.volume, 1)
def test_image_size(self):
counters = list(glance.ImageSizePollster().get_counters(self.manager,
{}))
self.assertEqual(len(counters), 3)
for image in IMAGE_LIST:
self.assert_(
any(map(lambda counter: counter.volume == image.size,
counters)))
def test_get_counter_names(self):
def test_image_get_counter_names(self):
counters = list(glance.ImagePollster().get_counters(self.manager, {}))
self.assertEqual(set([c.name for c in counters]),
set(glance.ImagePollster().get_counter_names()))
def test_image_size_get_counter_names(self):
counters = list(glance.ImageSizePollster().get_counters(self.manager,
{}))
self.assertEqual(set([c.name for c in counters]),
set(glance.ImageSizePollster().get_counter_names()))