keystone/doc/source/event_notifications.rst
Steve Martinelli 13583ee852 Add notifications for groups and roles
Currently, we only issue notifications for projects, users and
domains. This patch will add support to issue notifications for
groups and roles. Notifications will be sent on create, update
and delete.

I've also updated tests to include tests for projects and users.

DocImpact
Change-Id: I23eac9afb2a227e5739dc25395705597a92eb23c
fixes: bug 1231220
2013-10-17 11:29:41 -05:00

2.5 KiB

Keystone Event Notifications

Keystone provides notifications about usage data so that 3rd party applications can use the data for billing, monitoring, or quota purposes. This document describes the current inclusions and exclusions for Keystone usage notifications.

Notifications for Create/Update/Delete Events

A notification is sent when a resource is successfully created, updated, or deleted. The following resource types (where a <resource type> is always a singular noun) produce notifications:

  • group
  • project (i.e. "tenant")
  • role
  • user

The following message template is used to form a message when an operation on a resource completes successfully:

{
    "event_type": "identity.<resource type>.<operation>",
    "message_id": "<message ID>",
    "payload": {
        "resource_info": "<resource ID>"
    },
    "priority": "INFO",
    "publisher_id": "identity.<hostname>",
    "timestamp": "<timestamp>"
}

Notifications for create, update and delete events are all similar to each other, where either created, updated or deleted is inserted as the <operation> in the above notification's event_type.

If the operation fails, the notification won't be sent, and no special error notification will be sent. Information about the error is handled through normal exception paths.

Notification Example

This is an example of a notification sent for a newly created user:

{
    "event_type": "identity.user.created",
    "message_id": "0156ee79-b35f-4cef-ac37-d4a85f231c69",
    "payload": {
        "resource_info": "671da331c47d4e29bb6ea1d270154ec3"
    },
    "priority": "INFO",
    "publisher_id": "identity.host1234",
    "timestamp": "2013-08-29 19:03:45.960280"
}