Only populate from image_meta if available
This commit is contained in:
parent
241dabc686
commit
ab93976a43
@ -14,10 +14,12 @@ class Notification(object):
|
||||
self.image_type = image_type.get_numeric_code(self.payload)
|
||||
self.publisher = self.body['publisher_id']
|
||||
self.event = self.body['event_type']
|
||||
self.os_architecture = self.payload['image_meta']['org.openstack__1__architecture']
|
||||
self.os_distro = self.payload['image_meta']['org.openstack__1__os_distro']
|
||||
self.os_version = self.payload['image_meta']['org.openstack__1__os_version']
|
||||
self.rax_options = self.payload['image_meta']['com.rackspace__1__options']
|
||||
image_meta = self.payload.get('image_meta', {})
|
||||
self.os_architecture = image_meta.get('org.openstack__1__architecture',
|
||||
'')
|
||||
self.os_distro = image_meta.get('org.openstack__1__os_distro', '')
|
||||
self.os_version = image_meta.get('org.openstack__1__os_version', '')
|
||||
self.rax_options = image_meta.get('com.rackspace__1__options', '')
|
||||
|
||||
@property
|
||||
def when(self):
|
||||
|
@ -65,6 +65,41 @@ class NotificationTestCase(unittest.TestCase):
|
||||
self.assertEquals(kwargs['event'], 'compute.instance.create.start')
|
||||
self.assertEquals(kwargs['request_id'], REQUEST_ID_1)
|
||||
|
||||
def test_rawdata_kwargs_missing_image_meta(self):
|
||||
message = {
|
||||
'event_type': 'compute.instance.create.start',
|
||||
'publisher_id': 'compute.cpu1-n01.example.com',
|
||||
'_context_request_id': REQUEST_ID_1,
|
||||
'_context_project_id': TENANT_ID_1,
|
||||
'timestamp': '2013-06-12 06:30:52.790476',
|
||||
'payload': {
|
||||
'instance_id': INSTANCE_ID_1,
|
||||
'state': 'active',
|
||||
'old_state': 'building',
|
||||
'old_task_state': 'build',
|
||||
"new_task_state": 'rebuild_spawning',
|
||||
'image_meta': {
|
||||
'image_type': 'base',
|
||||
}
|
||||
}
|
||||
}
|
||||
kwargs = Notification(message).rawdata_kwargs('1', 'monitor.info', 'json')
|
||||
|
||||
self.assertEquals(kwargs['host'], 'cpu1-n01.example.com')
|
||||
self.assertEquals(kwargs['deployment'], '1')
|
||||
self.assertEquals(kwargs['routing_key'], 'monitor.info')
|
||||
self.assertEquals(kwargs['tenant'], TENANT_ID_1)
|
||||
self.assertEquals(kwargs['json'], 'json')
|
||||
self.assertEquals(kwargs['state'], 'active')
|
||||
self.assertEquals(kwargs['old_state'], 'building')
|
||||
self.assertEquals(kwargs['old_task'], 'build')
|
||||
self.assertEquals(kwargs['task'], 'rebuild_spawning')
|
||||
self.assertEquals(kwargs['image_type'], 1)
|
||||
self.assertEquals(kwargs['when'], Decimal('1371018652.790476'))
|
||||
self.assertEquals(kwargs['publisher'], 'compute.cpu1-n01.example.com')
|
||||
self.assertEquals(kwargs['event'], 'compute.instance.create.start')
|
||||
self.assertEquals(kwargs['request_id'], REQUEST_ID_1)
|
||||
|
||||
def test_rawdata_kwargs_for_message_with_no_host(self):
|
||||
message = {
|
||||
'event_type': 'compute.instance.create.start',
|
||||
|
Loading…
x
Reference in New Issue
Block a user