Merge "Notify and update snapshot metrics"
This commit is contained in:
commit
7ebf4a9595
@ -69,7 +69,7 @@
|
|||||||
audit_period_ending:
|
audit_period_ending:
|
||||||
type: datetime
|
type: datetime
|
||||||
fields: payload.audit_period_ending
|
fields: payload.audit_period_ending
|
||||||
- event_type: ['volume.exists', 'volume.retype', 'volume.create.*', 'volume.delete.*', 'volume.resize.*', 'volume.attach.*', 'volume.detach.*', 'volume.update.*', 'snapshot.exists', 'snapshot.create.*', 'snapshot.delete.*', 'snapshot.update.*']
|
- event_type: ['volume.exists', 'volume.retype', 'volume.create.*', 'volume.delete.*', 'volume.resize.*', 'volume.attach.*', 'volume.detach.*', 'volume.update.*', 'snapshot.exists', 'snapshot.create.*', 'snapshot.delete.*', 'snapshot.update.*', 'volume.transfer.accept.end', 'snapshot.transfer.accept.end']
|
||||||
traits: &cinder_traits
|
traits: &cinder_traits
|
||||||
user_id:
|
user_id:
|
||||||
fields: payload.user_id
|
fields: payload.user_id
|
||||||
@ -89,8 +89,8 @@
|
|||||||
image_id:
|
image_id:
|
||||||
fields: payload.glance_metadata[?key=image_id].value
|
fields: payload.glance_metadata[?key=image_id].value
|
||||||
instance_id:
|
instance_id:
|
||||||
fields: payload.volume_attachment[0].instance_uuid
|
fields: payload.volume_attachment[0].server_id
|
||||||
- event_type: ['volume.transfer.*','volume.exists', 'volume.retype', 'volume.create.*', 'volume.delete.*', 'volume.resize.*', 'volume.attach.*', 'volume.detach.*', 'volume.update.*']
|
- event_type: ['volume.transfer.*', 'volume.exists', 'volume.retype', 'volume.create.*', 'volume.delete.*', 'volume.resize.*', 'volume.attach.*', 'volume.detach.*', 'volume.update.*', 'snapshot.transfer.accept.end']
|
||||||
traits:
|
traits:
|
||||||
<<: *cinder_traits
|
<<: *cinder_traits
|
||||||
resource_id:
|
resource_id:
|
||||||
@ -104,6 +104,13 @@
|
|||||||
fields: payload.volume_type
|
fields: payload.volume_type
|
||||||
replication_status:
|
replication_status:
|
||||||
fields: payload.replication_status
|
fields: payload.replication_status
|
||||||
|
- event_type: ['snapshot.transfer.accept.end']
|
||||||
|
traits:
|
||||||
|
<<: *cinder_traits
|
||||||
|
resource_id:
|
||||||
|
fields: payload.snapshot_id
|
||||||
|
project_id:
|
||||||
|
fields: payload.tenant_id
|
||||||
- event_type: ['share.create.*', 'share.delete.*', 'share.extend.*', 'share.shrink.*']
|
- event_type: ['share.create.*', 'share.delete.*', 'share.extend.*', 'share.shrink.*']
|
||||||
traits: &share_traits
|
traits: &share_traits
|
||||||
share_id:
|
share_id:
|
||||||
@ -687,3 +694,4 @@
|
|||||||
fields: payload.detail
|
fields: payload.detail
|
||||||
type:
|
type:
|
||||||
fields: payload.type
|
fields: payload.type
|
||||||
|
|
||||||
|
@ -250,7 +250,9 @@ resources:
|
|||||||
event_delete:
|
event_delete:
|
||||||
- volume.delete.end
|
- volume.delete.end
|
||||||
- snapshot.delete.end
|
- snapshot.delete.end
|
||||||
event_update: volume.transfer.accept.end
|
event_update:
|
||||||
|
- volume.transfer.accept.end
|
||||||
|
- snapshot.transfer.accept.end
|
||||||
event_attributes:
|
event_attributes:
|
||||||
id: resource_id
|
id: resource_id
|
||||||
project_id: project_id
|
project_id: project_id
|
||||||
@ -414,3 +416,4 @@ resources:
|
|||||||
network.services.lb.total.connections:
|
network.services.lb.total.connections:
|
||||||
network.services.lb.active.connections:
|
network.services.lb.active.connections:
|
||||||
|
|
||||||
|
|
||||||
|
@ -174,6 +174,28 @@ VOLUME_TRANSFER_ACCEPT_END = models.Event(
|
|||||||
message_id=u'9fc4ceee-d980-4098-a685-2ad660838ac1'
|
message_id=u'9fc4ceee-d980-4098-a685-2ad660838ac1'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
SNAPSHOT_TRANSFER_ACCEPT_END = models.Event(
|
||||||
|
event_type='snapshot.transfer.accept.end',
|
||||||
|
traits=[models.Trait(u'tenant_id', 1, '945e7d09220e4308abe4b3b734bf5fce>'),
|
||||||
|
models.Trait(u'project_id', 1, '85bc015f7a2342348593077a927c4aaa'),
|
||||||
|
models.Trait(u'user_id', 1, '945e7d09220e4308abe4b3b734bf5fce'),
|
||||||
|
models.Trait(u'service', 1, 'volume.controller-0'),
|
||||||
|
models.Trait(
|
||||||
|
u'request_id', 1, 'req-71dd1ae4-81ca-431a-b9fd-ac833eba889f'),
|
||||||
|
models.Trait(
|
||||||
|
u'resource_id', 1, '156b8d3f-ad99-429b-b84c-3f263fb2a801'),
|
||||||
|
models.Trait(
|
||||||
|
u'display_name', 1, 'test-vol'),
|
||||||
|
models.Trait(
|
||||||
|
u'type', 1, 'req-71dd1ae4-81ca-431a-b9fd-ac833eba889f'),
|
||||||
|
models.Trait(u'host', 1, 'hostgroup@tripleo_iscsi#tripleo_iscsi'),
|
||||||
|
models.Trait(u'created_at', 4, '2020-08-28 12:51:52'),
|
||||||
|
models.Trait(u'size', 2, 1)],
|
||||||
|
raw={},
|
||||||
|
generated='2020-08-28T12:52:22.930413',
|
||||||
|
message_id=u'9fc4ceee-d980-4098-a685-2ad660838ac1'
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class PublisherTest(base.BaseTestCase):
|
class PublisherTest(base.BaseTestCase):
|
||||||
|
|
||||||
@ -645,6 +667,28 @@ class PublisherWorkflowTest(base.BaseTestCase,
|
|||||||
for call in expected_calls:
|
for call in expected_calls:
|
||||||
self.assertIn(call, fakeclient.mock_calls)
|
self.assertIn(call, fakeclient.mock_calls)
|
||||||
|
|
||||||
|
@mock.patch('gnocchiclient.v1.client.Client')
|
||||||
|
def test_update_snapshot_event_workflow(self, fakeclient_cls):
|
||||||
|
url = netutils.urlsplit("gnocchi://")
|
||||||
|
self.publisher = gnocchi.GnocchiPublisher(self.conf.conf, url)
|
||||||
|
|
||||||
|
fakeclient = fakeclient_cls.return_value
|
||||||
|
|
||||||
|
now = timeutils.utcnow()
|
||||||
|
self.useFixture(utils_fixture.TimeFixture(now))
|
||||||
|
|
||||||
|
expected_calls = [
|
||||||
|
mock.call.resource.update(
|
||||||
|
'volume',
|
||||||
|
'156b8d3f-ad99-429b-b84c-3f263fb2a801',
|
||||||
|
{'project_id': '85bc015f7a2342348593077a927c4aaa'}),
|
||||||
|
]
|
||||||
|
|
||||||
|
self.publisher.publish_events([SNAPSHOT_TRANSFER_ACCEPT_END])
|
||||||
|
self.assertEqual(1, len(fakeclient.mock_calls))
|
||||||
|
for call in expected_calls:
|
||||||
|
self.assertIn(call, fakeclient.mock_calls)
|
||||||
|
|
||||||
@mock.patch('ceilometer.publisher.gnocchi.LOG')
|
@mock.patch('ceilometer.publisher.gnocchi.LOG')
|
||||||
@mock.patch('gnocchiclient.v1.client.Client')
|
@mock.patch('gnocchiclient.v1.client.Client')
|
||||||
def test_workflow(self, fakeclient_cls, logger):
|
def test_workflow(self, fakeclient_cls, logger):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user