~ubuntu-branches/ubuntu/vivid/ceilometer/vivid

« back to all changes in this revision

Viewing changes to ceilometer/tests/compute/pollsters/test_diskio.py

  • Committer: Package Import Robot
  • Author(s): James Page, Corey Bryant, James Page
  • Date: 2015-02-19 14:59:07 UTC
  • mfrom: (1.2.3)
  • Revision ID: package-import@ubuntu.com-20150219145907-9jojybdsl64zcn14
Tags: 2015.1~b2-0ubuntu1
[ Corey Bryant ]
* New upstream release.
  - d/control: Align requirements with upstream.
  - d/p/skip-test.patch: Rebased.

[ James Page ]
* d/rules,d/p/skip-gabbi.patch: Skip tests that rely on python-gabbi until
  packaging and MIR is complete.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
# Copyright 2012 eNovance <licensing@enovance.com>
3
3
# Copyright 2012 Red Hat, Inc
4
4
# Copyright 2014 Cisco Systems, Inc
5
 
 
6
 
# Author: Julien Danjou <julien@danjou.info>
7
 
# Author: Eoghan Glynn <eglynn@redhat.com>
8
 
# Author: Pradeep Kilambi <pkilambi@cisco.com>
9
5
#
10
6
# Licensed under the Apache License, Version 2.0 (the "License"); you may
11
7
# not use this file except in compliance with the License. You may obtain
273
269
        self._check_per_device_samples(disk.PerDeviceWriteRequestsRatePollster,
274
270
                                       'disk.device.write.requests.rate', 800L,
275
271
                                       'disk2')
 
272
 
 
273
 
 
274
class TestDiskLatencyPollsters(TestBaseDiskIO):
 
275
 
 
276
    DISKS = [
 
277
        (virt_inspector.Disk(device='disk1'),
 
278
         virt_inspector.DiskLatencyStats(1000)),
 
279
 
 
280
        (virt_inspector.Disk(device='disk2'),
 
281
         virt_inspector.DiskLatencyStats(2000))
 
282
    ]
 
283
    TYPE = 'gauge'
 
284
 
 
285
    def setUp(self):
 
286
        super(TestDiskLatencyPollsters, self).setUp()
 
287
        self.inspector.inspect_disk_latency = mock.Mock(
 
288
            return_value=self.DISKS)
 
289
 
 
290
    @mock.patch('ceilometer.pipeline.setup_pipeline', mock.MagicMock())
 
291
    def _check_get_samples(self, factory, sample_name,
 
292
                           expected_count=2):
 
293
        pollster = factory()
 
294
 
 
295
        mgr = manager.AgentManager()
 
296
        cache = {}
 
297
        samples = list(pollster.get_samples(mgr, cache, self.instance))
 
298
        self.assertIsNotNone(samples)
 
299
        self.assertIsNotEmpty(samples)
 
300
        self.assertIn(pollster.CACHE_KEY_DISK_LATENCY, cache)
 
301
        for instance in self.instance:
 
302
            self.assertIn(instance.id, cache[pollster.CACHE_KEY_DISK_LATENCY])
 
303
 
 
304
        self.assertEqual(set([sample_name]), set([s.name for s in samples]))
 
305
 
 
306
        match = [s for s in samples if s.name == sample_name]
 
307
        self.assertEqual(expected_count, len(match),
 
308
                         'missing counter %s' % sample_name)
 
309
        return match
 
310
 
 
311
    def test_disk_latency(self):
 
312
        self._check_aggregate_samples(disk.DiskLatencyPollster,
 
313
                                      'disk.latency', 3)
 
314
 
 
315
    def test_per_device_latency(self):
 
316
        self._check_per_device_samples(disk.PerDeviceDiskLatencyPollster,
 
317
                                       'disk.device.latency', 1, 'disk1')
 
318
 
 
319
        self._check_per_device_samples(disk.PerDeviceDiskLatencyPollster,
 
320
                                       'disk.device.latency', 2, 'disk2')