)]}'
{"doc/source/event_notifications.rst":[{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"4bca30732f9e3b6c79a69f756f683a0c4e64cfc4","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        \"timestamp\": \"2014-02-14T01:20:47.932842\""},{"line_number":157,"context_line":"    }"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"In the case of a user authenticating through Federation, then the initiator"},{"line_number":160,"context_line":"portion of the payload will have additional data. For the purposes of this"},{"line_number":161,"context_line":"examples, only the initiator portion is shown, for instance:"},{"line_number":162,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"baa201ad_486598b3","line":159,"updated":"2014-10-06 20:09:50.000000000","message":"you use \u0027federation\u0027 everywhere, so maybe use lowercased word here too?","commit_id":"6f66ef2597e385b1491e4e808e74682649b13fc6"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"714e4af0c6cbf2d773decd9ff1c3e562e38922c1","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        \"timestamp\": \"2014-02-14T01:20:47.932842\""},{"line_number":157,"context_line":"    }"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"In the case of a user authenticating through Federation, then the initiator"},{"line_number":160,"context_line":"portion of the payload will have additional data. For the purposes of this"},{"line_number":161,"context_line":"examples, only the initiator portion is shown, for instance:"},{"line_number":162,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"baa201ad_eef655f8","line":159,"in_reply_to":"baa201ad_486598b3","updated":"2014-10-06 22:20:39.000000000","message":"good point","commit_id":"6f66ef2597e385b1491e4e808e74682649b13fc6"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"714e4af0c6cbf2d773decd9ff1c3e562e38922c1","unresolved":false,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":".. code-block:: javascript"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"\t{"},{"line_number":166,"context_line":"\t    \"payload\": {"},{"line_number":167,"context_line":"\t        \"typeURI\": \"http://schemas.dmtf.org/cloud/audit/1.0/event\","},{"line_number":168,"context_line":"\t        \"initiator\": {"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baa201ad_2edcdd72","line":165,"updated":"2014-10-06 22:20:39.000000000","message":"i\u0027ll clean these up too","commit_id":"6f66ef2597e385b1491e4e808e74682649b13fc6"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"9ebc90104a6c3579f1008d12fb87ec8da3c3a843","unresolved":false,"context_lines":[{"line_number":158,"context_line":""},{"line_number":159,"context_line":"In the case of a user authenticating through federation, then the initiator"},{"line_number":160,"context_line":"portion of the payload will have additional data. For the purposes of this"},{"line_number":161,"context_line":"examples, only the initiator portion is shown, for instance:"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":".. code-block:: javascript"},{"line_number":164,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a890539_3c4ac680","line":161,"updated":"2014-11-11 21:47:17.000000000","message":"(nit):\u0027this examples\u0027 -\u003e \u0027this example\u0027","commit_id":"0b7197f3246d03dcc77a60745e3d53dd0e199395"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"9ebc90104a6c3579f1008d12fb87ec8da3c3a843","unresolved":false,"context_lines":[{"line_number":163,"context_line":".. code-block:: javascript"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    {"},{"line_number":166,"context_line":"        \"payload\": {"},{"line_number":167,"context_line":"            \"typeURI\": \"http://schemas.dmtf.org/cloud/audit/1.0/event\","},{"line_number":168,"context_line":"            \"initiator\": {"},{"line_number":169,"context_line":"                \"credential\": {"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a890539_3c41e65a","line":166,"updated":"2014-11-11 21:47:17.000000000","message":"I would likely give the entire event, not just the initiator, it would be more consistent, and would be more in line with ensuring there is no confusion (yes i know you said \"only the initiator portion is shown\" above).","commit_id":"0b7197f3246d03dcc77a60745e3d53dd0e199395"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"6e2280b7968d9a9ffd892c4c2bc107afe4f725a4","unresolved":false,"context_lines":[{"line_number":163,"context_line":".. code-block:: javascript"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    {"},{"line_number":166,"context_line":"        \"payload\": {"},{"line_number":167,"context_line":"            \"typeURI\": \"http://schemas.dmtf.org/cloud/audit/1.0/event\","},{"line_number":168,"context_line":"            \"initiator\": {"},{"line_number":169,"context_line":"                \"credential\": {"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a961159_2e56e706","line":166,"in_reply_to":"5a890539_3c41e65a","updated":"2015-01-16 16:00:13.000000000","message":"If nothing else there should be a ..., [snip] or something in the JSON example to show that something is missing.","commit_id":"0b7197f3246d03dcc77a60745e3d53dd0e199395"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"f0fe3a8e64ce09247974cc34f4ae0ad3d200abb0","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"The ``priority`` of the notification being sent is not configurable through"},{"line_number":57,"context_line":"the Keystone configuration file. This value is defaulted to INFO for all"},{"line_number":58,"context_line":"notifications sent in Keystone\u0027s case."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Basic Notifications"},{"line_number":61,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":10,"id":"da86d52c_e02cdb04","line":58,"updated":"2015-02-03 15:51:52.000000000","message":"this is something that comes with oslo.messaging?","commit_id":"345a04ddbfe00add48571a351545561b76a13be4"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"76fc93cb77388cf5dea7c30e60a7a546dcf10b31","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"The ``priority`` of the notification being sent is not configurable through"},{"line_number":57,"context_line":"the Keystone configuration file. This value is defaulted to INFO for all"},{"line_number":58,"context_line":"notifications sent in Keystone\u0027s case."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Basic Notifications"},{"line_number":61,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":10,"id":"da86d52c_afb72bd7","line":58,"in_reply_to":"da86d52c_e02cdb04","updated":"2015-02-03 17:04:18.000000000","message":"i think it\u0027s because we always fire off the notifier with:\n\n  notifier.info(context, event_type, payload)\n\nbut yes, that bit comes comes oslo.messaging","commit_id":"345a04ddbfe00add48571a351545561b76a13be4"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"f0fe3a8e64ce09247974cc34f4ae0ad3d200abb0","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"If the operation fails, the notification won\u0027t be sent, and no special error"},{"line_number":120,"context_line":"notification will be sent. Information about the error is handled through"},{"line_number":121,"context_line":"normal exception paths."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Auditing with CADF"},{"line_number":124,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":10,"id":"da86d52c_db9c2ac3","line":121,"updated":"2015-02-03 15:51:52.000000000","message":"What about when an authentication call fails? We still send a notification in that case, right?","commit_id":"345a04ddbfe00add48571a351545561b76a13be4"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"76fc93cb77388cf5dea7c30e60a7a546dcf10b31","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"If the operation fails, the notification won\u0027t be sent, and no special error"},{"line_number":120,"context_line":"notification will be sent. Information about the error is handled through"},{"line_number":121,"context_line":"normal exception paths."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Auditing with CADF"},{"line_number":124,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":10,"id":"da86d52c_cf08df93","line":121,"in_reply_to":"da86d52c_db9c2ac3","updated":"2015-02-03 17:04:18.000000000","message":"correct, if *authentication* fails, then we send off a failure notification","commit_id":"345a04ddbfe00add48571a351545561b76a13be4"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"f0fe3a8e64ce09247974cc34f4ae0ad3d200abb0","unresolved":false,"context_lines":[{"line_number":173,"context_line":"Where the following are defined:"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"* ``\u003cinitiator_name\u003e``: Name of the user that performed the operation"},{"line_number":176,"context_line":"* ``\u003ctarget_uri\u003e``: CADF specific target URI, (i.e.:  data/security/project)"},{"line_number":177,"context_line":"* ``\u003caction\u003e``: The action being performed, typically:"},{"line_number":178,"context_line":"  ``\u003coperation\u003e``. ``\u003cresource_type\u003e``"},{"line_number":179,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"da86d52c_a0302302","line":176,"updated":"2015-02-03 15:51:52.000000000","message":"are there special things that end users can do with this?","commit_id":"345a04ddbfe00add48571a351545561b76a13be4"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"76fc93cb77388cf5dea7c30e60a7a546dcf10b31","unresolved":false,"context_lines":[{"line_number":173,"context_line":"Where the following are defined:"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"* ``\u003cinitiator_name\u003e``: Name of the user that performed the operation"},{"line_number":176,"context_line":"* ``\u003ctarget_uri\u003e``: CADF specific target URI, (i.e.:  data/security/project)"},{"line_number":177,"context_line":"* ``\u003caction\u003e``: The action being performed, typically:"},{"line_number":178,"context_line":"  ``\u003coperation\u003e``. ``\u003cresource_type\u003e``"},{"line_number":179,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"da86d52c_0f5f5773","line":176,"in_reply_to":"da86d52c_a0302302","updated":"2015-02-03 17:04:18.000000000","message":"It\u0027s part of the CADF spec, if we\u0027re manipulating something, that\u0027s the target, and the type_uri field should be updated accordingly.","commit_id":"345a04ddbfe00add48571a351545561b76a13be4"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"f0fe3a8e64ce09247974cc34f4ae0ad3d200abb0","unresolved":false,"context_lines":[{"line_number":400,"context_line":"    }"},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"Recommendations for consumers"},{"line_number":403,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":404,"context_line":""},{"line_number":405,"context_line":"One of the most important notifications that Keystone emits is for project"},{"line_number":406,"context_line":"deletions (``event_type`` \u003d ``identity.project.deleted``). This event should"}],"source_content_type":"text/x-rst","patch_set":10,"id":"da86d52c_9b5632d1","line":403,"updated":"2015-02-03 15:51:52.000000000","message":"Do we have any examples of how someone would wire this up?","commit_id":"345a04ddbfe00add48571a351545561b76a13be4"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"76fc93cb77388cf5dea7c30e60a7a546dcf10b31","unresolved":false,"context_lines":[{"line_number":400,"context_line":"    }"},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"Recommendations for consumers"},{"line_number":403,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":404,"context_line":""},{"line_number":405,"context_line":"One of the most important notifications that Keystone emits is for project"},{"line_number":406,"context_line":"deletions (``event_type`` \u003d ``identity.project.deleted``). This event should"}],"source_content_type":"text/x-rst","patch_set":10,"id":"da86d52c_4f85cfab","line":403,"in_reply_to":"da86d52c_9b5632d1","updated":"2015-02-03 17:04:18.000000000","message":"not off hand, i just moved this from line 92+ down to here since it applies to both formats","commit_id":"345a04ddbfe00add48571a351545561b76a13be4"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"a0d1e17ec5f8ad39d810942c08f9d1422e4e9d5f","unresolved":false,"context_lines":[{"line_number":137,"context_line":"request, located in the ``initiator`` object."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"CADF events are enabled by default, to disable CADF events, set the"},{"line_number":140,"context_line":"``enable_cadf_notifications`` property to ``False`` in the configuration file."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"The ``payload`` portion of a CADF Notification is a CADF ``event``, which"},{"line_number":143,"context_line":"is represented as a JSON dictionary. For example:"}],"source_content_type":"text/x-rst","patch_set":11,"id":"da86d52c_d1a4a1bb","line":140,"updated":"2015-02-05 20:00:47.000000000","message":"Isn\u0027t this now controlled by \"notification_format\" configuration?","commit_id":"af96638e0ade08584bc7e1f2961d6580367c4790"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"2548662ecfb9b487d08e07159cc932e5bc801268","unresolved":false,"context_lines":[{"line_number":137,"context_line":"request, located in the ``initiator`` object."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"CADF events are enabled by default, to disable CADF events, set the"},{"line_number":140,"context_line":"``enable_cadf_notifications`` property to ``False`` in the configuration file."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"The ``payload`` portion of a CADF Notification is a CADF ``event``, which"},{"line_number":143,"context_line":"is represented as a JSON dictionary. For example:"}],"source_content_type":"text/x-rst","patch_set":11,"id":"da86d52c_6ce5d807","line":140,"in_reply_to":"da86d52c_d1a4a1bb","updated":"2015-02-05 20:10:06.000000000","message":"++, this needs an update","commit_id":"af96638e0ade08584bc7e1f2961d6580367c4790"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"3eed2b87cdcfb2520a60e986975893f2f8d10dce","unresolved":false,"context_lines":[{"line_number":137,"context_line":"request, located in the ``initiator`` object."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"CADF events are enabled by default, to disable CADF events, set the"},{"line_number":140,"context_line":"``enable_cadf_notifications`` property to ``False`` in the configuration file."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"The ``payload`` portion of a CADF Notification is a CADF ``event``, which"},{"line_number":143,"context_line":"is represented as a JSON dictionary. For example:"}],"source_content_type":"text/x-rst","patch_set":11,"id":"da86d52c_0d16fa48","line":140,"in_reply_to":"da86d52c_d1a4a1bb","updated":"2015-02-13 05:17:59.000000000","message":"Done","commit_id":"af96638e0ade08584bc7e1f2961d6580367c4790"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"4c7f9f8f296325bb141f4f79dc251d419b48bd32","unresolved":false,"context_lines":[{"line_number":172,"context_line":""},{"line_number":173,"context_line":"Where the following are defined:"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"* ``\u003cinitiator_name\u003e``: Name of the user that performed the operation"},{"line_number":176,"context_line":"* ``\u003ctarget_uri\u003e``: CADF specific target URI, (i.e.:  data/security/project)"},{"line_number":177,"context_line":"* ``\u003caction\u003e``: The action being performed, typically:"},{"line_number":178,"context_line":"  ``\u003coperation\u003e``. ``\u003cresource_type\u003e``"}],"source_content_type":"text/x-rst","patch_set":11,"id":"da86d52c_bdaa9b82","line":175,"updated":"2015-02-05 22:13:22.000000000","message":"mention here too about initiator.id is  \u003cuser_id\u003e","commit_id":"af96638e0ade08584bc7e1f2961d6580367c4790"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"3eed2b87cdcfb2520a60e986975893f2f8d10dce","unresolved":false,"context_lines":[{"line_number":172,"context_line":""},{"line_number":173,"context_line":"Where the following are defined:"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"* ``\u003cinitiator_name\u003e``: Name of the user that performed the operation"},{"line_number":176,"context_line":"* ``\u003ctarget_uri\u003e``: CADF specific target URI, (i.e.:  data/security/project)"},{"line_number":177,"context_line":"* ``\u003caction\u003e``: The action being performed, typically:"},{"line_number":178,"context_line":"  ``\u003coperation\u003e``. ``\u003cresource_type\u003e``"}],"source_content_type":"text/x-rst","patch_set":11,"id":"da86d52c_ad3b2ecf","line":175,"in_reply_to":"da86d52c_bdaa9b82","updated":"2015-02-13 05:17:59.000000000","message":"Done","commit_id":"af96638e0ade08584bc7e1f2961d6580367c4790"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"a0d1e17ec5f8ad39d810942c08f9d1422e4e9d5f","unresolved":false,"context_lines":[{"line_number":327,"context_line":"                    \"address\": \"127.0.0.1\""},{"line_number":328,"context_line":"                },"},{"line_number":329,"context_line":"                \"id\": \"openstack:5ee22124-6f41-4d23-a9f7-862c13a53a66\","},{"line_number":330,"context_line":"                \"name\": \"c9f76d3c31e142af9291de2935bde98a\""},{"line_number":331,"context_line":"            },"},{"line_number":332,"context_line":"            \"target\": {"},{"line_number":333,"context_line":"                \"typeURI\": \"service/security/account/user\","}],"source_content_type":"text/x-rst","patch_set":11,"id":"da86d52c_9105c915","line":330,"updated":"2015-02-05 20:00:47.000000000","message":"I think this got updated, we don\u0027t pass the name.  Just id \u003d \u003cuser_id\u003e","commit_id":"af96638e0ade08584bc7e1f2961d6580367c4790"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"2548662ecfb9b487d08e07159cc932e5bc801268","unresolved":false,"context_lines":[{"line_number":327,"context_line":"                    \"address\": \"127.0.0.1\""},{"line_number":328,"context_line":"                },"},{"line_number":329,"context_line":"                \"id\": \"openstack:5ee22124-6f41-4d23-a9f7-862c13a53a66\","},{"line_number":330,"context_line":"                \"name\": \"c9f76d3c31e142af9291de2935bde98a\""},{"line_number":331,"context_line":"            },"},{"line_number":332,"context_line":"            \"target\": {"},{"line_number":333,"context_line":"                \"typeURI\": \"service/security/account/user\","}],"source_content_type":"text/x-rst","patch_set":11,"id":"da86d52c_4cead4db","line":330,"in_reply_to":"da86d52c_9105c915","updated":"2015-02-05 20:10:06.000000000","message":"++, this needs an update","commit_id":"af96638e0ade08584bc7e1f2961d6580367c4790"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"3eed2b87cdcfb2520a60e986975893f2f8d10dce","unresolved":false,"context_lines":[{"line_number":327,"context_line":"                    \"address\": \"127.0.0.1\""},{"line_number":328,"context_line":"                },"},{"line_number":329,"context_line":"                \"id\": \"openstack:5ee22124-6f41-4d23-a9f7-862c13a53a66\","},{"line_number":330,"context_line":"                \"name\": \"c9f76d3c31e142af9291de2935bde98a\""},{"line_number":331,"context_line":"            },"},{"line_number":332,"context_line":"            \"target\": {"},{"line_number":333,"context_line":"                \"typeURI\": \"service/security/account/user\","}],"source_content_type":"text/x-rst","patch_set":11,"id":"da86d52c_2d765ea4","line":330,"in_reply_to":"da86d52c_9105c915","updated":"2015-02-13 05:17:59.000000000","message":"Done","commit_id":"af96638e0ade08584bc7e1f2961d6580367c4790"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"a0d1e17ec5f8ad39d810942c08f9d1422e4e9d5f","unresolved":false,"context_lines":[{"line_number":374,"context_line":"                    \"address\": \"127.0.0.1\""},{"line_number":375,"context_line":"                },"},{"line_number":376,"context_line":"                \"id\": \"openstack:f6eac6ad-ef02-4469-a40f-c1c9151d3813\","},{"line_number":377,"context_line":"                \"name\": \"c9f76d3c31e142af9291de2935bde98a\""},{"line_number":378,"context_line":"            },"},{"line_number":379,"context_line":"            \"target\": {"},{"line_number":380,"context_line":"                \"typeURI\": \"service/security/account/user\","}],"source_content_type":"text/x-rst","patch_set":11,"id":"da86d52c_4c16544d","line":377,"updated":"2015-02-05 20:00:47.000000000","message":"I think this got updated, we don\u0027t pass the name.  Just id \u003d \u003cuser_id\u003e","commit_id":"af96638e0ade08584bc7e1f2961d6580367c4790"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"2548662ecfb9b487d08e07159cc932e5bc801268","unresolved":false,"context_lines":[{"line_number":374,"context_line":"                    \"address\": \"127.0.0.1\""},{"line_number":375,"context_line":"                },"},{"line_number":376,"context_line":"                \"id\": \"openstack:f6eac6ad-ef02-4469-a40f-c1c9151d3813\","},{"line_number":377,"context_line":"                \"name\": \"c9f76d3c31e142af9291de2935bde98a\""},{"line_number":378,"context_line":"            },"},{"line_number":379,"context_line":"            \"target\": {"},{"line_number":380,"context_line":"                \"typeURI\": \"service/security/account/user\","}],"source_content_type":"text/x-rst","patch_set":11,"id":"da86d52c_0cdd3c42","line":377,"in_reply_to":"da86d52c_4c16544d","updated":"2015-02-05 20:10:06.000000000","message":"++, this needs an update","commit_id":"af96638e0ade08584bc7e1f2961d6580367c4790"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"3eed2b87cdcfb2520a60e986975893f2f8d10dce","unresolved":false,"context_lines":[{"line_number":374,"context_line":"                    \"address\": \"127.0.0.1\""},{"line_number":375,"context_line":"                },"},{"line_number":376,"context_line":"                \"id\": \"openstack:f6eac6ad-ef02-4469-a40f-c1c9151d3813\","},{"line_number":377,"context_line":"                \"name\": \"c9f76d3c31e142af9291de2935bde98a\""},{"line_number":378,"context_line":"            },"},{"line_number":379,"context_line":"            \"target\": {"},{"line_number":380,"context_line":"                \"typeURI\": \"service/security/account/user\","}],"source_content_type":"text/x-rst","patch_set":11,"id":"da86d52c_4d79d291","line":377,"in_reply_to":"da86d52c_4c16544d","updated":"2015-02-13 05:17:59.000000000","message":"Done","commit_id":"af96638e0ade08584bc7e1f2961d6580367c4790"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"3569e35cad4101a0099ea82c5266b49e70714b45","unresolved":false,"context_lines":[{"line_number":127,"context_line":"adhere to the DMTF `CADF`_ specification. This standard provides auditing"},{"line_number":128,"context_line":"capabilities for compliance with security, operational, and business processes"},{"line_number":129,"context_line":"and supports normalized and categorized event data for federation and"},{"line_number":130,"context_line":"aggregation."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":".. _PyCADF: http://docs.openstack.org/developer/pycadf"},{"line_number":133,"context_line":".. _CADF: http://www.dmtf.org/standards/cadf"}],"source_content_type":"text/x-rst","patch_set":14,"id":"da86d52c_686a52b6","line":130,"updated":"2015-02-18 17:02:11.000000000","message":"I thought this sentence would never end :-)","commit_id":"b72768c29ffd0a0e0d2eb244649f7232bf1a2e91"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"3569e35cad4101a0099ea82c5266b49e70714b45","unresolved":false,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":"CADF notifications contain more information than just the resource being"},{"line_number":136,"context_line":"operated on. It will also include the ID of the user that initiated the"},{"line_number":137,"context_line":"request, located in the ``initiator`` object."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Notifications may be emitted by changing the ``notification_format`` to"},{"line_number":140,"context_line":"``cadf`` in the configuration file."}],"source_content_type":"text/x-rst","patch_set":14,"id":"da86d52c_c8ca5e6d","line":137,"updated":"2015-02-18 17:02:11.000000000","message":"There is more to it than just this right? Maybe just say if add more context data around the resource, the action and the initiator?","commit_id":"b72768c29ffd0a0e0d2eb244649f7232bf1a2e91"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"d5e29434ab116084acc24eb637d7bcb1fd789644","unresolved":false,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":"CADF notifications contain more information than just the resource being"},{"line_number":136,"context_line":"operated on. It will also include the ID of the user that initiated the"},{"line_number":137,"context_line":"request, located in the ``initiator`` object."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Notifications may be emitted by changing the ``notification_format`` to"},{"line_number":140,"context_line":"``cadf`` in the configuration file."}],"source_content_type":"text/x-rst","patch_set":14,"id":"ba7be1f8_b2deb20f","line":137,"in_reply_to":"da86d52c_c8ca5e6d","updated":"2015-02-24 06:41:38.000000000","message":"Done","commit_id":"b72768c29ffd0a0e0d2eb244649f7232bf1a2e91"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"df82a914be00aca539639c49953b112afefdb106","unresolved":false,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":"CADF notifications contain more information than just the resource being"},{"line_number":136,"context_line":"operated on. It will also include the ID of the user that initiated the"},{"line_number":137,"context_line":"request, located in the ``initiator`` object."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Notifications may be emitted by changing the ``notification_format`` to"},{"line_number":140,"context_line":"``cadf`` in the configuration file."}],"source_content_type":"text/x-rst","patch_set":14,"id":"da86d52c_0adff20d","line":137,"in_reply_to":"da86d52c_c8ca5e6d","updated":"2015-02-19 06:33:36.000000000","message":"good call","commit_id":"b72768c29ffd0a0e0d2eb244649f7232bf1a2e91"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"3569e35cad4101a0099ea82c5266b49e70714b45","unresolved":false,"context_lines":[{"line_number":136,"context_line":"operated on. It will also include the ID of the user that initiated the"},{"line_number":137,"context_line":"request, located in the ``initiator`` object."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Notifications may be emitted by changing the ``notification_format`` to"},{"line_number":140,"context_line":"``cadf`` in the configuration file."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"The ``payload`` portion of a CADF Notification is a CADF ``event``, which"}],"source_content_type":"text/x-rst","patch_set":14,"id":"da86d52c_c81c1e16","line":139,"updated":"2015-02-18 17:02:11.000000000","message":"CADF notifications may be emitted...","commit_id":"b72768c29ffd0a0e0d2eb244649f7232bf1a2e91"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"d5e29434ab116084acc24eb637d7bcb1fd789644","unresolved":false,"context_lines":[{"line_number":136,"context_line":"operated on. It will also include the ID of the user that initiated the"},{"line_number":137,"context_line":"request, located in the ``initiator`` object."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Notifications may be emitted by changing the ``notification_format`` to"},{"line_number":140,"context_line":"``cadf`` in the configuration file."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"The ``payload`` portion of a CADF Notification is a CADF ``event``, which"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ba7be1f8_d2ba46bf","line":139,"in_reply_to":"da86d52c_c81c1e16","updated":"2015-02-24 06:41:38.000000000","message":"Done","commit_id":"b72768c29ffd0a0e0d2eb244649f7232bf1a2e91"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"381742af61614cafaf7fe391ea8828bc6063cdc7","unresolved":false,"context_lines":[{"line_number":162,"context_line":"            \"typeURI\": \"service/security\","},{"line_number":163,"context_line":"            \"id\": \"openstack:3d4a50a9-2b59-438b-bf19-c231f9c7625a\""},{"line_number":164,"context_line":"        },"},{"line_number":165,"context_line":"        \"eventType\": \"activity\","},{"line_number":166,"context_line":"        \"eventTime\": \"2014-02-14T01:20:47.932842+00:00\","},{"line_number":167,"context_line":"        \"action\": \"\u003caction\u003e\","},{"line_number":168,"context_line":"        \"outcome\": \"success\","}],"source_content_type":"text/x-rst","patch_set":14,"id":"da86d52c_d6313c0c","line":165,"updated":"2015-02-18 06:51:31.000000000","message":"should we also describe the event type format here: project.resource.operation","commit_id":"b72768c29ffd0a0e0d2eb244649f7232bf1a2e91"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"d5e29434ab116084acc24eb637d7bcb1fd789644","unresolved":false,"context_lines":[{"line_number":162,"context_line":"            \"typeURI\": \"service/security\","},{"line_number":163,"context_line":"            \"id\": \"openstack:3d4a50a9-2b59-438b-bf19-c231f9c7625a\""},{"line_number":164,"context_line":"        },"},{"line_number":165,"context_line":"        \"eventType\": \"activity\","},{"line_number":166,"context_line":"        \"eventTime\": \"2014-02-14T01:20:47.932842+00:00\","},{"line_number":167,"context_line":"        \"action\": \"\u003caction\u003e\","},{"line_number":168,"context_line":"        \"outcome\": \"success\","}],"source_content_type":"text/x-rst","patch_set":14,"id":"ba7be1f8_f20d8a91","line":165,"in_reply_to":"da86d52c_0ab8d2c6","updated":"2015-02-24 06:41:38.000000000","message":"i added a small note here","commit_id":"b72768c29ffd0a0e0d2eb244649f7232bf1a2e91"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"3569e35cad4101a0099ea82c5266b49e70714b45","unresolved":false,"context_lines":[{"line_number":162,"context_line":"            \"typeURI\": \"service/security\","},{"line_number":163,"context_line":"            \"id\": \"openstack:3d4a50a9-2b59-438b-bf19-c231f9c7625a\""},{"line_number":164,"context_line":"        },"},{"line_number":165,"context_line":"        \"eventType\": \"activity\","},{"line_number":166,"context_line":"        \"eventTime\": \"2014-02-14T01:20:47.932842+00:00\","},{"line_number":167,"context_line":"        \"action\": \"\u003caction\u003e\","},{"line_number":168,"context_line":"        \"outcome\": \"success\","}],"source_content_type":"text/x-rst","patch_set":14,"id":"da86d52c_a86c4a37","line":165,"in_reply_to":"da86d52c_d6313c0c","updated":"2015-02-18 17:02:11.000000000","message":"++","commit_id":"b72768c29ffd0a0e0d2eb244649f7232bf1a2e91"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"df82a914be00aca539639c49953b112afefdb106","unresolved":false,"context_lines":[{"line_number":162,"context_line":"            \"typeURI\": \"service/security\","},{"line_number":163,"context_line":"            \"id\": \"openstack:3d4a50a9-2b59-438b-bf19-c231f9c7625a\""},{"line_number":164,"context_line":"        },"},{"line_number":165,"context_line":"        \"eventType\": \"activity\","},{"line_number":166,"context_line":"        \"eventTime\": \"2014-02-14T01:20:47.932842+00:00\","},{"line_number":167,"context_line":"        \"action\": \"\u003caction\u003e\","},{"line_number":168,"context_line":"        \"outcome\": \"success\","}],"source_content_type":"text/x-rst","patch_set":14,"id":"da86d52c_0ab8d2c6","line":165,"in_reply_to":"da86d52c_d6313c0c","updated":"2015-02-19 06:33:36.000000000","message":"so unfortunately, there are 2 event types\n\n1) event_type, which is an openstack-ism, that\u0027s the project.resource.operation, which is surfaced at the top level of the dictionary (along with message_id, payload, timestamp, etc)\n\n2) eventType, the CADF keyword, which designates the type of event that is being measures, this can be \u0027activity\u0027, \u0027monitor\u0027 or \u0027control\u0027","commit_id":"b72768c29ffd0a0e0d2eb244649f7232bf1a2e91"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"e11962e4b459a886f9ffdd1b138fe60283befa6d","unresolved":false,"context_lines":[{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Notifications generated by Keystone are generated in JSON format. An external"},{"line_number":34,"context_line":"application, can format them into ATOM format and publish them as a feed."},{"line_number":35,"context_line":"Currently, all notifications are immediate, meaning they are generated when a"},{"line_number":36,"context_line":"specific event happens. Notifications all adhere to a specific top level"},{"line_number":37,"context_line":"format:"}],"source_content_type":"text/x-rst","patch_set":17,"id":"ba7be1f8_f42c6cae","line":34,"updated":"2015-02-24 23:59:26.000000000","message":"(nit) do you need the comma here?","commit_id":"01fbe46d8ae3840de3578aa0a61be587be8b11fb"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"c669a2b0242767dec967c52e1e218b23abf0f1a8","unresolved":false,"context_lines":[{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Notifications generated by Keystone are generated in JSON format. An external"},{"line_number":34,"context_line":"application, can format them into ATOM format and publish them as a feed."},{"line_number":35,"context_line":"Currently, all notifications are immediate, meaning they are generated when a"},{"line_number":36,"context_line":"specific event happens. Notifications all adhere to a specific top level"},{"line_number":37,"context_line":"format:"}],"source_content_type":"text/x-rst","patch_set":17,"id":"ba7be1f8_d853eb14","line":34,"in_reply_to":"ba7be1f8_f42c6cae","updated":"2015-02-25 21:55:36.000000000","message":"Done","commit_id":"01fbe46d8ae3840de3578aa0a61be587be8b11fb"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"e11962e4b459a886f9ffdd1b138fe60283befa6d","unresolved":false,"context_lines":[{"line_number":175,"context_line":"* ``\u003caction\u003e``: The action being performed, typically:"},{"line_number":176,"context_line":"  ``\u003coperation\u003e``. ``\u003cresource_type\u003e``"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"Additionally there may be extra keys present depending on the action being"},{"line_number":179,"context_line":"performed, these will be discussed below."},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"Note, the ``eventType`` property of the CADF payload is different from the"}],"source_content_type":"text/x-rst","patch_set":17,"id":"ba7be1f8_175022d3","line":178,"updated":"2015-02-24 23:59:26.000000000","message":"s/action/operation/ since an operation is \u0027create\u0027 and an action is \u0027create.user\u0027?","commit_id":"01fbe46d8ae3840de3578aa0a61be587be8b11fb"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"c669a2b0242767dec967c52e1e218b23abf0f1a8","unresolved":false,"context_lines":[{"line_number":175,"context_line":"* ``\u003caction\u003e``: The action being performed, typically:"},{"line_number":176,"context_line":"  ``\u003coperation\u003e``. ``\u003cresource_type\u003e``"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"Additionally there may be extra keys present depending on the action being"},{"line_number":179,"context_line":"performed, these will be discussed below."},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"Note, the ``eventType`` property of the CADF payload is different from the"}],"source_content_type":"text/x-rst","patch_set":17,"id":"ba7be1f8_b877179f","line":178,"in_reply_to":"ba7be1f8_175022d3","updated":"2015-02-25 21:55:36.000000000","message":"Done","commit_id":"01fbe46d8ae3840de3578aa0a61be587be8b11fb"}]}
