[Ceilometer] Add test for Nova disk.device.* pollsters
Added step to Ceilometer test to check disk.device.* pollsters from Nova. Partially implements: blueprint ceilometer-ostf-notification-tests Change-Id: Icfcd02aaa4fcadbf295d2e3930cbe56baf97fbda
This commit is contained in:
parent
25c8738039
commit
2ddb42865c
@ -56,19 +56,30 @@ class CeilometerBaseTest(fuel_health.nmanager.PlatformServicesBaseClass):
|
||||
cls.objects_for_delete = []
|
||||
cls.nova_notifications = ['memory', 'vcpus', 'disk.root.size',
|
||||
'disk.ephemeral.size']
|
||||
cls.nova_pollsters = ['cpu', 'cpu_util', 'disk.read.bytes',
|
||||
'disk.read.bytes.rate', 'disk.read.requests',
|
||||
'disk.read.requests.rate',
|
||||
'disk.write.bytes',
|
||||
'disk.write.bytes.rate',
|
||||
'disk.write.requests',
|
||||
'disk.write.requests.rate', 'instance']
|
||||
cls.nova_vsphere_pollsters = ['instance', 'memory.usage',
|
||||
'cpu_util',
|
||||
'disk.read.requests.rate',
|
||||
'disk.write.requests.rate',
|
||||
'disk.read.bytes.rate',
|
||||
'disk.write.bytes.rate']
|
||||
cls.nova_instance_pollsters = ['cpu', 'cpu_util',
|
||||
'disk.read.bytes',
|
||||
'disk.read.bytes.rate',
|
||||
'disk.read.requests',
|
||||
'disk.read.requests.rate',
|
||||
'disk.write.bytes',
|
||||
'disk.write.bytes.rate',
|
||||
'disk.write.requests',
|
||||
'disk.write.requests.rate',
|
||||
'instance', 'memory.resident',
|
||||
'disk.capacity', 'disk.allocation',
|
||||
'disk.usage', 'memory.resident']
|
||||
cls.nova_disk_device_pollsters = [
|
||||
'disk.device.read.requests', 'disk.device.write.requests',
|
||||
'disk.device.read.bytes', 'disk.device.write.bytes',
|
||||
'disk.device.read.requests.rate',
|
||||
'disk.device.write.requests.rate',
|
||||
'disk.device.read.bytes.rate', 'disk.device.write.bytes.rate']
|
||||
cls.neutron_network_notifications = ['network', 'network.create',
|
||||
'network.update']
|
||||
cls.neutron_subnet_notifications = ['subnet', 'subnet.create',
|
||||
|
@ -113,12 +113,13 @@ class CeilometerApiPlatformTests(ceilometermanager.CeilometerBaseTest):
|
||||
1. Create an instance.
|
||||
2. Wait for 'ACTIVE' status of the instance.
|
||||
3. Get notifications.
|
||||
4. Get pollsters.
|
||||
5. Get the statistic notification:cpu_util.
|
||||
6. Create an alarm for the summary statistic notification:cpu_util.
|
||||
7. Wait for the alarm state to become 'alarm' or 'ok'.
|
||||
4. Get instance pollsters.
|
||||
5. Get disk pollsters.
|
||||
6. Get the statistic notification:cpu_util.
|
||||
7. Create an alarm for the summary statistic notification:cpu_util.
|
||||
8. Wait for the alarm state to become 'alarm' or 'ok'.
|
||||
|
||||
Duration: 60 s.
|
||||
Duration: 150 s.
|
||||
Deployment tags: Ceilometer
|
||||
"""
|
||||
|
||||
@ -146,25 +147,39 @@ class CeilometerApiPlatformTests(ceilometermanager.CeilometerBaseTest):
|
||||
self.verify(600, self.wait_metrics, 3,
|
||||
fail_msg, msg, notifications, query)
|
||||
|
||||
pollsters = (self.nova_pollsters
|
||||
if not vcenter else self.nova_vsphere_pollsters)
|
||||
pollsters.append("".join(['instance:',
|
||||
instance_pollsters = (self.nova_instance_pollsters if not vcenter
|
||||
else self.nova_vsphere_pollsters)
|
||||
instance_pollsters.append("".join(['instance:',
|
||||
self.compute_client.flavors.get(
|
||||
instance.flavor['id']).name]))
|
||||
fail_msg = 'Failed to get pollsters.'
|
||||
msg = 'getting pollsters'
|
||||
self.verify(600, self.wait_metrics, 4, fail_msg, msg, pollsters, query)
|
||||
fail_msg = 'Failed to get instance pollsters.'
|
||||
msg = 'getting instance pollsters'
|
||||
self.verify(600, self.wait_metrics, 4, fail_msg, msg,
|
||||
instance_pollsters, query)
|
||||
|
||||
fail_msg = 'Failed to get disk.device.* pollsters.'
|
||||
msg = 'getting disk.device.* pollsters'
|
||||
query_disk_device_pollsters = [{'field': 'resource', 'op': 'eq',
|
||||
'value': "".join(
|
||||
[instance.id, '-vda'])}]
|
||||
|
||||
disk_device_pollsters = (self.nova_disk_device_pollsters if not vcenter
|
||||
else [])
|
||||
|
||||
self.verify(600, self.wait_metrics, 5,
|
||||
fail_msg, msg, disk_device_pollsters,
|
||||
query_disk_device_pollsters)
|
||||
|
||||
fail_msg = 'Failed to get statistic notification:cpu_util.'
|
||||
msg = 'getting statistic notification:cpu_util'
|
||||
cpu_util_stat = self.verify(60, self.wait_for_statistic_of_metric, 5,
|
||||
cpu_util_stat = self.verify(60, self.wait_for_statistic_of_metric, 6,
|
||||
fail_msg, msg, 'cpu_util', query)
|
||||
|
||||
fail_msg = ('Failed to create alarm for '
|
||||
'summary statistic notification:cpu_util.')
|
||||
msg = 'creating alarm for summary statistic notification:cpu_util'
|
||||
threshold = cpu_util_stat[0].sum - 1
|
||||
alarm = self.verify(60, self.create_alarm, 6,
|
||||
alarm = self.verify(60, self.create_alarm, 7,
|
||||
fail_msg, msg,
|
||||
meter_name='cpu_util',
|
||||
threshold=threshold,
|
||||
@ -176,7 +191,7 @@ class CeilometerApiPlatformTests(ceilometermanager.CeilometerBaseTest):
|
||||
fail_msg = ('Failed while waiting for '
|
||||
'alarm state to become "alarm" or "ok".')
|
||||
msg = 'waiting for alarm state to become "alarm" or "ok"'
|
||||
self.verify(1000, self.wait_for_alarm_status, 7,
|
||||
self.verify(1000, self.wait_for_alarm_status, 8,
|
||||
fail_msg, msg, alarm.alarm_id)
|
||||
|
||||
def test_create_sample(self):
|
||||
|
Loading…
Reference in New Issue
Block a user