add support for ceilometermiddleware data
the data format in ceilometermiddleware uses CADF standard rather
than a schema-less payload of deprecated swift middleware. this patch
adds support for both.
Change-Id: I22f929949e3deeb90d14ddad81ccfce9c9de185c
diff --git a/tempest/scenario/test_swift_telemetry_middleware.py b/tempest/scenario/test_swift_telemetry_middleware.py
index dce6023..dd6d855 100644
--- a/tempest/scenario/test_swift_telemetry_middleware.py
+++ b/tempest/scenario/test_swift_telemetry_middleware.py
@@ -76,19 +76,22 @@
LOG.debug('got samples %s', results)
# Extract container info from samples.
- containers = [sample['resource_metadata']['container']
- for sample in results
- if sample['resource_metadata']['container']
- != 'None']
- # Extract object info from samples.
- objects = [sample['resource_metadata']['object']
- for sample in results
- if sample['resource_metadata']['object'] != 'None']
+ containers, objects = [], []
+ for sample in results:
+ meta = sample['resource_metadata']
+ if meta.get('container') and meta['container'] != 'None':
+ containers.append(meta['container'])
+ elif (meta.get('target') and
+ meta['target']['metadata']['container'] != 'None'):
+ containers.append(meta['target']['metadata']['container'])
- return (containers
- and objects
- and container_name in containers
- and obj_name in objects)
+ if meta.get('object') and meta['object'] != 'None':
+ objects.append(meta['object'])
+ elif (meta.get('target') and
+ meta['target']['metadata']['object'] != 'None'):
+ objects.append(meta['target']['metadata']['object'])
+
+ return (container_name in containers and obj_name in objects)
self.assertTrue(test.call_until_true(_check_samples,
NOTIFICATIONS_WAIT,