Handle Cinder attach and detach notifications
Handle attach and detach Cinder notifications so the latest volume state is available in samples. Closes-bug: #1353590 Change-Id: I725d04bee332429e864941199e37aef07a0f6adf
This commit is contained in:
parent
30bc53e4a0
commit
e73fc9b5cb
@ -73,6 +73,62 @@ NOTIFICATION_VOLUME_DELETE = {
|
||||
u'priority': u'INFO'}
|
||||
|
||||
|
||||
NOTIFICATION_VOLUME_ATTACH = {
|
||||
u'_context_roles': [u'Member', u'admin'],
|
||||
u'_context_request_id': u'req-6ba8ccb4-1093-4a39-b029-adfaa3fc7ceb',
|
||||
u'_context_quota_class': None,
|
||||
u'event_type': u'volume.attach.end',
|
||||
u'timestamp': u'2012-09-21 10:24:13.168630',
|
||||
u'message_id': u'c994ae8d-d068-4101-bd06-1048877c844a',
|
||||
u'_context_auth_token': u'277c6899de8a4b3d999f3e2e4c0915ff',
|
||||
u'_context_is_admin': True,
|
||||
u'_context_project_id': u'6c97f1ecf17047eab696786d56a0bff5',
|
||||
u'_context_timestamp': u'2012-09-21T10:02:27.134211',
|
||||
u'_context_read_deleted': u'no',
|
||||
u'_context_user_id': u'4d2fa4b76a4a4ecab8c468c8dea42f89',
|
||||
u'_context_remote_address': u'192.168.22.101',
|
||||
u'publisher_id': u'volume.ubuntu-VirtualBox',
|
||||
u'payload': {u'status': u'in-use',
|
||||
u'volume_type_id': None,
|
||||
u'display_name': u'abc',
|
||||
u'tenant_id': u'6c97f1ecf17047eab696786d56a0bff5',
|
||||
u'created_at': u'2012-09-21 10:10:47',
|
||||
u'snapshot_id': None,
|
||||
u'volume_id': u'3b761164-84b4-4eb3-8fcb-1974c641d6ef',
|
||||
u'user_id': u'4d2fa4b76a4a4ecab8c468c8dea42f89',
|
||||
u'launched_at': u'2012-09-21 10:10:50',
|
||||
u'size': 3},
|
||||
u'priority': u'INFO'}
|
||||
|
||||
|
||||
NOTIFICATION_VOLUME_DETACH = {
|
||||
u'_context_roles': [u'Member', u'admin'],
|
||||
u'_context_request_id': u'req-6ba8ccb4-1093-4a39-b029-adfaa3fc7ceb',
|
||||
u'_context_quota_class': None,
|
||||
u'event_type': u'volume.detach.end',
|
||||
u'timestamp': u'2012-09-21 10:24:13.168630',
|
||||
u'message_id': u'c994ae8d-d068-4101-bd06-1048877c844a',
|
||||
u'_context_auth_token': u'277c6899de8a4b3d999f3e2e4c0915ff',
|
||||
u'_context_is_admin': True,
|
||||
u'_context_project_id': u'6c97f1ecf17047eab696786d56a0bff5',
|
||||
u'_context_timestamp': u'2012-09-21T10:02:27.134211',
|
||||
u'_context_read_deleted': u'no',
|
||||
u'_context_user_id': u'4d2fa4b76a4a4ecab8c468c8dea42f89',
|
||||
u'_context_remote_address': u'192.168.22.101',
|
||||
u'publisher_id': u'volume.ubuntu-VirtualBox',
|
||||
u'payload': {u'status': u'available',
|
||||
u'volume_type_id': None,
|
||||
u'display_name': u'abc',
|
||||
u'tenant_id': u'6c97f1ecf17047eab696786d56a0bff5',
|
||||
u'created_at': u'2012-09-21 10:10:47',
|
||||
u'snapshot_id': None,
|
||||
u'volume_id': u'3b761164-84b4-4eb3-8fcb-1974c641d6ef',
|
||||
u'user_id': u'4d2fa4b76a4a4ecab8c468c8dea42f89',
|
||||
u'launched_at': u'2012-09-21 10:10:50',
|
||||
u'size': 3},
|
||||
u'priority': u'INFO'}
|
||||
|
||||
|
||||
NOTIFICATION_VOLUME_RESIZE = {
|
||||
u'_context_roles': [u'Member', u'admin'],
|
||||
u'_context_request_id': u'req-6ba8ccb4-1093-4a39-b029-adfaa3fc7ceb',
|
||||
@ -179,6 +235,44 @@ class TestNotifications(test.BaseTestCase):
|
||||
self.assertEqual(NOTIFICATION_VOLUME_DELETE['payload']['size'],
|
||||
s.volume)
|
||||
|
||||
def test_volume_attach(self):
|
||||
v = notifications.Volume(mock.Mock())
|
||||
samples = list(v.process_notification(NOTIFICATION_VOLUME_ATTACH))
|
||||
self.assertEqual(1, len(samples))
|
||||
s = samples[0]
|
||||
self._verify_common_sample_volume(
|
||||
s, 'volume', NOTIFICATION_VOLUME_ATTACH)
|
||||
self.assertEqual(1, s.volume)
|
||||
|
||||
def test_volume_size_attach(self):
|
||||
v = notifications.VolumeSize(mock.Mock())
|
||||
samples = list(v.process_notification(NOTIFICATION_VOLUME_ATTACH))
|
||||
self.assertEqual(1, len(samples))
|
||||
s = samples[0]
|
||||
self._verify_common_sample_volume(s, 'volume.size',
|
||||
NOTIFICATION_VOLUME_ATTACH)
|
||||
self.assertEqual(NOTIFICATION_VOLUME_ATTACH['payload']['size'],
|
||||
s.volume)
|
||||
|
||||
def test_volume_detach(self):
|
||||
v = notifications.Volume(mock.Mock())
|
||||
samples = list(v.process_notification(NOTIFICATION_VOLUME_DETACH))
|
||||
self.assertEqual(1, len(samples))
|
||||
s = samples[0]
|
||||
self._verify_common_sample_volume(
|
||||
s, 'volume', NOTIFICATION_VOLUME_ATTACH)
|
||||
self.assertEqual(1, s.volume)
|
||||
|
||||
def test_volume_size_detach(self):
|
||||
v = notifications.VolumeSize(mock.Mock())
|
||||
samples = list(v.process_notification(NOTIFICATION_VOLUME_DETACH))
|
||||
self.assertEqual(1, len(samples))
|
||||
s = samples[0]
|
||||
self._verify_common_sample_volume(s, 'volume.size',
|
||||
NOTIFICATION_VOLUME_DETACH)
|
||||
self.assertEqual(NOTIFICATION_VOLUME_DETACH['payload']['size'],
|
||||
s.volume)
|
||||
|
||||
def test_volume_resize(self):
|
||||
v = notifications.Volume(mock.Mock())
|
||||
samples = list(v.process_notification(NOTIFICATION_VOLUME_RESIZE))
|
||||
|
@ -58,6 +58,8 @@ class _VolumeBase(_Base):
|
||||
'volume.create.*',
|
||||
'volume.delete.*',
|
||||
'volume.resize.*',
|
||||
'volume.attach.*',
|
||||
'volume.detach.*',
|
||||
]
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user