Fixes the .verified notification format.
Now it matches the notification format expected by the yagi CUF handler. Requires expanded event_definition.yaml file to include extra traits from .exists Change-Id: I83ba05d73890a578699566648b37697d46b58040
This commit is contained in:
parent
516c2b3d75
commit
4875e419a6
@ -1,7 +1,7 @@
|
||||
[metadata]
|
||||
description-file = README.md
|
||||
name = winchester
|
||||
version = 0.3
|
||||
version = 0.31
|
||||
author = Monsyne Dragon
|
||||
author_email = mdragon@rackspace.com
|
||||
summary = An OpenStack notification event processing library.
|
||||
|
@ -195,7 +195,7 @@ class TestUsageHandler(unittest.TestCase):
|
||||
f['event_type'])
|
||||
self.assertEquals("now", f['timestamp'])
|
||||
self.assertEquals(123, f['stream_id'])
|
||||
self.assertEquals("inst", f['instance_id'])
|
||||
self.assertEquals("inst", f['payload']['instance_id'])
|
||||
self.assertEquals("None", f['error'])
|
||||
self.assertIsNone(f['error_code'])
|
||||
|
||||
@ -212,7 +212,7 @@ class TestUsageHandler(unittest.TestCase):
|
||||
f['event_type'])
|
||||
self.assertEquals("now", f['timestamp'])
|
||||
self.assertEquals(123, f['stream_id'])
|
||||
self.assertEquals("inst", f['instance_id'])
|
||||
self.assertEquals("inst", f['payload']['instance_id'])
|
||||
self.assertEquals("Error", f['error'])
|
||||
self.assertEquals("UX", f['error_code'])
|
||||
|
||||
|
@ -365,6 +365,33 @@ class UsageHandler(PipelineHandlerBase):
|
||||
delete_fields = ['launched_at', 'deleted_at']
|
||||
self._confirm_delete(exists, deleted, delete_fields)
|
||||
|
||||
def _base_notification(self, exists):
|
||||
apb, ape = self._get_audit_period(exists)
|
||||
return {
|
||||
'payload': {
|
||||
'audit_period_beginning': apb,
|
||||
'audit_period_ending': ape,
|
||||
'launched_at': exists.get('launched_at', ''),
|
||||
'deleted_at': exists.get('deleted_at', ''),
|
||||
'instance_id': exists.get('instance_id', ''),
|
||||
'tenant_id': exists.get('tenant_id', ''),
|
||||
'display_name': exists.get('display_name', ''),
|
||||
'instance_type': exists.get('instance_flavor', ''),
|
||||
'instance_flavor_id': exists.get('instance_flavor_id', ''),
|
||||
'state': exists.get('state', ''),
|
||||
'state_description': exists.get('state_description', ''),
|
||||
'bandwidth': {'public': {
|
||||
'bw_in': exists.get('bandwidth_in', ''),
|
||||
'bw_out': exists.get('bandwidth_out', '')}},
|
||||
'image_meta': {
|
||||
'org.openstack__1__architecture':
|
||||
exists.get('os_architecture', ''),
|
||||
'org.openstack__1__os_version': exists.get('os_version', ''),
|
||||
'org.openstack__1__os_distro': exists.get('os_distro', ''),
|
||||
'org.rackspace__1__options': exists.get('rax_options', '')
|
||||
}},
|
||||
'original_message_id': exists.get('message_id', '')}
|
||||
|
||||
def _process_block(self, block, exists):
|
||||
error = None
|
||||
try:
|
||||
@ -397,19 +424,18 @@ class UsageHandler(PipelineHandlerBase):
|
||||
'timestamp': exists.get('timestamp',
|
||||
datetime.datetime.utcnow()),
|
||||
'stream_id': int(self.stream_id),
|
||||
'instance_id': instance_id,
|
||||
'instance_id': exists.get('instance_id'),
|
||||
'warnings': self.warnings}
|
||||
events.append(warning_event)
|
||||
|
||||
new_event = {'event_type': event_type,
|
||||
'message_id': str(uuid.uuid4()),
|
||||
'timestamp': exists.get('timestamp',
|
||||
new_event = self._base_notification(exists)
|
||||
new_event.update({'event_type': event_type,
|
||||
'message_id': str(uuid.uuid4()),
|
||||
'timestamp': exists.get('timestamp',
|
||||
datetime.datetime.utcnow()),
|
||||
'stream_id': int(self.stream_id),
|
||||
'instance_id': exists.get('instance_id'),
|
||||
'error': str(error),
|
||||
'error_code': error and error.code
|
||||
}
|
||||
'stream_id': int(self.stream_id),
|
||||
'error': str(error),
|
||||
'error_code': error and error.code})
|
||||
events.append(new_event)
|
||||
return events
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user