)]}'
{"doc/networking-guide/source/config-logging-api.rst":[{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"26ec250df21dd74eceb89a71d84b78ced98df14b","unresolved":false,"context_lines":[{"line_number":1,"context_line":".. _config-logging-api:"},{"line_number":2,"context_line":""},{"line_number":3,"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":4,"context_line":"Logging API for security group"},{"line_number":5,"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":6,"context_line":""},{"line_number":7,"context_line":"Logging API is designed as a service plugin. It has two parts:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_3ab48b80","line":4,"range":{"start_line":4,"start_character":25,"end_line":4,"end_character":30},"updated":"2016-11-28 10:21:40.000000000","message":"groups*","commit_id":"85157c8bb823a5e63389180c6fcc90c01deb99a5"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"26ec250df21dd74eceb89a71d84b78ced98df14b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Logging API is designed as a service plugin. It has two parts:"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"1. Logging extension captures events related resources (e.g security group"},{"line_number":10,"context_line":"or firewall) when they occurred. It is implemented as an agent extension."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"2. Collector is an optional small executable which is implemented as a"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_daa55747","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":2},"updated":"2016-11-28 10:21:40.000000000","message":"Use the appropriate markup for listing:\n\n#. Logging extension...\n\n#. Collector...","commit_id":"85157c8bb823a5e63389180c6fcc90c01deb99a5"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"26ec250df21dd74eceb89a71d84b78ced98df14b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Logging API is designed as a service plugin. It has two parts:"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"1. Logging extension captures events related resources (e.g security group"},{"line_number":10,"context_line":"or firewall) when they occurred. It is implemented as an agent extension."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"2. Collector is an optional small executable which is implemented as a"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_1a6a6fee","line":9,"range":{"start_line":9,"start_character":56,"end_line":9,"end_character":60},"updated":"2016-11-28 10:21:40.000000000","message":"for example *","commit_id":"85157c8bb823a5e63389180c6fcc90c01deb99a5"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"26ec250df21dd74eceb89a71d84b78ced98df14b","unresolved":false,"context_lines":[{"line_number":10,"context_line":"or firewall) when they occurred. It is implemented as an agent extension."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"2. Collector is an optional small executable which is implemented as a"},{"line_number":13,"context_line":"periodic task. It runs periodically on nodes (e.g Compute node, ...) to"},{"line_number":14,"context_line":"collect events which are generated by logging extension, then it splits"},{"line_number":15,"context_line":"and saves them to other log-files. The collector can be triggered by"},{"line_number":16,"context_line":"operator via a cron script."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_3a6babf2","line":13,"range":{"start_line":13,"start_character":46,"end_line":13,"end_character":50},"updated":"2016-11-28 10:21:40.000000000","message":"for example","commit_id":"85157c8bb823a5e63389180c6fcc90c01deb99a5"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"26ec250df21dd74eceb89a71d84b78ced98df14b","unresolved":false,"context_lines":[{"line_number":10,"context_line":"or firewall) when they occurred. It is implemented as an agent extension."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"2. Collector is an optional small executable which is implemented as a"},{"line_number":13,"context_line":"periodic task. It runs periodically on nodes (e.g Compute node, ...) to"},{"line_number":14,"context_line":"collect events which are generated by logging extension, then it splits"},{"line_number":15,"context_line":"and saves them to other log-files. The collector can be triggered by"},{"line_number":16,"context_line":"operator via a cron script."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_5a7067dc","line":13,"range":{"start_line":13,"start_character":64,"end_line":13,"end_character":67},"updated":"2016-11-28 10:21:40.000000000","message":"remove","commit_id":"85157c8bb823a5e63389180c6fcc90c01deb99a5"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"26ec250df21dd74eceb89a71d84b78ced98df14b","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"If projects are trusted to administrate their own logging policies in"},{"line_number":44,"context_line":"your cloud, neutron\u0027s file ``policy.json`` can be modified to allow this."},{"line_number":45,"context_line":"We have just support for operator yet."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Modify ``/etc/neutron/policy.json`` policy entries as follows:"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_3a42cb68","line":45,"range":{"start_line":45,"start_character":0,"end_line":45,"end_character":38},"updated":"2016-11-28 10:21:40.000000000","message":"I\u0027m not sure what this means?","commit_id":"85157c8bb823a5e63389180c6fcc90c01deb99a5"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"26ec250df21dd74eceb89a71d84b78ced98df14b","unresolved":false,"context_lines":[{"line_number":51,"context_line":"Operator workflow"},{"line_number":52,"context_line":"~~~~~~~~~~~~~~~~~"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"logging policies are only created by admins with the default ``policy.json``."},{"line_number":55,"context_line":"Therefore, you should have the cloud operator set them up on"},{"line_number":56,"context_line":"behalf of the cloud projects."},{"line_number":57,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_7a60c301","line":54,"range":{"start_line":54,"start_character":0,"end_line":54,"end_character":7},"updated":"2016-11-28 10:21:40.000000000","message":"Logging *","commit_id":"85157c8bb823a5e63389180c6fcc90c01deb99a5"},{"author":{"_account_id":15905,"name":"Cao Xuan Hoang","email":"xuanhoangqb@gmail.com","username":"hoangcx"},"change_message_id":"146d4ccecadbd925b677a9c4a60b14f6a856cb23","unresolved":false,"context_lines":[{"line_number":15,"context_line":"   and saves them to other log-files. The collector can be triggered by"},{"line_number":16,"context_line":"   operator via a cron script."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"`Neutron logging API specification \u003chttp://docs-draft.openstack.org/09/203509/51/check/gate-neutron-specs-docs-ubuntu-xenial/54bc0ae//doc/build/html/specs/ocata/logging-API-for-security-group-rules.html\u003e`_."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Supported logging resource types"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a3905b3_07f99c80","line":18,"range":{"start_line":18,"start_character":36,"end_line":18,"end_character":202},"updated":"2017-01-20 09:53:09.000000000","message":"This should be http://docs-draft.openstack.org/09/203509/58/check/gate-neutron-specs-docs-ubuntu-xenial/836d853//doc/build/html/specs/ocata/logging-API-for-security-group-rules.html for latest one.","commit_id":"ce9bd0cc3c90c28d2ecf3239e1a730c5c08420f0"},{"author":{"_account_id":15905,"name":"Cao Xuan Hoang","email":"xuanhoangqb@gmail.com","username":"hoangcx"},"change_message_id":"146d4ccecadbd925b677a9c4a60b14f6a856cb23","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Modify ``/etc/neutron/policy.json`` policy entries as follows:"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":".. code-block:: json"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"   \"get_loggable_resources\": \"rule:admin_only\","},{"line_number":78,"context_line":"   \"create_log\": \"rule:admin_only\","}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a3905b3_a7b9a8cd","line":75,"range":{"start_line":75,"start_character":16,"end_line":75,"end_character":20},"updated":"2017-01-20 09:53:09.000000000","message":"this should be \u0027python\u0027 to pass the gate.\n\nhttp://docs.openstack.org/contributor-guide/rst-conv/source-code.html","commit_id":"ce9bd0cc3c90c28d2ecf3239e1a730c5c08420f0"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"36f74e7edf43e29612dcb319ad7a600ae8fbd57d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Logging API for security groups"},{"line_number":5,"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\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Logging API is designed as a service plugin. It has two parts:"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"#. Logging extension captures events related resources (for example security"},{"line_number":10,"context_line":"   group or firewall) when they occurred. It is implemented as an agent"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a430d35_9eba3209","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":11},"updated":"2017-02-06 11:28:29.000000000","message":"The Logging API","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"ececdde3e6f477aac30412e064ce5769453bf9ca","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Logging API for security groups"},{"line_number":5,"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\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Logging API is designed as a service plugin. It has two parts:"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"#. Logging extension captures events related resources (for example security"},{"line_number":10,"context_line":"   group or firewall) when they occurred. It is implemented as an agent"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a3905b3_f432255d","line":7,"range":{"start_line":7,"start_character":37,"end_line":7,"end_character":43},"updated":"2017-01-23 11:38:43.000000000","message":"plug-in","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"ececdde3e6f477aac30412e064ce5769453bf9ca","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Logging API for security groups"},{"line_number":5,"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\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Logging API is designed as a service plugin. It has two parts:"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"#. Logging extension captures events related resources (for example security"},{"line_number":10,"context_line":"   group or firewall) when they occurred. It is implemented as an agent"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a3905b3_b405fd7a","line":7,"range":{"start_line":7,"start_character":43,"end_line":7,"end_character":62},"updated":"2017-01-23 11:38:43.000000000","message":"plugin with two parts: *","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"bdcd870340cb412c2c9d83088db130cd4a20cf76","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Logging API for security groups"},{"line_number":5,"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\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Logging API is designed as a service plugin. It has two parts:"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"#. Logging extension captures events related resources (for example security"},{"line_number":10,"context_line":"   group or firewall) when they occurred. It is implemented as an agent"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_e8043ac1","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":11},"in_reply_to":"1a430d35_9eba3209","updated":"2017-03-02 15:41:18.000000000","message":"Done","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"bdcd870340cb412c2c9d83088db130cd4a20cf76","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Logging API for security groups"},{"line_number":5,"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\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Logging API is designed as a service plugin. It has two parts:"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"#. Logging extension captures events related resources (for example security"},{"line_number":10,"context_line":"   group or firewall) when they occurred. It is implemented as an agent"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_a8fa42bb","line":7,"range":{"start_line":7,"start_character":43,"end_line":7,"end_character":62},"in_reply_to":"5a3905b3_b405fd7a","updated":"2017-03-02 15:41:18.000000000","message":"Done","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"bdcd870340cb412c2c9d83088db130cd4a20cf76","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Logging API for security groups"},{"line_number":5,"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\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Logging API is designed as a service plugin. It has two parts:"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"#. Logging extension captures events related resources (for example security"},{"line_number":10,"context_line":"   group or firewall) when they occurred. It is implemented as an agent"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_c8f5b6cb","line":7,"range":{"start_line":7,"start_character":37,"end_line":7,"end_character":43},"in_reply_to":"5a3905b3_f432255d","updated":"2017-03-02 15:41:18.000000000","message":"Done","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"36f74e7edf43e29612dcb319ad7a600ae8fbd57d","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Logging API is designed as a service plugin. It has two parts:"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"#. Logging extension captures events related resources (for example security"},{"line_number":10,"context_line":"   group or firewall) when they occurred. It is implemented as an agent"},{"line_number":11,"context_line":"   extension."},{"line_number":12,"context_line":"#. Collector is an optional small executable which is implemented as a"},{"line_number":13,"context_line":"   periodic task. It runs periodically on nodes (for example Compute node) to"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a430d35_9e731215","line":10,"range":{"start_line":9,"start_character":3,"end_line":10,"end_character":41},"updated":"2017-02-06 11:28:29.000000000","message":"The logging extension captures events for relevant resources (for example, security groups or firewalls) when they occur.","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"ececdde3e6f477aac30412e064ce5769453bf9ca","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Logging API is designed as a service plugin. It has two parts:"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"#. Logging extension captures events related resources (for example security"},{"line_number":10,"context_line":"   group or firewall) when they occurred. It is implemented as an agent"},{"line_number":11,"context_line":"   extension."},{"line_number":12,"context_line":"#. Collector is an optional small executable which is implemented as a"},{"line_number":13,"context_line":"   periodic task. It runs periodically on nodes (for example Compute node) to"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a3905b3_f4fb0579","line":10,"range":{"start_line":9,"start_character":3,"end_line":10,"end_character":41},"updated":"2017-01-23 11:38:43.000000000","message":"This doesn\u0027t flow on from the previous sentence. What are the two parts? Please make this obvious.","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"bdcd870340cb412c2c9d83088db130cd4a20cf76","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Logging API is designed as a service plugin. It has two parts:"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"#. Logging extension captures events related resources (for example security"},{"line_number":10,"context_line":"   group or firewall) when they occurred. It is implemented as an agent"},{"line_number":11,"context_line":"   extension."},{"line_number":12,"context_line":"#. Collector is an optional small executable which is implemented as a"},{"line_number":13,"context_line":"   periodic task. It runs periodically on nodes (for example Compute node) to"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_c8ca166e","line":10,"range":{"start_line":9,"start_character":3,"end_line":10,"end_character":41},"in_reply_to":"1a430d35_9e731215","updated":"2017-03-02 15:41:18.000000000","message":"Done","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"bdcd870340cb412c2c9d83088db130cd4a20cf76","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Logging API is designed as a service plugin. It has two parts:"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"#. Logging extension captures events related resources (for example security"},{"line_number":10,"context_line":"   group or firewall) when they occurred. It is implemented as an agent"},{"line_number":11,"context_line":"   extension."},{"line_number":12,"context_line":"#. Collector is an optional small executable which is implemented as a"},{"line_number":13,"context_line":"   periodic task. It runs periodically on nodes (for example Compute node) to"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_68b5aaec","line":10,"range":{"start_line":9,"start_character":3,"end_line":10,"end_character":41},"in_reply_to":"5a3905b3_f4fb0579","updated":"2017-03-02 15:41:18.000000000","message":"Done","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"36f74e7edf43e29612dcb319ad7a600ae8fbd57d","unresolved":false,"context_lines":[{"line_number":9,"context_line":"#. Logging extension captures events related resources (for example security"},{"line_number":10,"context_line":"   group or firewall) when they occurred. It is implemented as an agent"},{"line_number":11,"context_line":"   extension."},{"line_number":12,"context_line":"#. Collector is an optional small executable which is implemented as a"},{"line_number":13,"context_line":"   periodic task. It runs periodically on nodes (for example Compute node) to"},{"line_number":14,"context_line":"   collect events which are generated by logging extension, then it splits"},{"line_number":15,"context_line":"   and saves them to other log-files. The collector can be triggered by"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a430d35_1e5e4276","line":12,"range":{"start_line":12,"start_character":3,"end_line":12,"end_character":15},"updated":"2017-02-06 11:28:29.000000000","message":"The Collector","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"bdcd870340cb412c2c9d83088db130cd4a20cf76","unresolved":false,"context_lines":[{"line_number":9,"context_line":"#. Logging extension captures events related resources (for example security"},{"line_number":10,"context_line":"   group or firewall) when they occurred. It is implemented as an agent"},{"line_number":11,"context_line":"   extension."},{"line_number":12,"context_line":"#. Collector is an optional small executable which is implemented as a"},{"line_number":13,"context_line":"   periodic task. It runs periodically on nodes (for example Compute node) to"},{"line_number":14,"context_line":"   collect events which are generated by logging extension, then it splits"},{"line_number":15,"context_line":"   and saves them to other log-files. The collector can be triggered by"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_889d7e5b","line":12,"range":{"start_line":12,"start_character":3,"end_line":12,"end_character":15},"in_reply_to":"1a430d35_1e5e4276","updated":"2017-03-02 15:41:18.000000000","message":"Done","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"ececdde3e6f477aac30412e064ce5769453bf9ca","unresolved":false,"context_lines":[{"line_number":9,"context_line":"#. Logging extension captures events related resources (for example security"},{"line_number":10,"context_line":"   group or firewall) when they occurred. It is implemented as an agent"},{"line_number":11,"context_line":"   extension."},{"line_number":12,"context_line":"#. Collector is an optional small executable which is implemented as a"},{"line_number":13,"context_line":"   periodic task. It runs periodically on nodes (for example Compute node) to"},{"line_number":14,"context_line":"   collect events which are generated by logging extension, then it splits"},{"line_number":15,"context_line":"   and saves them to other log-files. The collector can be triggered by"},{"line_number":16,"context_line":"   operator via a cron script."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a3905b3_1401716a","line":13,"range":{"start_line":12,"start_character":3,"end_line":13,"end_character":34},"updated":"2017-01-23 11:38:43.000000000","message":"ditto","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"ececdde3e6f477aac30412e064ce5769453bf9ca","unresolved":false,"context_lines":[{"line_number":10,"context_line":"   group or firewall) when they occurred. It is implemented as an agent"},{"line_number":11,"context_line":"   extension."},{"line_number":12,"context_line":"#. Collector is an optional small executable which is implemented as a"},{"line_number":13,"context_line":"   periodic task. It runs periodically on nodes (for example Compute node) to"},{"line_number":14,"context_line":"   collect events which are generated by logging extension, then it splits"},{"line_number":15,"context_line":"   and saves them to other log-files. The collector can be triggered by"},{"line_number":16,"context_line":"   operator via a cron script."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a3905b3_74f0f591","line":13,"range":{"start_line":13,"start_character":49,"end_line":13,"end_character":60},"updated":"2017-01-23 11:38:43.000000000","message":"for example, the Compute node*","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"bdcd870340cb412c2c9d83088db130cd4a20cf76","unresolved":false,"context_lines":[{"line_number":9,"context_line":"#. Logging extension captures events related resources (for example security"},{"line_number":10,"context_line":"   group or firewall) when they occurred. It is implemented as an agent"},{"line_number":11,"context_line":"   extension."},{"line_number":12,"context_line":"#. Collector is an optional small executable which is implemented as a"},{"line_number":13,"context_line":"   periodic task. It runs periodically on nodes (for example Compute node) to"},{"line_number":14,"context_line":"   collect events which are generated by logging extension, then it splits"},{"line_number":15,"context_line":"   and saves them to other log-files. The collector can be triggered by"},{"line_number":16,"context_line":"   operator via a cron script."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_680daa8f","line":13,"range":{"start_line":12,"start_character":3,"end_line":13,"end_character":34},"in_reply_to":"5a3905b3_1401716a","updated":"2017-03-02 15:41:18.000000000","message":"Done","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"bdcd870340cb412c2c9d83088db130cd4a20cf76","unresolved":false,"context_lines":[{"line_number":10,"context_line":"   group or firewall) when they occurred. It is implemented as an agent"},{"line_number":11,"context_line":"   extension."},{"line_number":12,"context_line":"#. Collector is an optional small executable which is implemented as a"},{"line_number":13,"context_line":"   periodic task. It runs periodically on nodes (for example Compute node) to"},{"line_number":14,"context_line":"   collect events which are generated by logging extension, then it splits"},{"line_number":15,"context_line":"   and saves them to other log-files. The collector can be triggered by"},{"line_number":16,"context_line":"   operator via a cron script."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_48f2a670","line":13,"range":{"start_line":13,"start_character":49,"end_line":13,"end_character":60},"in_reply_to":"5a3905b3_74f0f591","updated":"2017-03-02 15:41:18.000000000","message":"Done","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"36f74e7edf43e29612dcb319ad7a600ae8fbd57d","unresolved":false,"context_lines":[{"line_number":11,"context_line":"   extension."},{"line_number":12,"context_line":"#. Collector is an optional small executable which is implemented as a"},{"line_number":13,"context_line":"   periodic task. It runs periodically on nodes (for example Compute node) to"},{"line_number":14,"context_line":"   collect events which are generated by logging extension, then it splits"},{"line_number":15,"context_line":"   and saves them to other log-files. The collector can be triggered by"},{"line_number":16,"context_line":"   operator via a cron script."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a430d35_decafa19","line":14,"range":{"start_line":14,"start_character":41,"end_line":14,"end_character":48},"updated":"2017-02-06 11:28:29.000000000","message":"The logging extension","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"bdcd870340cb412c2c9d83088db130cd4a20cf76","unresolved":false,"context_lines":[{"line_number":11,"context_line":"   extension."},{"line_number":12,"context_line":"#. Collector is an optional small executable which is implemented as a"},{"line_number":13,"context_line":"   periodic task. It runs periodically on nodes (for example Compute node) to"},{"line_number":14,"context_line":"   collect events which are generated by logging extension, then it splits"},{"line_number":15,"context_line":"   and saves them to other log-files. The collector can be triggered by"},{"line_number":16,"context_line":"   operator via a cron script."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_289652f0","line":14,"range":{"start_line":14,"start_character":41,"end_line":14,"end_character":48},"in_reply_to":"1a430d35_decafa19","updated":"2017-03-02 15:41:18.000000000","message":"Done","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"36f74e7edf43e29612dcb319ad7a600ae8fbd57d","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#. Collector is an optional small executable which is implemented as a"},{"line_number":13,"context_line":"   periodic task. It runs periodically on nodes (for example Compute node) to"},{"line_number":14,"context_line":"   collect events which are generated by logging extension, then it splits"},{"line_number":15,"context_line":"   and saves them to other log-files. The collector can be triggered by"},{"line_number":16,"context_line":"   operator via a cron script."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"`Neutron logging API specification \u003chttp://docs-draft.openstack.org/09/203509/58/check/gate-neutron-specs-docs-ubuntu-xenial/836d853//doc/build/html/specs/ocata/logging-API-for-security-group-rules.html\u003e`_."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a430d35_9ee1529d","line":15,"range":{"start_line":15,"start_character":27,"end_line":15,"end_character":36},"updated":"2017-02-06 11:28:29.000000000","message":"log files","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"bdcd870340cb412c2c9d83088db130cd4a20cf76","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#. Collector is an optional small executable which is implemented as a"},{"line_number":13,"context_line":"   periodic task. It runs periodically on nodes (for example Compute node) to"},{"line_number":14,"context_line":"   collect events which are generated by logging extension, then it splits"},{"line_number":15,"context_line":"   and saves them to other log-files. The collector can be triggered by"},{"line_number":16,"context_line":"   operator via a cron script."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"`Neutron logging API specification \u003chttp://docs-draft.openstack.org/09/203509/58/check/gate-neutron-specs-docs-ubuntu-xenial/836d853//doc/build/html/specs/ocata/logging-API-for-security-group-rules.html\u003e`_."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_e8ab5a1b","line":15,"range":{"start_line":15,"start_character":27,"end_line":15,"end_character":36},"in_reply_to":"1a430d35_9ee1529d","updated":"2017-03-02 15:41:18.000000000","message":"Done","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"36f74e7edf43e29612dcb319ad7a600ae8fbd57d","unresolved":false,"context_lines":[{"line_number":13,"context_line":"   periodic task. It runs periodically on nodes (for example Compute node) to"},{"line_number":14,"context_line":"   collect events which are generated by logging extension, then it splits"},{"line_number":15,"context_line":"   and saves them to other log-files. The collector can be triggered by"},{"line_number":16,"context_line":"   operator via a cron script."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"`Neutron logging API specification \u003chttp://docs-draft.openstack.org/09/203509/58/check/gate-neutron-specs-docs-ubuntu-xenial/836d853//doc/build/html/specs/ocata/logging-API-for-security-group-rules.html\u003e`_."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a430d35_def11a6c","line":16,"range":{"start_line":16,"start_character":3,"end_line":16,"end_character":11},"updated":"2017-02-06 11:28:29.000000000","message":"the operator","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"bdcd870340cb412c2c9d83088db130cd4a20cf76","unresolved":false,"context_lines":[{"line_number":13,"context_line":"   periodic task. It runs periodically on nodes (for example Compute node) to"},{"line_number":14,"context_line":"   collect events which are generated by logging extension, then it splits"},{"line_number":15,"context_line":"   and saves them to other log-files. The collector can be triggered by"},{"line_number":16,"context_line":"   operator via a cron script."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"`Neutron logging API specification \u003chttp://docs-draft.openstack.org/09/203509/58/check/gate-neutron-specs-docs-ubuntu-xenial/836d853//doc/build/html/specs/ocata/logging-API-for-security-group-rules.html\u003e`_."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_08a7ce4f","line":16,"range":{"start_line":16,"start_character":3,"end_line":16,"end_character":11},"in_reply_to":"1a430d35_def11a6c","updated":"2017-03-02 15:41:18.000000000","message":"Done","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"ececdde3e6f477aac30412e064ce5769453bf9ca","unresolved":false,"context_lines":[{"line_number":22,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Any plug-in or ml2 mechanism driver can claim support for logging types"},{"line_number":25,"context_line":"by providing a plug-in/driver class property called"},{"line_number":26,"context_line":"``supported_logging_types`` that returns a list of strings that correspond"},{"line_number":27,"context_line":"to logging resource types"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a3905b3_1438913c","line":25,"range":{"start_line":25,"start_character":15,"end_line":25,"end_character":29},"updated":"2017-01-23 11:38:43.000000000","message":"do not use a / - pick one term or say \u0027plug-in or driver \u0027","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"bdcd870340cb412c2c9d83088db130cd4a20cf76","unresolved":false,"context_lines":[{"line_number":22,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Any plug-in or ml2 mechanism driver can claim support for logging types"},{"line_number":25,"context_line":"by providing a plug-in/driver class property called"},{"line_number":26,"context_line":"``supported_logging_types`` that returns a list of strings that correspond"},{"line_number":27,"context_line":"to logging resource types"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_fbb5e230","line":25,"range":{"start_line":25,"start_character":15,"end_line":25,"end_character":29},"in_reply_to":"5a3905b3_1438913c","updated":"2017-03-02 15:41:18.000000000","message":"Done","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"ececdde3e6f477aac30412e064ce5769453bf9ca","unresolved":false,"context_lines":[{"line_number":24,"context_line":"Any plug-in or ml2 mechanism driver can claim support for logging types"},{"line_number":25,"context_line":"by providing a plug-in/driver class property called"},{"line_number":26,"context_line":"``supported_logging_types`` that returns a list of strings that correspond"},{"line_number":27,"context_line":"to logging resource types"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":".. note::"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a3905b3_34410daa","line":27,"range":{"start_line":27,"start_character":21,"end_line":27,"end_character":25},"updated":"2017-01-23 11:38:43.000000000","message":"types. * missing a full stop","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"bdcd870340cb412c2c9d83088db130cd4a20cf76","unresolved":false,"context_lines":[{"line_number":24,"context_line":"Any plug-in or ml2 mechanism driver can claim support for logging types"},{"line_number":25,"context_line":"by providing a plug-in/driver class property called"},{"line_number":26,"context_line":"``supported_logging_types`` that returns a list of strings that correspond"},{"line_number":27,"context_line":"to logging resource types"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":".. note::"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_e8599a5b","line":27,"range":{"start_line":27,"start_character":21,"end_line":27,"end_character":25},"in_reply_to":"5a3905b3_34410daa","updated":"2017-03-02 15:41:18.000000000","message":"Done","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":19779,"name":"Chason Chan","display_name":"chenxing","email":"chason.chan@foxmail.com","username":"chenxing"},"change_message_id":"1a1bc854ad5a03023b6986593733ef524798dd5a","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":".. note::"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"   For the Mitaka release ``security_group`` will be supported."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Configuration"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a3905b3_d5645023","line":31,"range":{"start_line":31,"start_character":45,"end_line":31,"end_character":52},"updated":"2017-01-23 08:40:26.000000000","message":"Mitaka has been released long time, so here should be \"was\".","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"bdcd870340cb412c2c9d83088db130cd4a20cf76","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":".. note::"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"   For the Mitaka release ``security_group`` will be supported."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Configuration"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_bbc0ca7d","line":31,"range":{"start_line":31,"start_character":45,"end_line":31,"end_character":52},"in_reply_to":"5a3905b3_808effcd","updated":"2017-03-02 15:41:18.000000000","message":"Done","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"bdcd870340cb412c2c9d83088db130cd4a20cf76","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":".. note::"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"   For the Mitaka release ``security_group`` will be supported."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Configuration"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_dbbf3ef9","line":31,"range":{"start_line":31,"start_character":45,"end_line":31,"end_character":52},"in_reply_to":"5a3905b3_d5645023","updated":"2017-03-02 15:41:18.000000000","message":"Done","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"ececdde3e6f477aac30412e064ce5769453bf9ca","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":".. note::"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"   For the Mitaka release ``security_group`` will be supported."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Configuration"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a3905b3_808effcd","line":31,"range":{"start_line":31,"start_character":45,"end_line":31,"end_character":52},"in_reply_to":"5a3905b3_d5645023","updated":"2017-01-23 11:38:43.000000000","message":"I\u0027m not entirely too sure this is necessary. \nEither, rephrase as\n\n\"As of the Mitaka release the ``security_group`` option is supported.\"","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"ececdde3e6f477aac30412e064ce5769453bf9ca","unresolved":false,"context_lines":[{"line_number":34,"context_line":"Configuration"},{"line_number":35,"context_line":"~~~~~~~~~~~~~"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"To enable the service, follow the steps below:"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"On network nodes:"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a3905b3_543e9928","line":37,"range":{"start_line":37,"start_character":40,"end_line":37,"end_character":46},"updated":"2017-01-23 11:38:43.000000000","message":"below. *","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"bdcd870340cb412c2c9d83088db130cd4a20cf76","unresolved":false,"context_lines":[{"line_number":34,"context_line":"Configuration"},{"line_number":35,"context_line":"~~~~~~~~~~~~~"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"To enable the service, follow the steps below:"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"On network nodes:"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_7be1f2fd","line":37,"range":{"start_line":37,"start_character":40,"end_line":37,"end_character":46},"in_reply_to":"5a3905b3_543e9928","updated":"2017-03-02 15:41:18.000000000","message":"Done","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"ececdde3e6f477aac30412e064ce5769453bf9ca","unresolved":false,"context_lines":[{"line_number":67,"context_line":"------------------------------------------"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"If projects are trusted to administrate their own logging policies in"},{"line_number":70,"context_line":"your cloud, neutron\u0027s file ``policy.json`` can be modified to allow this."},{"line_number":71,"context_line":"We have just support for operator yet."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Modify ``/etc/neutron/policy.json`` policy entries as follows:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a3905b3_d47fe9dd","line":70,"range":{"start_line":70,"start_character":12,"end_line":70,"end_character":73},"updated":"2017-01-23 11:38:43.000000000","message":"Modify ``policy.json`` administer logging policies in your cloud. * change this whole sentence to this. That\u0027s all it needs to say.","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"ececdde3e6f477aac30412e064ce5769453bf9ca","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"If projects are trusted to administrate their own logging policies in"},{"line_number":70,"context_line":"your cloud, neutron\u0027s file ``policy.json`` can be modified to allow this."},{"line_number":71,"context_line":"We have just support for operator yet."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Modify ``/etc/neutron/policy.json`` policy entries as follows:"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a3905b3_b4133db7","line":71,"range":{"start_line":71,"start_character":0,"end_line":71,"end_character":38},"updated":"2017-01-23 11:38:43.000000000","message":"What does this mean? I\u0027m not sure what your\u0027e trying to say.","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"bdcd870340cb412c2c9d83088db130cd4a20cf76","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"If projects are trusted to administrate their own logging policies in"},{"line_number":70,"context_line":"your cloud, neutron\u0027s file ``policy.json`` can be modified to allow this."},{"line_number":71,"context_line":"We have just support for operator yet."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Modify ``/etc/neutron/policy.json`` policy entries as follows:"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_fb732213","line":71,"range":{"start_line":71,"start_character":0,"end_line":71,"end_character":38},"in_reply_to":"5a3905b3_b4133db7","updated":"2017-03-02 15:41:18.000000000","message":"Rephrased. Please LMK if it makes more sense now.","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"ececdde3e6f477aac30412e064ce5769453bf9ca","unresolved":false,"context_lines":[{"line_number":84,"context_line":"Operator workflow"},{"line_number":85,"context_line":"~~~~~~~~~~~~~~~~~"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Logging policies are only created by admins with the default ``policy.json``."},{"line_number":88,"context_line":"Therefore, you should have the cloud operator set them up on"},{"line_number":89,"context_line":"behalf of the cloud projects."},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a3905b3_546cd934","line":87,"range":{"start_line":87,"start_character":21,"end_line":87,"end_character":25},"updated":"2017-01-23 11:38:43.000000000","message":"remove","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"bdcd870340cb412c2c9d83088db130cd4a20cf76","unresolved":false,"context_lines":[{"line_number":84,"context_line":"Operator workflow"},{"line_number":85,"context_line":"~~~~~~~~~~~~~~~~~"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Logging policies are only created by admins with the default ``policy.json``."},{"line_number":88,"context_line":"Therefore, you should have the cloud operator set them up on"},{"line_number":89,"context_line":"behalf of the cloud projects."},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_9ede946b","line":87,"range":{"start_line":87,"start_character":21,"end_line":87,"end_character":25},"in_reply_to":"5a3905b3_546cd934","updated":"2017-03-02 15:41:18.000000000","message":"Done","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"ececdde3e6f477aac30412e064ce5769453bf9ca","unresolved":false,"context_lines":[{"line_number":85,"context_line":"~~~~~~~~~~~~~~~~~"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Logging policies are only created by admins with the default ``policy.json``."},{"line_number":88,"context_line":"Therefore, you should have the cloud operator set them up on"},{"line_number":89,"context_line":"behalf of the cloud projects."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"If projects are trusted to create their own policies, check the trusted"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a3905b3_747555f8","line":88,"range":{"start_line":88,"start_character":0,"end_line":88,"end_character":12},"updated":"2017-01-23 11:38:43.000000000","message":"remove","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"bdcd870340cb412c2c9d83088db130cd4a20cf76","unresolved":false,"context_lines":[{"line_number":85,"context_line":"~~~~~~~~~~~~~~~~~"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Logging policies are only created by admins with the default ``policy.json``."},{"line_number":88,"context_line":"Therefore, you should have the cloud operator set them up on"},{"line_number":89,"context_line":"behalf of the cloud projects."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"If projects are trusted to create their own policies, check the trusted"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_beca786c","line":88,"range":{"start_line":88,"start_character":0,"end_line":88,"end_character":12},"in_reply_to":"5a3905b3_747555f8","updated":"2017-03-02 15:41:18.000000000","message":"Done","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":10897,"name":"Joseph Robinson","email":"josephremail@gmail.com","username":"RobiJoe"},"change_message_id":"a5b70a6c56d06a430e2d594a237b7a577099d337","unresolved":false,"context_lines":[{"line_number":91,"context_line":"If projects are trusted to create their own policies, check the trusted"},{"line_number":92,"context_line":"projects ``policy.json`` configuration section."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"First, confirm supported logging resource:"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":".. code-block:: console"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a430d35_f6b609db","line":94,"updated":"2017-02-06 07:56:27.000000000","message":"Take out the word \"first\" here. It is okay to start the sentence with \u0027Confirm\u0027.","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"bdcd870340cb412c2c9d83088db130cd4a20cf76","unresolved":false,"context_lines":[{"line_number":91,"context_line":"If projects are trusted to create their own policies, check the trusted"},{"line_number":92,"context_line":"projects ``policy.json`` configuration section."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"First, confirm supported logging resource:"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":".. code-block:: console"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_1eb704d9","line":94,"in_reply_to":"1a430d35_f6b609db","updated":"2017-03-02 15:41:18.000000000","message":"Done","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":10897,"name":"Joseph Robinson","email":"josephremail@gmail.com","username":"RobiJoe"},"change_message_id":"a5b70a6c56d06a430e2d594a237b7a577099d337","unresolved":false,"context_lines":[{"line_number":102,"context_line":"   | security_group  |"},{"line_number":103,"context_line":"   +-----------------+"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Second, create a logging resource with appropriate resource type:"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":".. code-block:: console"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a430d35_96c6a547","line":105,"updated":"2017-02-06 07:56:27.000000000","message":"As in the comment above, it is okay to start with the word \"Create\".","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"bdcd870340cb412c2c9d83088db130cd4a20cf76","unresolved":false,"context_lines":[{"line_number":102,"context_line":"   | security_group  |"},{"line_number":103,"context_line":"   +-----------------+"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Second, create a logging resource with appropriate resource type:"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":".. code-block:: console"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_7e9d6058","line":105,"in_reply_to":"1a430d35_96c6a547","updated":"2017-03-02 15:41:18.000000000","message":"Done","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"ececdde3e6f477aac30412e064ce5769453bf9ca","unresolved":false,"context_lines":[{"line_number":123,"context_line":"   +-------------+--------------------------------------+"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"If ``Enabled`` field is set to ``True``, the logging is enabled and log"},{"line_number":126,"context_line":"information is written in the syslog file like /var/log/syslog."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"Administrator enforcement"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a3905b3_3404ad48","line":126,"range":{"start_line":126,"start_character":47,"end_line":126,"end_character":62},"updated":"2017-01-23 11:38:43.000000000","message":"``/var/log/syslog``","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"bdcd870340cb412c2c9d83088db130cd4a20cf76","unresolved":false,"context_lines":[{"line_number":123,"context_line":"   +-------------+--------------------------------------+"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"If ``Enabled`` field is set to ``True``, the logging is enabled and log"},{"line_number":126,"context_line":"information is written in the syslog file like /var/log/syslog."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"Administrator enforcement"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_1e2c6401","line":126,"range":{"start_line":126,"start_character":47,"end_line":126,"end_character":62},"in_reply_to":"5a3905b3_3404ad48","updated":"2017-03-02 15:41:18.000000000","message":"Done","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"ececdde3e6f477aac30412e064ce5769453bf9ca","unresolved":false,"context_lines":[{"line_number":136,"context_line":""},{"line_number":137,"context_line":"Rule modification"},{"line_number":138,"context_line":"-----------------"},{"line_number":139,"context_line":"You can modify logging rules at runtime. Rule modifications will be propagated"},{"line_number":140,"context_line":"to any attached port."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a3905b3_54013937","line":139,"range":{"start_line":139,"start_character":0,"end_line":139,"end_character":1},"updated":"2017-01-23 11:38:43.000000000","message":"There needs to be a line space above htis","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"bdcd870340cb412c2c9d83088db130cd4a20cf76","unresolved":false,"context_lines":[{"line_number":136,"context_line":""},{"line_number":137,"context_line":"Rule modification"},{"line_number":138,"context_line":"-----------------"},{"line_number":139,"context_line":"You can modify logging rules at runtime. Rule modifications will be propagated"},{"line_number":140,"context_line":"to any attached port."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_5e841cd3","line":139,"range":{"start_line":139,"start_character":0,"end_line":139,"end_character":1},"in_reply_to":"5a3905b3_54013937","updated":"2017-03-02 15:41:18.000000000","message":"Done","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"c089f01c8012bca235114119c1b56e579df27adc","unresolved":false,"context_lines":[{"line_number":9,"context_line":"#. The logging extension that captures events for relevant resources"},{"line_number":10,"context_line":"   (for example, security groups or firewalls) when they occur."},{"line_number":11,"context_line":"   It is implemented as an agent extension."},{"line_number":12,"context_line":"#. The Collector that is an optional small executable which is implemented"},{"line_number":13,"context_line":"   as a periodic task. The Collector runs periodically on nodes (for example,"},{"line_number":14,"context_line":"   the compute node) to collect events which are generated by the logging"},{"line_number":15,"context_line":"   extension, then it splits and saves them to other log files."}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba2be162_9e2ca603","line":12,"range":{"start_line":12,"start_character":17,"end_line":12,"end_character":21},"updated":"2017-03-03 11:32:20.000000000","message":"The collect is a optional *","commit_id":"a04744813708176c381d67cfaa146294660b9687"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"c089f01c8012bca235114119c1b56e579df27adc","unresolved":false,"context_lines":[{"line_number":10,"context_line":"   (for example, security groups or firewalls) when they occur."},{"line_number":11,"context_line":"   It is implemented as an agent extension."},{"line_number":12,"context_line":"#. The Collector that is an optional small executable which is implemented"},{"line_number":13,"context_line":"   as a periodic task. The Collector runs periodically on nodes (for example,"},{"line_number":14,"context_line":"   the compute node) to collect events which are generated by the logging"},{"line_number":15,"context_line":"   extension, then it splits and saves them to other log files."},{"line_number":16,"context_line":"   The Collector can be triggered by the operator through a cron script."}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba2be162_1e4196a9","line":13,"range":{"start_line":13,"start_character":42,"end_line":13,"end_character":54},"updated":"2017-03-03 11:32:20.000000000","message":"don\u0027t need to repeat","commit_id":"a04744813708176c381d67cfaa146294660b9687"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"529ff9776d90dd46678d1c734517de2e33f69436","unresolved":false,"context_lines":[{"line_number":15,"context_line":"   extension, then it splits and saves them to other log files."},{"line_number":16,"context_line":"   The Collector can be triggered by the operator through a cron script."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":".. seealso:: `Neutron logging API specification \u003chttp://docs-draft.openstack.org/09/203509/58/check/gate-neutron-specs-docs-ubuntu-xenial/836d853//doc/build/html/specs/ocata/logging-API-for-security-group-rules.html\u003e`_"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Supported logging resource types"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a30ddce_192d2595","line":18,"range":{"start_line":18,"start_character":49,"end_line":18,"end_character":215},"updated":"2017-03-10 11:32:00.000000000","message":"This link is dead","commit_id":"a04744813708176c381d67cfaa146294660b9687"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"f2581dc94345fbdba95582ca86662b34d652b81f","unresolved":false,"context_lines":[{"line_number":15,"context_line":"   extension, then it splits and saves them to other log files."},{"line_number":16,"context_line":"   The Collector can be triggered by the operator through a cron script."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":".. seealso:: `Neutron logging API specification \u003chttp://docs-draft.openstack.org/09/203509/58/check/gate-neutron-specs-docs-ubuntu-xenial/836d853//doc/build/html/specs/ocata/logging-API-for-security-group-rules.html\u003e`_"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Supported logging resource types"}],"source_content_type":"text/x-rst","patch_set":5,"id":"dfeb2761_c753ae38","line":18,"range":{"start_line":18,"start_character":49,"end_line":18,"end_character":215},"in_reply_to":"9a30ddce_192d2595","updated":"2017-04-05 09:07:52.000000000","message":"Yep, it\u0027s a draft build. Please link to the actual ref","commit_id":"a04744813708176c381d67cfaa146294660b9687"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"c089f01c8012bca235114119c1b56e579df27adc","unresolved":false,"context_lines":[{"line_number":34,"context_line":"Configuration"},{"line_number":35,"context_line":"~~~~~~~~~~~~~"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"To enable the service, follow the steps below:"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"#. On network nodes:"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba2be162_de09be85","line":37,"range":{"start_line":37,"start_character":45,"end_line":37,"end_character":46},"updated":"2017-03-03 11:32:20.000000000","message":"just use a full stop :)","commit_id":"a04744813708176c381d67cfaa146294660b9687"}],"doc/networking-guide/source/config.rst":[{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"36f74e7edf43e29612dcb319ad7a600ae8fbd57d","unresolved":false,"context_lines":[{"line_number":31,"context_line":"   config-subnet-pools"},{"line_number":32,"context_line":"   config-service-subnets"},{"line_number":33,"context_line":"   config-trunking"},{"line_number":34,"context_line":"   config-logging-api"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":".. note::"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a430d35_fe6ed6c7","line":34,"updated":"2017-02-06 11:28:29.000000000","message":"These go in alphabetical order, so this should be on L22, between config-lbaas and config-macvtap.","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"bdcd870340cb412c2c9d83088db130cd4a20cf76","unresolved":false,"context_lines":[{"line_number":31,"context_line":"   config-subnet-pools"},{"line_number":32,"context_line":"   config-service-subnets"},{"line_number":33,"context_line":"   config-trunking"},{"line_number":34,"context_line":"   config-logging-api"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":".. note::"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_fef8704b","line":34,"in_reply_to":"1a430d35_fe6ed6c7","updated":"2017-03-02 15:41:18.000000000","message":"Done","commit_id":"eac471f4e193d7159370aebf9dcd024f2ba26e14"}]}
