)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"7308537c9c82ec9bc9c959c27d410f8a0431303a","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"AuditMiddleware docs:"},{"line_number":14,"context_line":"   http://docs.openstack.org/developer/keystonemiddleware/audit.html"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I6de4751aa6b25e8457cae3eeab95a15f417662c5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"7a5de9d1_788814e8","line":15,"updated":"2016-01-28 10:20:05.000000000","message":"Can you please file a quick RFE for this feature?\n\nhttp://docs.openstack.org/developer/ironic/dev/code-contribution-guide.html#adding-new-features","commit_id":"5a502228d24ccdf88a244411a40b89b09205445f"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"ad9c6e51a1b6aaf37936a34c0bc53b11fa4a2acf","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"AuditMiddleware docs:"},{"line_number":14,"context_line":"   http://docs.openstack.org/developer/keystonemiddleware/audit.html"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I6de4751aa6b25e8457cae3eeab95a15f417662c5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"7a5de9d1_f4b24be4","line":15,"in_reply_to":"7a5de9d1_788814e8","updated":"2016-02-01 07:03:05.000000000","message":"Done","commit_id":"5a502228d24ccdf88a244411a40b89b09205445f"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"947cfdba251c31dd77d9412980283f0f49d7509d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Lokesh S \u003clokesh.s@hp.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-02-01 07:04:53 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Closes-Bug: 1540232 Adding audit support middleware to Ironic"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This adds the audit support middleware to Ironic, allowing"},{"line_number":10,"context_line":"the middleware send two notifications per API request,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"7a5de9d1_d40f0f37","line":7,"updated":"2016-02-01 07:16:15.000000000","message":"Closes-Bug should be down with the Change-Id line. Not in the subject title.\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages","commit_id":"9443b36670e38034a15f1a4d342b5a876da8c3ea"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"d4d63ea60dfe1f8e0822fb885d0e6b4fd28f271e","unresolved":false,"context_lines":[{"line_number":14,"context_line":"   http://docs.openstack.org/developer/keystonemiddleware/audit.html"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Closes-Bug: #1540232"},{"line_number":17,"context_line":"Change-Id: I6de4751aa6b25e8457cae3eeab95a15f417662c5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"5a5ae5dd_a4226550","line":17,"range":{"start_line":17,"start_character":11,"end_line":17,"end_character":52},"updated":"2016-02-06 12:16:57.000000000","message":"Would it be useful to add \u0027Depends On:\u0027 for this dependent open review https://review.openstack.org/#/c/275538/","commit_id":"e54d8eb705afa5c5fc4e6a657b7c1e3584a68e6a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"da6b7a3bbd4ff8d3fcf7c440b5a5c43aac561387","unresolved":false,"context_lines":[{"line_number":14,"context_line":"   http://docs.openstack.org/developer/keystonemiddleware/audit.html"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Closes-Bug: #1540232"},{"line_number":17,"context_line":"Change-Id: I6de4751aa6b25e8457cae3eeab95a15f417662c5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"5a5ae5dd_ff6f88f9","line":17,"range":{"start_line":17,"start_character":11,"end_line":17,"end_character":52},"in_reply_to":"5a5ae5dd_a4226550","updated":"2016-02-06 14:17:21.000000000","message":"++","commit_id":"e54d8eb705afa5c5fc4e6a657b7c1e3584a68e6a"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"8fa27aa20d97b078fa9a0fa581bb5639e3db206b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Lokesh S \u003clokesh.s@hp.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-02-17 17:30:40 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adding audit support middleware to Ironic"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This adds the audit support middleware to Ironic, allowing"},{"line_number":10,"context_line":"the middleware send two notifications per API request,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"bae84128_21817a4b","line":7,"updated":"2016-02-19 14:39:23.000000000","message":"nit: maybe you meant \"Add support for the audit middleware\"?","commit_id":"5461639abd75d94ffdc2002fddeee9c8951eabbe"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"5639401dfbae5ea7f5b9197e4a4c83386b82664a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Lokesh S \u003clokesh.s@hp.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-02-17 17:30:40 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adding audit support middleware to Ironic"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This adds the audit support middleware to Ironic, allowing"},{"line_number":10,"context_line":"the middleware send two notifications per API request,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"bae84128_d39b0b71","line":7,"in_reply_to":"bae84128_21817a4b","updated":"2016-02-21 09:54:54.000000000","message":"Done","commit_id":"5461639abd75d94ffdc2002fddeee9c8951eabbe"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"8fa27aa20d97b078fa9a0fa581bb5639e3db206b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adding audit support middleware to Ironic"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This adds the audit support middleware to Ironic, allowing"},{"line_number":10,"context_line":"the middleware send two notifications per API request,"},{"line_number":11,"context_line":"one for the request and another for the response."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"bae84128_81968692","line":9,"updated":"2016-02-19 14:39:23.000000000","message":"ditto","commit_id":"5461639abd75d94ffdc2002fddeee9c8951eabbe"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"5639401dfbae5ea7f5b9197e4a4c83386b82664a","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adding audit support middleware to Ironic"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This adds the audit support middleware to Ironic, allowing"},{"line_number":10,"context_line":"the middleware send two notifications per API request,"},{"line_number":11,"context_line":"one for the request and another for the response."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"bae84128_33899727","line":9,"in_reply_to":"bae84128_81968692","updated":"2016-02-21 09:54:54.000000000","message":"Done","commit_id":"5461639abd75d94ffdc2002fddeee9c8951eabbe"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"8fa27aa20d97b078fa9a0fa581bb5639e3db206b","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This adds the audit support middleware to Ironic, allowing"},{"line_number":10,"context_line":"the middleware send two notifications per API request,"},{"line_number":11,"context_line":"one for the request and another for the response."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"AuditMiddleware docs:"},{"line_number":14,"context_line":"   http://docs.openstack.org/developer/keystonemiddleware/audit.html"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"bae84128_619382a4","line":11,"updated":"2016-02-19 14:39:23.000000000","message":"could you elaborate more on what you do in this patch? i.e. you add new options, new configuration file, etc.","commit_id":"5461639abd75d94ffdc2002fddeee9c8951eabbe"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"5639401dfbae5ea7f5b9197e4a4c83386b82664a","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This adds the audit support middleware to Ironic, allowing"},{"line_number":10,"context_line":"the middleware send two notifications per API request,"},{"line_number":11,"context_line":"one for the request and another for the response."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"AuditMiddleware docs:"},{"line_number":14,"context_line":"   http://docs.openstack.org/developer/keystonemiddleware/audit.html"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"bae84128_b37da71e","line":11,"in_reply_to":"bae84128_619382a4","updated":"2016-02-21 09:54:54.000000000","message":"Done","commit_id":"5461639abd75d94ffdc2002fddeee9c8951eabbe"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e8d1b4313e069be15ec060ca0a7d79e3e540b4dc","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Lokesh S \u003clokesh.s@hp.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-03-10 17:18:47 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add support for the audit  middleware"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This adds support for the audit middleware to Ironic, allowing"},{"line_number":10,"context_line":"the middleware send two notifications per API request,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":22,"id":"fa0719c6_68b6b68b","line":7,"range":{"start_line":7,"start_character":25,"end_line":7,"end_character":27},"updated":"2016-03-21 12:17:18.000000000","message":"nit: excess space","commit_id":"98ad4bcb3a72b0e142008dee6f9364394027e8ae"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"64c3b0c1e94a020987a204e31c1730d9b4a827be","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Lokesh S \u003clokesh.s@hp.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-03-10 17:18:47 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add support for the audit  middleware"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This adds support for the audit middleware to Ironic, allowing"},{"line_number":10,"context_line":"the middleware send two notifications per API request,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":22,"id":"fa0719c6_620a2323","line":7,"range":{"start_line":7,"start_character":25,"end_line":7,"end_character":27},"in_reply_to":"fa0719c6_68b6b68b","updated":"2016-03-22 09:19:40.000000000","message":"Done","commit_id":"98ad4bcb3a72b0e142008dee6f9364394027e8ae"}],"doc/source/deploy/api-audit-support.rst":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"a19fa5d553587cff803c0714321345ef39eb4b63","unresolved":false,"context_lines":[{"line_number":4,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"Enabling the Keystone middleware library provides an optional WSGI middleware"},{"line_number":7,"context_line":"filter which allows the ability to log API requests for each component in"},{"line_number":8,"context_line":"Ironic."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Enabling API Audit Logging"}],"source_content_type":"text/x-rst","patch_set":57,"id":"3aaa91ec_ae05de7a","line":7,"range":{"start_line":7,"start_character":61,"end_line":7,"end_character":70},"updated":"2016-06-29 20:27:15.000000000","message":"I think component is the wrong word.  Perhaps Endpoint is the right word.  I\u0027m okay with this being changed in a follow-up though.","commit_id":"1cbb805b28ed648151d160309b8741c42eae119f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"a19fa5d553587cff803c0714321345ef39eb4b63","unresolved":false,"context_lines":[{"line_number":6,"context_line":"Enabling the Keystone middleware library provides an optional WSGI middleware"},{"line_number":7,"context_line":"filter which allows the ability to log API requests for each component in"},{"line_number":8,"context_line":"Ironic."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Enabling API Audit Logging"},{"line_number":11,"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"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-rst","patch_set":57,"id":"3aaa91ec_6e4c96c8","line":9,"updated":"2016-06-29 20:27:15.000000000","message":"It is likely worth mentioning that the audit middleware places audit log messages on the message bus if oslo.messaging is present and configured.  The developer documentation for the middleware provides some additional detail, but I think it is important for an operator to not have to read every document we link to for additional information.  That way an operator who is interested in it\u0027s use can quickly comprehend what impact that might have depending on their operational configuration and use.\n\nAdditionally, it may be worth highlighting to the reader as a note, that depending on their configuration, audit log events can be logged locally, in the messaging queue, or recorded as events in ceilometer.","commit_id":"1cbb805b28ed648151d160309b8741c42eae119f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"a19fa5d553587cff803c0714321345ef39eb4b63","unresolved":false,"context_lines":[{"line_number":15,"context_line":"Auditing can be enabled for the Bare Metal service by making the following changes"},{"line_number":16,"context_line":"to ``/etc/ironic/ironic.conf``."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"#. To enable auditing of API requests::"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"    [audit]"},{"line_number":21,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":57,"id":"3aaa91ec_ee7fe614","line":18,"range":{"start_line":18,"start_character":18,"end_line":18,"end_character":21},"updated":"2016-06-29 20:27:15.000000000","message":"nit: s/ing/ logging/","commit_id":"1cbb805b28ed648151d160309b8741c42eae119f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"a19fa5d553587cff803c0714321345ef39eb4b63","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    ..."},{"line_number":22,"context_line":"    enabled\u003dtrue"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"#. To properly audit API requests, the audit middleware requires the audit_map_file setting"},{"line_number":25,"context_line":"   to be defined. Update the value of configuration setting \u0027audit_map_file\u0027 to set its location::"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    [audit]"}],"source_content_type":"text/x-rst","patch_set":57,"id":"3aaa91ec_4ea8ba77","line":24,"range":{"start_line":24,"start_character":15,"end_line":24,"end_character":20},"updated":"2016-06-29 20:27:15.000000000","message":"nit: s/audit/record/ or s/audit/log/ ?","commit_id":"1cbb805b28ed648151d160309b8741c42eae119f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"a19fa5d553587cff803c0714321345ef39eb4b63","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    [audit]"},{"line_number":28,"context_line":"    ..."},{"line_number":29,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":".. note::"},{"line_number":32,"context_line":"  Audit map file configuration options for the Bare Metal service are included in the"},{"line_number":33,"context_line":"  etc/ironic/ironic_api_audit_map.conf.sample file."}],"source_content_type":"text/x-rst","patch_set":57,"id":"3aaa91ec_4e8efad0","line":30,"updated":"2016-06-29 20:27:15.000000000","message":"We seem to be missing details on ignore_req_list.  We ought to mention it since it is in the configuration.","commit_id":"1cbb805b28ed648151d160309b8741c42eae119f"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"dfc17c5def2d73987a2fcfd9ef2782d14210b589","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":"Enabling the Keystone middleware library provides an optional WSGI middleware"},{"line_number":7,"context_line":"filter which allows the ability to log API requests for each endpoint in"},{"line_number":8,"context_line":"Ironic."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Logging can be configured by setting notification_driver to log or messaging to"},{"line_number":11,"context_line":"get audit logs locally or recorded as events in ceilometer."}],"source_content_type":"text/x-rst","patch_set":58,"id":"3aaa91ec_3a48e1cb","line":8,"updated":"2016-06-30 13:46:12.000000000","message":"I don\u0027t actually think this sentence is useful to deployers. It makes it sound like they have to enable the library. This could be mentioned later, if you think it is useful to deployers to know how it works. But as a first sentence, it seems like it could be as simple as:\n\nThe Bare Metal Service (or Baremetal or whatever, I\u0027ve forgotten what it is) provides the ability to log all? API requests (is it only requests or responses too?).","commit_id":"98c072c8e3d6df1515c4b94a3edce95c1f4fa1ea"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"dfc17c5def2d73987a2fcfd9ef2782d14210b589","unresolved":false,"context_lines":[{"line_number":7,"context_line":"filter which allows the ability to log API requests for each endpoint in"},{"line_number":8,"context_line":"Ironic."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Logging can be configured by setting notification_driver to log or messaging to"},{"line_number":11,"context_line":"get audit logs locally or recorded as events in ceilometer."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Enabling API Audit Logging"}],"source_content_type":"text/x-rst","patch_set":58,"id":"3aaa91ec_da86fdb7","line":10,"updated":"2016-06-30 13:46:12.000000000","message":"what is \u0027notification_driver\u0027? a configuration option? Does this need to be mentioned here, I see there is another section called \"Enabling ...\" below.\n\nOh. Maybe what you meant is that the auditing information can either be:\n1. added to the ironic-api service\u0027s logs or\n2. emitted to ceilometer (will need to replace that with whatever official name is used for ceilometer, some \u003cX\u003e service or something)\n\n(or something like the above, i\u0027ve forgotten the details).","commit_id":"98c072c8e3d6df1515c4b94a3edce95c1f4fa1ea"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"dfc17c5def2d73987a2fcfd9ef2782d14210b589","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Ironic."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Logging can be configured by setting notification_driver to log or messaging to"},{"line_number":11,"context_line":"get audit logs locally or recorded as events in ceilometer."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Enabling API Audit Logging"},{"line_number":14,"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"}],"source_content_type":"text/x-rst","patch_set":58,"id":"3aaa91ec_da5b9d52","line":11,"updated":"2016-06-30 13:46:12.000000000","message":"I\u0027m not quite sure what the \u0027get audit logs locally\u0027 mean -- does it output to separate file from the api\u0027s normal logs?","commit_id":"98c072c8e3d6df1515c4b94a3edce95c1f4fa1ea"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"dfc17c5def2d73987a2fcfd9ef2782d14210b589","unresolved":false,"context_lines":[{"line_number":14,"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"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Infomation about the audit middleware is available `here."},{"line_number":17,"context_line":"\u003chttp://docs.openstack.org/developer/keystonemiddleware/audit.html\u003e`_"},{"line_number":18,"context_line":"Auditing can be enabled for the Bare Metal service by making the following changes"},{"line_number":19,"context_line":"to ``/etc/ironic/ironic.conf``."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":58,"id":"3aaa91ec_ba10515a","line":17,"updated":"2016-06-30 13:46:12.000000000","message":"I still don\u0027t see why a deployer would care about this. If you want to include this link, I\u0027d put it at the very end, something about \u0027if you want more information about how the audit process works\u0027. Does a deployer even need to know what \u0027middleware\u0027 is?","commit_id":"98c072c8e3d6df1515c4b94a3edce95c1f4fa1ea"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"dfc17c5def2d73987a2fcfd9ef2782d14210b589","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    ..."},{"line_number":25,"context_line":"    enabled\u003dtrue"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"#. To properly log API requests, the audit middleware requires the audit_map_file setting"},{"line_number":28,"context_line":"   to be defined. Update the value of configuration setting \u0027audit_map_file\u0027 to set its location::"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    [audit]"}],"source_content_type":"text/x-rst","patch_set":58,"id":"3aaa91ec_1d8a3f64","line":27,"updated":"2016-06-30 13:46:12.000000000","message":"what do you mean by \u0027properly\u0027? \n\nAs a deployer, do I care about the \u0027audit middleware\u0027? A description of this file might be more useful. Do I need to edit it?","commit_id":"98c072c8e3d6df1515c4b94a3edce95c1f4fa1ea"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"4bf0086174f3c1fd0f135a014ee9ecdcce2658ac","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    ..."},{"line_number":25,"context_line":"    enabled\u003dtrue"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"#. To properly log API requests, the audit middleware requires the audit_map_file setting"},{"line_number":28,"context_line":"   to be defined. Update the value of configuration setting \u0027audit_map_file\u0027 to set its location::"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    [audit]"}],"source_content_type":"text/x-rst","patch_set":58,"id":"1aa78d24_1b366203","line":27,"in_reply_to":"3aaa91ec_1d8a3f64","updated":"2016-07-04 10:23:56.000000000","message":"Have added a link explaining what is audit cadf format is and updated the doc for deployers to understand and do any changes if it is required.","commit_id":"98c072c8e3d6df1515c4b94a3edce95c1f4fa1ea"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"dfc17c5def2d73987a2fcfd9ef2782d14210b589","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    ..."},{"line_number":32,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"#. Comma separated list of Ironic API requests to be ignored during audit. Ex: GET,POST.::"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    [audit]"},{"line_number":37,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":58,"id":"3aaa91ec_7d28a386","line":34,"updated":"2016-06-30 13:46:12.000000000","message":"That isn\u0027t the right terminology. Just copy it from the .sample file.","commit_id":"98c072c8e3d6df1515c4b94a3edce95c1f4fa1ea"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"dfc17c5def2d73987a2fcfd9ef2782d14210b589","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":".. note::"},{"line_number":41,"context_line":"  Audit map file configuration options for the Bare Metal service are included in the"},{"line_number":42,"context_line":"  etc/ironic/ironic_api_audit_map.conf.sample file."},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":58,"id":"3aaa91ec_bd55ebfa","line":42,"updated":"2016-06-30 13:46:12.000000000","message":"why put this as a note at the bottom? why not include it above, whre you mention the audit_map_file?","commit_id":"98c072c8e3d6df1515c4b94a3edce95c1f4fa1ea"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"4bf0086174f3c1fd0f135a014ee9ecdcce2658ac","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":".. note::"},{"line_number":41,"context_line":"  Audit map file configuration options for the Bare Metal service are included in the"},{"line_number":42,"context_line":"  etc/ironic/ironic_api_audit_map.conf.sample file."},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":58,"id":"1aa78d24_7b3b26ec","line":42,"in_reply_to":"3aaa91ec_bd55ebfa","updated":"2016-07-04 10:23:56.000000000","message":"Done","commit_id":"98c072c8e3d6df1515c4b94a3edce95c1f4fa1ea"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"eac5ecd1faae20f8c1c94237abeb3bb6a09bdc4c","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":"Enabling the Keystone middleware library provides an optional WSGI middleware"},{"line_number":7,"context_line":"filter which allows the ability to log API requests for each endpoint in"},{"line_number":8,"context_line":"Ironic."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Audit middleware supports delivery of CADF audit events via Oslo messaging"},{"line_number":11,"context_line":"notifier capability. Based on `notification_driver` configuration, audit events"}],"source_content_type":"text/x-rst","patch_set":62,"id":"1aa78d24_10d22f5c","line":8,"updated":"2016-07-06 19:39:15.000000000","message":"See my comments from revision 58.\n\nI still don\u0027t think anything about keystone middleware should be mentioned to the user/operator. I haven\u0027t seen anyone give me a counter argument to this.","commit_id":"d4cd441fd33fa8979c21e84df3b08947c02c7eab"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"b0a4312aa355ea2c4e3be33c58ee0cabbd28593a","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":"Enabling the Keystone middleware library provides an optional WSGI middleware"},{"line_number":7,"context_line":"filter which allows the ability to log API requests for each endpoint in"},{"line_number":8,"context_line":"Ironic."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Audit middleware supports delivery of CADF audit events via Oslo messaging"},{"line_number":11,"context_line":"notifier capability. Based on `notification_driver` configuration, audit events"}],"source_content_type":"text/x-rst","patch_set":62,"id":"1aa78d24_502ae590","line":8,"in_reply_to":"1aa78d24_10d22f5c","updated":"2016-07-07 06:54:48.000000000","message":"Done","commit_id":"d4cd441fd33fa8979c21e84df3b08947c02c7eab"},{"author":{"_account_id":18893,"name":"Miles Gould","email":"mgould@redhat.com","username":"pozorvlak"},"change_message_id":"bf0698393c3427d68798ac22676bbb429db7f2c4","unresolved":false,"context_lines":[{"line_number":20,"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"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Audit middleware is available as part of `keystonemiddleware` (\u003e\u003d 1.6) library."},{"line_number":23,"context_line":"Infomation regarding how audit middleware functions refer `here."},{"line_number":24,"context_line":"\u003chttp://docs.openstack.org/developer/keystonemiddleware/audit.html\u003e`_"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Auditing can be enabled for the Bare Metal service by making the following changes"}],"source_content_type":"text/x-rst","patch_set":62,"id":"1aa78d24_2df7208c","line":23,"updated":"2016-07-06 16:42:02.000000000","message":"\"Infomation\" -\u003e \"For information\"","commit_id":"d4cd441fd33fa8979c21e84df3b08947c02c7eab"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"b0a4312aa355ea2c4e3be33c58ee0cabbd28593a","unresolved":false,"context_lines":[{"line_number":20,"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"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Audit middleware is available as part of `keystonemiddleware` (\u003e\u003d 1.6) library."},{"line_number":23,"context_line":"Infomation regarding how audit middleware functions refer `here."},{"line_number":24,"context_line":"\u003chttp://docs.openstack.org/developer/keystonemiddleware/audit.html\u003e`_"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Auditing can be enabled for the Bare Metal service by making the following changes"}],"source_content_type":"text/x-rst","patch_set":62,"id":"1aa78d24_06cdc784","line":23,"in_reply_to":"1aa78d24_2df7208c","updated":"2016-07-07 06:54:48.000000000","message":"Done","commit_id":"d4cd441fd33fa8979c21e84df3b08947c02c7eab"},{"author":{"_account_id":18893,"name":"Miles Gould","email":"mgould@redhat.com","username":"pozorvlak"},"change_message_id":"bf0698393c3427d68798ac22676bbb429db7f2c4","unresolved":false,"context_lines":[{"line_number":36,"context_line":"   to be defined. Update the value of configuration setting \u0027audit_map_file\u0027 to set its"},{"line_number":37,"context_line":"   location. Audit map file configuration options for the Bare Metal service are included"},{"line_number":38,"context_line":"   in the etc/ironic/ironic_api_audit_map.conf.sample file. To understand CADF format"},{"line_number":39,"context_line":"   specified in ironic_api_audit_map.conf file refer `CADF Format."},{"line_number":40,"context_line":"   \u003chttp://www.dmtf.org/sites/default/files/standards/documents/DSP2038_1.0.0.pdf\u003e`_::"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    [audit]"}],"source_content_type":"text/x-rst","patch_set":62,"id":"1aa78d24_cd13fcb6","line":39,"updated":"2016-07-06 16:42:02.000000000","message":"\"refer to\"","commit_id":"d4cd441fd33fa8979c21e84df3b08947c02c7eab"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"b0a4312aa355ea2c4e3be33c58ee0cabbd28593a","unresolved":false,"context_lines":[{"line_number":36,"context_line":"   to be defined. Update the value of configuration setting \u0027audit_map_file\u0027 to set its"},{"line_number":37,"context_line":"   location. Audit map file configuration options for the Bare Metal service are included"},{"line_number":38,"context_line":"   in the etc/ironic/ironic_api_audit_map.conf.sample file. To understand CADF format"},{"line_number":39,"context_line":"   specified in ironic_api_audit_map.conf file refer `CADF Format."},{"line_number":40,"context_line":"   \u003chttp://www.dmtf.org/sites/default/files/standards/documents/DSP2038_1.0.0.pdf\u003e`_::"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    [audit]"}],"source_content_type":"text/x-rst","patch_set":62,"id":"1aa78d24_a6a4b3b9","line":39,"in_reply_to":"1aa78d24_cd13fcb6","updated":"2016-07-07 06:54:48.000000000","message":"Done","commit_id":"d4cd441fd33fa8979c21e84df3b08947c02c7eab"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"91a945ee5ca00ff31a705bbdc2549328dd37933b","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    ..."},{"line_number":44,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"#. Comma separated list of Ironic API requests to be ignored during audit. Ex: GET,POST.::"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    [audit]"},{"line_number":49,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":62,"id":"1aa78d24_99ffb566","line":46,"range":{"start_line":46,"start_character":1,"end_line":46,"end_character":90},"updated":"2016-07-05 16:37:57.000000000","message":"nit: Ruby\u0027s point on rev 58 is still valid.  Maybe \"HTTP request types\" instead of \"Ironic API requests\"","commit_id":"d4cd441fd33fa8979c21e84df3b08947c02c7eab"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"b0a4312aa355ea2c4e3be33c58ee0cabbd28593a","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    ..."},{"line_number":44,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"#. Comma separated list of Ironic API requests to be ignored during audit. Ex: GET,POST.::"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    [audit]"},{"line_number":49,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":62,"id":"1aa78d24_e634fb4a","line":46,"in_reply_to":"1aa78d24_2d88c0c4","updated":"2016-07-07 06:54:48.000000000","message":"Done","commit_id":"d4cd441fd33fa8979c21e84df3b08947c02c7eab"},{"author":{"_account_id":18893,"name":"Miles Gould","email":"mgould@redhat.com","username":"pozorvlak"},"change_message_id":"bf0698393c3427d68798ac22676bbb429db7f2c4","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    ..."},{"line_number":44,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"#. Comma separated list of Ironic API requests to be ignored during audit. Ex: GET,POST.::"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    [audit]"},{"line_number":49,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":62,"id":"1aa78d24_2d88c0c4","line":46,"in_reply_to":"1aa78d24_99ffb566","updated":"2016-07-06 16:42:02.000000000","message":"I vote for \"HTTP methods\", which is standard terminology and unambiguous. But as Ruby says, the best and simplest thing is to copy the text from the sample file.","commit_id":"d4cd441fd33fa8979c21e84df3b08947c02c7eab"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"d4cbcc64717e23b5d86b0165a91e5fc771daf8fe","unresolved":false,"context_lines":[{"line_number":20,"context_line":"\u003chttp://docs.openstack.org/developer/keystonemiddleware/audit.html\u003e`_"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Auditing can be enabled for the Bare Metal service by making the following changes"},{"line_number":23,"context_line":"to ``/etc/ironic/ironic.conf``."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"#. To enable audit logging of API requests::"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":68,"id":"dada55a8_6e002367","line":23,"range":{"start_line":23,"start_character":3,"end_line":23,"end_character":29},"updated":"2016-07-26 06:59:29.000000000","message":"Instead of hard coding indicate as Ironic configuration file.","commit_id":"3d87599df56be11463e5a76fbfe353ab3cb285c9"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"f653012ec35b69267ccbfb2032852525deb82bb9","unresolved":false,"context_lines":[{"line_number":20,"context_line":"\u003chttp://docs.openstack.org/developer/keystonemiddleware/audit.html\u003e`_"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Auditing can be enabled for the Bare Metal service by making the following changes"},{"line_number":23,"context_line":"to ``/etc/ironic/ironic.conf``."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"#. To enable audit logging of API requests::"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":68,"id":"dada55a8_843d6591","line":23,"range":{"start_line":23,"start_character":3,"end_line":23,"end_character":29},"in_reply_to":"dada55a8_6e002367","updated":"2016-07-26 13:26:49.000000000","message":"i dont think it should be a problem.","commit_id":"3d87599df56be11463e5a76fbfe353ab3cb285c9"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"41939c2505d384eca2a747ef40f0e1d1857005e4","unresolved":false,"context_lines":[{"line_number":6,"context_line":"Audit middleware supports delivery of CADF audit events via Oslo messaging"},{"line_number":7,"context_line":"notifier capability. Based on `notification_driver` configuration, audit events"},{"line_number":8,"context_line":"can be routed to messaging infrastructure (notification_driver \u003d messagingv2)"},{"line_number":9,"context_line":"or can be routed to a log file (notification_driver \u003d log)."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Audit middleware creates two events per REST API interaction. First event has"},{"line_number":12,"context_line":"information extracted from request data and the second one has request outcome"}],"source_content_type":"text/x-rst","patch_set":71,"id":"bacf61ea_7776ba07","line":9,"updated":"2016-08-02 13:33:32.000000000","message":"Apparently this is now [oslo_messaging_notifications]/driver, can we fix this please?\n\n(notification_driver is currently valid but deprecated)","commit_id":"295b35c48f7dcc2983a19d4114254bea85239b3a"}],"doc/source/deploy/install-guide.rst":[{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"3520c74c423862fa843fad0347cb16e8d32f0f3f","unresolved":false,"context_lines":[{"line_number":1872,"context_line":""},{"line_number":1873,"context_line":"    [DEFAULT]"},{"line_number":1874,"context_line":"    ..."},{"line_number":1875,"context_line":"    enable_audit\u003dtrue"},{"line_number":1876,"context_line":""},{"line_number":1877,"context_line":"#. To properly audit api requests, the audit middleware requires api_audit_map.conf"},{"line_number":1878,"context_line":"   to be defined.Configuration options Ironic corresponding api_audit_map.conf file is"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5a5ae5dd_95f28b99","line":1875,"range":{"start_line":1875,"start_character":4,"end_line":1875,"end_character":21},"updated":"2016-02-03 16:06:29.000000000","message":"Where would these logs get stored? Do we need any changes into keystone configuration file to make this work?","commit_id":"cf73b14952e76d7a4478286062cbe930fcaf973b"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"85fc7e31ec94b4994d20bdba139ed2cab970ded3","unresolved":false,"context_lines":[{"line_number":1872,"context_line":""},{"line_number":1873,"context_line":"    [DEFAULT]"},{"line_number":1874,"context_line":"    ..."},{"line_number":1875,"context_line":"    enable_audit\u003dtrue"},{"line_number":1876,"context_line":""},{"line_number":1877,"context_line":"#. To properly audit api requests, the audit middleware requires api_audit_map.conf"},{"line_number":1878,"context_line":"   to be defined.Configuration options Ironic corresponding api_audit_map.conf file is"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5a5ae5dd_ccfe1a38","line":1875,"range":{"start_line":1875,"start_character":4,"end_line":1875,"end_character":21},"in_reply_to":"5a5ae5dd_95f28b99","updated":"2016-02-04 16:26:34.000000000","message":"if enabled it will log in ironic-api log only. handlers can be added to log it separately in another file.","commit_id":"cf73b14952e76d7a4478286062cbe930fcaf973b"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"3520c74c423862fa843fad0347cb16e8d32f0f3f","unresolved":false,"context_lines":[{"line_number":1874,"context_line":"    ..."},{"line_number":1875,"context_line":"    enable_audit\u003dtrue"},{"line_number":1876,"context_line":""},{"line_number":1877,"context_line":"#. To properly audit api requests, the audit middleware requires api_audit_map.conf"},{"line_number":1878,"context_line":"   to be defined.Configuration options Ironic corresponding api_audit_map.conf file is"},{"line_number":1879,"context_line":"   included in the::"},{"line_number":1880,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"5a5ae5dd_8f1d9d75","line":1877,"range":{"start_line":1877,"start_character":21,"end_line":1877,"end_character":25},"updated":"2016-02-03 16:06:29.000000000","message":"s/api /API/","commit_id":"cf73b14952e76d7a4478286062cbe930fcaf973b"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"85fc7e31ec94b4994d20bdba139ed2cab970ded3","unresolved":false,"context_lines":[{"line_number":1874,"context_line":"    ..."},{"line_number":1875,"context_line":"    enable_audit\u003dtrue"},{"line_number":1876,"context_line":""},{"line_number":1877,"context_line":"#. To properly audit api requests, the audit middleware requires api_audit_map.conf"},{"line_number":1878,"context_line":"   to be defined.Configuration options Ironic corresponding api_audit_map.conf file is"},{"line_number":1879,"context_line":"   included in the::"},{"line_number":1880,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"5a5ae5dd_ef7c2874","line":1877,"range":{"start_line":1877,"start_character":21,"end_line":1877,"end_character":25},"in_reply_to":"5a5ae5dd_8f1d9d75","updated":"2016-02-04 16:26:34.000000000","message":"Done","commit_id":"cf73b14952e76d7a4478286062cbe930fcaf973b"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"3520c74c423862fa843fad0347cb16e8d32f0f3f","unresolved":false,"context_lines":[{"line_number":1875,"context_line":"    enable_audit\u003dtrue"},{"line_number":1876,"context_line":""},{"line_number":1877,"context_line":"#. To properly audit api requests, the audit middleware requires api_audit_map.conf"},{"line_number":1878,"context_line":"   to be defined.Configuration options Ironic corresponding api_audit_map.conf file is"},{"line_number":1879,"context_line":"   included in the::"},{"line_number":1880,"context_line":""},{"line_number":1881,"context_line":"    [DEFAULT]"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5a5ae5dd_b2b9e230","line":1878,"range":{"start_line":1878,"start_character":17,"end_line":1878,"end_character":86},"updated":"2016-02-03 16:06:29.000000000","message":"This sentence looks incorrect.\nDo you mean \u0027Ironic specific audit configuration are included in the file::\u0027  ?","commit_id":"cf73b14952e76d7a4478286062cbe930fcaf973b"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"3520c74c423862fa843fad0347cb16e8d32f0f3f","unresolved":false,"context_lines":[{"line_number":1875,"context_line":"    enable_audit\u003dtrue"},{"line_number":1876,"context_line":""},{"line_number":1877,"context_line":"#. To properly audit api requests, the audit middleware requires api_audit_map.conf"},{"line_number":1878,"context_line":"   to be defined.Configuration options Ironic corresponding api_audit_map.conf file is"},{"line_number":1879,"context_line":"   included in the::"},{"line_number":1880,"context_line":""},{"line_number":1881,"context_line":"    [DEFAULT]"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5a5ae5dd_520e6e35","line":1878,"range":{"start_line":1878,"start_character":9,"end_line":1878,"end_character":30},"updated":"2016-02-03 16:06:29.000000000","message":"s/ defined.Configuration/ defined. Configuration/","commit_id":"cf73b14952e76d7a4478286062cbe930fcaf973b"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"85fc7e31ec94b4994d20bdba139ed2cab970ded3","unresolved":false,"context_lines":[{"line_number":1875,"context_line":"    enable_audit\u003dtrue"},{"line_number":1876,"context_line":""},{"line_number":1877,"context_line":"#. To properly audit api requests, the audit middleware requires api_audit_map.conf"},{"line_number":1878,"context_line":"   to be defined.Configuration options Ironic corresponding api_audit_map.conf file is"},{"line_number":1879,"context_line":"   included in the::"},{"line_number":1880,"context_line":""},{"line_number":1881,"context_line":"    [DEFAULT]"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5a5ae5dd_0cd512b8","line":1878,"range":{"start_line":1878,"start_character":17,"end_line":1878,"end_character":86},"in_reply_to":"5a5ae5dd_b2b9e230","updated":"2016-02-04 16:26:34.000000000","message":"it is not mandatory to have this configuration for audit middleware to work but adding config options will give more specific to the need.","commit_id":"cf73b14952e76d7a4478286062cbe930fcaf973b"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"3520c74c423862fa843fad0347cb16e8d32f0f3f","unresolved":false,"context_lines":[{"line_number":1880,"context_line":""},{"line_number":1881,"context_line":"    [DEFAULT]"},{"line_number":1882,"context_line":"    ..."},{"line_number":1883,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":1884,"context_line":""},{"line_number":1885,"context_line":"ironic_api_audit_map.conf Configuration options for Ironic is included in the `pyCADF library \u003chttps://github.com/openstack/pycadf/tree/master/etc/pycadf\u003e`_"},{"line_number":1886,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"5a5ae5dd_15e8db7b","line":1883,"range":{"start_line":1883,"start_character":31,"end_line":1883,"end_character":56},"updated":"2016-02-03 16:06:29.000000000","message":"What would be the content of this file? How to configure the same?","commit_id":"cf73b14952e76d7a4478286062cbe930fcaf973b"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"85fc7e31ec94b4994d20bdba139ed2cab970ded3","unresolved":false,"context_lines":[{"line_number":1880,"context_line":""},{"line_number":1881,"context_line":"    [DEFAULT]"},{"line_number":1882,"context_line":"    ..."},{"line_number":1883,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":1884,"context_line":""},{"line_number":1885,"context_line":"ironic_api_audit_map.conf Configuration options for Ironic is included in the `pyCADF library \u003chttps://github.com/openstack/pycadf/tree/master/etc/pycadf\u003e`_"},{"line_number":1886,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"5a5ae5dd_6c4fe6bd","line":1883,"range":{"start_line":1883,"start_character":31,"end_line":1883,"end_character":56},"in_reply_to":"5a5ae5dd_15e8db7b","updated":"2016-02-04 16:26:34.000000000","message":"(https://review.openstack.org/#/c/275538/)This will be content which can be copied to api_audit_map.conf.","commit_id":"cf73b14952e76d7a4478286062cbe930fcaf973b"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"3520c74c423862fa843fad0347cb16e8d32f0f3f","unresolved":false,"context_lines":[{"line_number":1882,"context_line":"    ..."},{"line_number":1883,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":1884,"context_line":""},{"line_number":1885,"context_line":"ironic_api_audit_map.conf Configuration options for Ironic is included in the `pyCADF library \u003chttps://github.com/openstack/pycadf/tree/master/etc/pycadf\u003e`_"},{"line_number":1886,"context_line":""},{"line_number":1887,"context_line":""},{"line_number":1888,"context_line":"Using Bare Metal service as a standalone service"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5a5ae5dd_1e38fdd2","line":1885,"range":{"start_line":1885,"start_character":95,"end_line":1885,"end_character":156},"updated":"2016-02-03 16:06:29.000000000","message":"How will this file get included into pycadf?","commit_id":"cf73b14952e76d7a4478286062cbe930fcaf973b"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"3520c74c423862fa843fad0347cb16e8d32f0f3f","unresolved":false,"context_lines":[{"line_number":1882,"context_line":"    ..."},{"line_number":1883,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":1884,"context_line":""},{"line_number":1885,"context_line":"ironic_api_audit_map.conf Configuration options for Ironic is included in the `pyCADF library \u003chttps://github.com/openstack/pycadf/tree/master/etc/pycadf\u003e`_"},{"line_number":1886,"context_line":""},{"line_number":1887,"context_line":""},{"line_number":1888,"context_line":"Using Bare Metal service as a standalone service"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5a5ae5dd_5e5c3525","line":1885,"range":{"start_line":1885,"start_character":59,"end_line":1885,"end_character":61},"updated":"2016-02-03 16:06:29.000000000","message":"s/is /are/","commit_id":"cf73b14952e76d7a4478286062cbe930fcaf973b"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"85fc7e31ec94b4994d20bdba139ed2cab970ded3","unresolved":false,"context_lines":[{"line_number":1882,"context_line":"    ..."},{"line_number":1883,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":1884,"context_line":""},{"line_number":1885,"context_line":"ironic_api_audit_map.conf Configuration options for Ironic is included in the `pyCADF library \u003chttps://github.com/openstack/pycadf/tree/master/etc/pycadf\u003e`_"},{"line_number":1886,"context_line":""},{"line_number":1887,"context_line":""},{"line_number":1888,"context_line":"Using Bare Metal service as a standalone service"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5a5ae5dd_8c734215","line":1885,"range":{"start_line":1885,"start_character":95,"end_line":1885,"end_character":156},"in_reply_to":"5a5ae5dd_1e38fdd2","updated":"2016-02-04 16:26:34.000000000","message":"Patch is in review for the configuration options.\nhttps://review.openstack.org/#/c/275538/","commit_id":"cf73b14952e76d7a4478286062cbe930fcaf973b"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d5a9b908a80493e5d56fc194f57b916e61ae34e5","unresolved":false,"context_lines":[{"line_number":1866,"context_line":""},{"line_number":1867,"context_line":"Enabling Audit Middleware"},{"line_number":1868,"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"},{"line_number":1869,"context_line":"Auditing can be enabled for ironic by following below changes to ``/etc/ironic/ironic.conf``:"},{"line_number":1870,"context_line":""},{"line_number":1871,"context_line":"#. To enable usage of audit middleware to log audit events::"},{"line_number":1872,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"5a5ae5dd_02802d8a","line":1869,"range":{"start_line":1869,"start_character":0,"end_line":1869,"end_character":27},"updated":"2016-02-05 14:03:34.000000000","message":"I think a link to the audit middleware would be useful to the reader for context.","commit_id":"e54d8eb705afa5c5fc4e6a657b7c1e3584a68e6a"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"243530435ead530f110d42e744eae1fdf775a910","unresolved":false,"context_lines":[{"line_number":1866,"context_line":""},{"line_number":1867,"context_line":"Enabling Audit Middleware"},{"line_number":1868,"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"},{"line_number":1869,"context_line":"Auditing can be enabled for ironic by following below changes to ``/etc/ironic/ironic.conf``:"},{"line_number":1870,"context_line":""},{"line_number":1871,"context_line":"#. To enable usage of audit middleware to log audit events::"},{"line_number":1872,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"5a5ae5dd_ae0b3729","line":1869,"range":{"start_line":1869,"start_character":35,"end_line":1869,"end_character":64},"updated":"2016-02-05 18:34:53.000000000","message":"nit - by making the below changes to...","commit_id":"e54d8eb705afa5c5fc4e6a657b7c1e3584a68e6a"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"7eb00666cc3f8ed811b76f63c8b9ca0f5dff09d7","unresolved":false,"context_lines":[{"line_number":1866,"context_line":""},{"line_number":1867,"context_line":"Enabling Audit Middleware"},{"line_number":1868,"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"},{"line_number":1869,"context_line":"Auditing can be enabled for ironic by following below changes to ``/etc/ironic/ironic.conf``:"},{"line_number":1870,"context_line":""},{"line_number":1871,"context_line":"#. To enable usage of audit middleware to log audit events::"},{"line_number":1872,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"5a5ae5dd_2025e65a","line":1869,"range":{"start_line":1869,"start_character":0,"end_line":1869,"end_character":27},"in_reply_to":"5a5ae5dd_02802d8a","updated":"2016-02-08 10:13:55.000000000","message":"Done","commit_id":"e54d8eb705afa5c5fc4e6a657b7c1e3584a68e6a"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"7eb00666cc3f8ed811b76f63c8b9ca0f5dff09d7","unresolved":false,"context_lines":[{"line_number":1866,"context_line":""},{"line_number":1867,"context_line":"Enabling Audit Middleware"},{"line_number":1868,"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"},{"line_number":1869,"context_line":"Auditing can be enabled for ironic by following below changes to ``/etc/ironic/ironic.conf``:"},{"line_number":1870,"context_line":""},{"line_number":1871,"context_line":"#. To enable usage of audit middleware to log audit events::"},{"line_number":1872,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"5a5ae5dd_001f8a08","line":1869,"range":{"start_line":1869,"start_character":35,"end_line":1869,"end_character":64},"in_reply_to":"5a5ae5dd_ae0b3729","updated":"2016-02-08 10:13:55.000000000","message":"Done","commit_id":"e54d8eb705afa5c5fc4e6a657b7c1e3584a68e6a"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"243530435ead530f110d42e744eae1fdf775a910","unresolved":false,"context_lines":[{"line_number":1875,"context_line":"    enable_audit\u003dtrue"},{"line_number":1876,"context_line":""},{"line_number":1877,"context_line":"#. To properly audit API requests, the audit middleware requires api_audit_map.conf"},{"line_number":1878,"context_line":"   to be defined. Configuration options Ironic corresponding api_audit_map.conf file is"},{"line_number":1879,"context_line":"   included in the::"},{"line_number":1880,"context_line":""},{"line_number":1881,"context_line":"    [DEFAULT]"},{"line_number":1882,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":11,"id":"5a5ae5dd_e24e236e","line":1879,"range":{"start_line":1878,"start_character":18,"end_line":1879,"end_character":18},"updated":"2016-02-05 18:34:53.000000000","message":"nit - might be smth like \u0027Update the value of audit_map_file configuration option to set its location\u0027","commit_id":"e54d8eb705afa5c5fc4e6a657b7c1e3584a68e6a"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"7eb00666cc3f8ed811b76f63c8b9ca0f5dff09d7","unresolved":false,"context_lines":[{"line_number":1875,"context_line":"    enable_audit\u003dtrue"},{"line_number":1876,"context_line":""},{"line_number":1877,"context_line":"#. To properly audit API requests, the audit middleware requires api_audit_map.conf"},{"line_number":1878,"context_line":"   to be defined. Configuration options Ironic corresponding api_audit_map.conf file is"},{"line_number":1879,"context_line":"   included in the::"},{"line_number":1880,"context_line":""},{"line_number":1881,"context_line":"    [DEFAULT]"},{"line_number":1882,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":11,"id":"5a5ae5dd_608bde1f","line":1879,"range":{"start_line":1878,"start_character":18,"end_line":1879,"end_character":18},"in_reply_to":"5a5ae5dd_e24e236e","updated":"2016-02-08 10:13:55.000000000","message":"Done","commit_id":"e54d8eb705afa5c5fc4e6a657b7c1e3584a68e6a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d5a9b908a80493e5d56fc194f57b916e61ae34e5","unresolved":false,"context_lines":[{"line_number":1882,"context_line":"    ..."},{"line_number":1883,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":1884,"context_line":""},{"line_number":1885,"context_line":"ironic_api_audit_map.conf Configuration options for Ironic are included in the `pyCADF library \u003chttps://github.com/openstack/pycadf/tree/master/etc/pycadf\u003e`_"},{"line_number":1886,"context_line":""},{"line_number":1887,"context_line":""},{"line_number":1888,"context_line":"Using Bare Metal service as a standalone service"}],"source_content_type":"text/x-rst","patch_set":11,"id":"5a5ae5dd_a2cd99b8","line":1885,"range":{"start_line":1885,"start_character":78,"end_line":1885,"end_character":79},"updated":"2016-02-05 14:03:34.000000000","message":"nit: I think line wrapping here might be good.","commit_id":"e54d8eb705afa5c5fc4e6a657b7c1e3584a68e6a"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"7eb00666cc3f8ed811b76f63c8b9ca0f5dff09d7","unresolved":false,"context_lines":[{"line_number":1882,"context_line":"    ..."},{"line_number":1883,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":1884,"context_line":""},{"line_number":1885,"context_line":"ironic_api_audit_map.conf Configuration options for Ironic are included in the `pyCADF library \u003chttps://github.com/openstack/pycadf/tree/master/etc/pycadf\u003e`_"},{"line_number":1886,"context_line":""},{"line_number":1887,"context_line":""},{"line_number":1888,"context_line":"Using Bare Metal service as a standalone service"}],"source_content_type":"text/x-rst","patch_set":11,"id":"5a5ae5dd_208166fb","line":1885,"range":{"start_line":1885,"start_character":78,"end_line":1885,"end_character":79},"in_reply_to":"5a5ae5dd_a2cd99b8","updated":"2016-02-08 10:13:55.000000000","message":"Done","commit_id":"e54d8eb705afa5c5fc4e6a657b7c1e3584a68e6a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"a3bbc538da719257e057855e1c46434a51617eef","unresolved":false,"context_lines":[{"line_number":1865,"context_line":"  `see here \u003chttp://docs.openstack.org/developer/swift/deployment_guide.html\u003e`_"},{"line_number":1866,"context_line":""},{"line_number":1867,"context_line":"Enabling Audit Middleware"},{"line_number":1868,"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"},{"line_number":1869,"context_line":"Auditing can be enabled for ironic by making the below changes to ``/etc/ironic/ironic.conf``"},{"line_number":1870,"context_line":"for more info on Audit Middleware `see here"},{"line_number":1871,"context_line":"\u003chttp://docs.openstack.org/developer/keystonemiddleware/audit.html\u003e`_"}],"source_content_type":"text/x-rst","patch_set":14,"id":"5a5ae5dd_47926e4d","line":1868,"range":{"start_line":1868,"start_character":0,"end_line":1868,"end_character":25},"updated":"2016-02-08 13:34:44.000000000","message":"Nit: In keeping with the style of the majority of the file, there should be a line break in between the header and the text below.  I think this is fine as a follow-up change if no other changes are required.","commit_id":"7000bc2884b97c89c2be558ce558abe1592564e9"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"b5104c31fc7989e4a97b582e0b0185549b2c28e3","unresolved":false,"context_lines":[{"line_number":1865,"context_line":"  `see here \u003chttp://docs.openstack.org/developer/swift/deployment_guide.html\u003e`_"},{"line_number":1866,"context_line":""},{"line_number":1867,"context_line":"Enabling Audit Middleware"},{"line_number":1868,"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"},{"line_number":1869,"context_line":"Auditing can be enabled for ironic by making the below changes to ``/etc/ironic/ironic.conf``"},{"line_number":1870,"context_line":"for more info on Audit Middleware `see here"},{"line_number":1871,"context_line":"\u003chttp://docs.openstack.org/developer/keystonemiddleware/audit.html\u003e`_"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a57f1b5_51367104","line":1868,"range":{"start_line":1868,"start_character":0,"end_line":1868,"end_character":25},"in_reply_to":"5a5ae5dd_47926e4d","updated":"2016-02-10 06:32:38.000000000","message":"Done","commit_id":"7000bc2884b97c89c2be558ce558abe1592564e9"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"564e4076d7a34a1d5505033e50a3d7091bf9c4c5","unresolved":false,"context_lines":[{"line_number":1876,"context_line":"    ..."},{"line_number":1877,"context_line":"    enable_audit\u003dtrue"},{"line_number":1878,"context_line":""},{"line_number":1879,"context_line":"#. To properly audit API requests, the audit middleware requires api_audit_map.conf"},{"line_number":1880,"context_line":"   to be defined. Update the valude of ironic_api_audit_map.conf file configuration"},{"line_number":1881,"context_line":"   option to set its location::"},{"line_number":1882,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a57f1b5_b33fad24","line":1879,"range":{"start_line":1879,"start_character":65,"end_line":1879,"end_character":83},"updated":"2016-02-10 04:44:35.000000000","message":"Should it be \u0027audit_map_file\u0027 here?","commit_id":"7000bc2884b97c89c2be558ce558abe1592564e9"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"b5104c31fc7989e4a97b582e0b0185549b2c28e3","unresolved":false,"context_lines":[{"line_number":1876,"context_line":"    ..."},{"line_number":1877,"context_line":"    enable_audit\u003dtrue"},{"line_number":1878,"context_line":""},{"line_number":1879,"context_line":"#. To properly audit API requests, the audit middleware requires api_audit_map.conf"},{"line_number":1880,"context_line":"   to be defined. Update the valude of ironic_api_audit_map.conf file configuration"},{"line_number":1881,"context_line":"   option to set its location::"},{"line_number":1882,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a57f1b5_1140f955","line":1879,"range":{"start_line":1879,"start_character":65,"end_line":1879,"end_character":83},"in_reply_to":"3a57f1b5_b33fad24","updated":"2016-02-10 06:32:38.000000000","message":"Done","commit_id":"7000bc2884b97c89c2be558ce558abe1592564e9"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"564e4076d7a34a1d5505033e50a3d7091bf9c4c5","unresolved":false,"context_lines":[{"line_number":1877,"context_line":"    enable_audit\u003dtrue"},{"line_number":1878,"context_line":""},{"line_number":1879,"context_line":"#. To properly audit API requests, the audit middleware requires api_audit_map.conf"},{"line_number":1880,"context_line":"   to be defined. Update the valude of ironic_api_audit_map.conf file configuration"},{"line_number":1881,"context_line":"   option to set its location::"},{"line_number":1882,"context_line":""},{"line_number":1883,"context_line":"    [DEFAULT]"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a57f1b5_734935d0","line":1880,"range":{"start_line":1880,"start_character":39,"end_line":1880,"end_character":64},"updated":"2016-02-10 04:44:35.000000000","message":"Should it be \u0027audit_map_file\u0027 here as well?","commit_id":"7000bc2884b97c89c2be558ce558abe1592564e9"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"564e4076d7a34a1d5505033e50a3d7091bf9c4c5","unresolved":false,"context_lines":[{"line_number":1877,"context_line":"    enable_audit\u003dtrue"},{"line_number":1878,"context_line":""},{"line_number":1879,"context_line":"#. To properly audit API requests, the audit middleware requires api_audit_map.conf"},{"line_number":1880,"context_line":"   to be defined. Update the valude of ironic_api_audit_map.conf file configuration"},{"line_number":1881,"context_line":"   option to set its location::"},{"line_number":1882,"context_line":""},{"line_number":1883,"context_line":"    [DEFAULT]"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a57f1b5_93ef11b0","line":1880,"range":{"start_line":1880,"start_character":29,"end_line":1880,"end_character":35},"updated":"2016-02-10 04:44:35.000000000","message":"s/valude /value/","commit_id":"7000bc2884b97c89c2be558ce558abe1592564e9"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"b5104c31fc7989e4a97b582e0b0185549b2c28e3","unresolved":false,"context_lines":[{"line_number":1877,"context_line":"    enable_audit\u003dtrue"},{"line_number":1878,"context_line":""},{"line_number":1879,"context_line":"#. To properly audit API requests, the audit middleware requires api_audit_map.conf"},{"line_number":1880,"context_line":"   to be defined. Update the valude of ironic_api_audit_map.conf file configuration"},{"line_number":1881,"context_line":"   option to set its location::"},{"line_number":1882,"context_line":""},{"line_number":1883,"context_line":"    [DEFAULT]"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a57f1b5_11179952","line":1880,"range":{"start_line":1880,"start_character":39,"end_line":1880,"end_character":64},"in_reply_to":"3a57f1b5_734935d0","updated":"2016-02-10 06:32:38.000000000","message":"I dont think so, refering to conf file name would be better.","commit_id":"7000bc2884b97c89c2be558ce558abe1592564e9"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"b5104c31fc7989e4a97b582e0b0185549b2c28e3","unresolved":false,"context_lines":[{"line_number":1877,"context_line":"    enable_audit\u003dtrue"},{"line_number":1878,"context_line":""},{"line_number":1879,"context_line":"#. To properly audit API requests, the audit middleware requires api_audit_map.conf"},{"line_number":1880,"context_line":"   to be defined. Update the valude of ironic_api_audit_map.conf file configuration"},{"line_number":1881,"context_line":"   option to set its location::"},{"line_number":1882,"context_line":""},{"line_number":1883,"context_line":"    [DEFAULT]"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a57f1b5_91a7094f","line":1880,"range":{"start_line":1880,"start_character":29,"end_line":1880,"end_character":35},"in_reply_to":"3a57f1b5_93ef11b0","updated":"2016-02-10 06:32:38.000000000","message":"Done","commit_id":"7000bc2884b97c89c2be558ce558abe1592564e9"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"e73fdf4261f8d2cbefa8a8d3eb80ebb982390ecb","unresolved":false,"context_lines":[{"line_number":1868,"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"},{"line_number":1869,"context_line":""},{"line_number":1870,"context_line":"Auditing can be enabled for ironic by making the below changes to ``/etc/ironic/ironic.conf``"},{"line_number":1871,"context_line":"for more info on Audit Middleware `see here"},{"line_number":1872,"context_line":"\u003chttp://docs.openstack.org/developer/keystonemiddleware/audit.html\u003e`_"},{"line_number":1873,"context_line":""},{"line_number":1874,"context_line":"#. To enable usage of audit middleware to log audit events::"}],"source_content_type":"text/x-rst","patch_set":15,"id":"3a57f1b5_8ced84f1","line":1871,"updated":"2016-02-10 21:17:12.000000000","message":"nit: this appears to be a new sentence, and should have appropriate punctionation and capitalization.","commit_id":"3d4bc462ace612265d8bbaa5e4b2326a0fc9f335"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"b94ccfeacc7b5dfc5fde4684e987e59c76ccba9c","unresolved":false,"context_lines":[{"line_number":1868,"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"},{"line_number":1869,"context_line":""},{"line_number":1870,"context_line":"Auditing can be enabled for ironic by making the below changes to ``/etc/ironic/ironic.conf``"},{"line_number":1871,"context_line":"for more info on Audit Middleware `see here"},{"line_number":1872,"context_line":"\u003chttp://docs.openstack.org/developer/keystonemiddleware/audit.html\u003e`_"},{"line_number":1873,"context_line":""},{"line_number":1874,"context_line":"#. To enable usage of audit middleware to log audit events::"}],"source_content_type":"text/x-rst","patch_set":15,"id":"3a57f1b5_054b8cca","line":1871,"in_reply_to":"3a57f1b5_8ced84f1","updated":"2016-02-11 10:11:09.000000000","message":"Done","commit_id":"3d4bc462ace612265d8bbaa5e4b2326a0fc9f335"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"8fa27aa20d97b078fa9a0fa581bb5639e3db206b","unresolved":false,"context_lines":[{"line_number":1883,"context_line":""},{"line_number":1884,"context_line":"    [DEFAULT]"},{"line_number":1885,"context_line":"    ..."},{"line_number":1886,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":1887,"context_line":""},{"line_number":1888,"context_line":"ironic_api_audit_map.conf Configuration options for Ironic are included in the"},{"line_number":1889,"context_line":"etc/ironic/ironic_api_audit_map.conf.sample file."}],"source_content_type":"text/x-rst","patch_set":17,"id":"bae84128_01e9d61a","line":1886,"updated":"2016-02-19 14:39:23.000000000","message":"see below - pycadf seems to have this file already, maybe we could reuse it?","commit_id":"5461639abd75d94ffdc2002fddeee9c8951eabbe"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"5639401dfbae5ea7f5b9197e4a4c83386b82664a","unresolved":false,"context_lines":[{"line_number":1883,"context_line":""},{"line_number":1884,"context_line":"    [DEFAULT]"},{"line_number":1885,"context_line":"    ..."},{"line_number":1886,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":1887,"context_line":""},{"line_number":1888,"context_line":"ironic_api_audit_map.conf Configuration options for Ironic are included in the"},{"line_number":1889,"context_line":"etc/ironic/ironic_api_audit_map.conf.sample file."}],"source_content_type":"text/x-rst","patch_set":17,"id":"bae84128_3306b7ce","line":1886,"in_reply_to":"bae84128_01e9d61a","updated":"2016-02-21 09:54:54.000000000","message":"Had got comment before patchsets to use conf file inside ironic tree. All services are adding map file in paste.ini using conf file in their tree. So doing same here.","commit_id":"5461639abd75d94ffdc2002fddeee9c8951eabbe"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"8fa27aa20d97b078fa9a0fa581bb5639e3db206b","unresolved":false,"context_lines":[{"line_number":1885,"context_line":"    ..."},{"line_number":1886,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":1887,"context_line":""},{"line_number":1888,"context_line":"ironic_api_audit_map.conf Configuration options for Ironic are included in the"},{"line_number":1889,"context_line":"etc/ironic/ironic_api_audit_map.conf.sample file."},{"line_number":1890,"context_line":""},{"line_number":1891,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"bae84128_e1edd226","line":1888,"updated":"2016-02-19 14:39:23.000000000","message":"repeating file name in the end of the string?","commit_id":"5461639abd75d94ffdc2002fddeee9c8951eabbe"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"5639401dfbae5ea7f5b9197e4a4c83386b82664a","unresolved":false,"context_lines":[{"line_number":1885,"context_line":"    ..."},{"line_number":1886,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":1887,"context_line":""},{"line_number":1888,"context_line":"ironic_api_audit_map.conf Configuration options for Ironic are included in the"},{"line_number":1889,"context_line":"etc/ironic/ironic_api_audit_map.conf.sample file."},{"line_number":1890,"context_line":""},{"line_number":1891,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"bae84128_b34c8743","line":1888,"in_reply_to":"bae84128_e1edd226","updated":"2016-02-21 09:54:54.000000000","message":"Done","commit_id":"5461639abd75d94ffdc2002fddeee9c8951eabbe"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"f10ee604fc67717259c4d9b74ab717c2df3fe140","unresolved":false,"context_lines":[{"line_number":1867,"context_line":"Enabling Audit Middleware"},{"line_number":1868,"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"},{"line_number":1869,"context_line":""},{"line_number":1870,"context_line":"Auditing can be enabled for ironic by making the below changes to ``/etc/ironic/ironic.conf``."},{"line_number":1871,"context_line":"For more info on audit middleware `see here"},{"line_number":1872,"context_line":"\u003chttp://docs.openstack.org/developer/keystonemiddleware/audit.html\u003e`_"},{"line_number":1873,"context_line":""}],"source_content_type":"text/x-rst","patch_set":21,"id":"5aef4532_88b8bf76","line":1870,"range":{"start_line":1870,"start_character":45,"end_line":1870,"end_character":62},"updated":"2016-03-10 05:40:51.000000000","message":"May be you meant \u0027following changes\u0027 here?","commit_id":"c6fea1d0d545776d5be4a9d864471946a6ce11c6"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"f10ee604fc67717259c4d9b74ab717c2df3fe140","unresolved":false,"context_lines":[{"line_number":1867,"context_line":"Enabling Audit Middleware"},{"line_number":1868,"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"},{"line_number":1869,"context_line":""},{"line_number":1870,"context_line":"Auditing can be enabled for ironic by making the below changes to ``/etc/ironic/ironic.conf``."},{"line_number":1871,"context_line":"For more info on audit middleware `see here"},{"line_number":1872,"context_line":"\u003chttp://docs.openstack.org/developer/keystonemiddleware/audit.html\u003e`_"},{"line_number":1873,"context_line":""}],"source_content_type":"text/x-rst","patch_set":21,"id":"5aef4532_e857c355","line":1870,"range":{"start_line":1870,"start_character":28,"end_line":1870,"end_character":34},"updated":"2016-03-10 05:40:51.000000000","message":"s/\u0027ironic\u0027 /\u0027Bare Metal service\u0027/","commit_id":"c6fea1d0d545776d5be4a9d864471946a6ce11c6"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"f10ee604fc67717259c4d9b74ab717c2df3fe140","unresolved":false,"context_lines":[{"line_number":1878,"context_line":"    enable_audit\u003dtrue"},{"line_number":1879,"context_line":""},{"line_number":1880,"context_line":"#. To properly audit API requests, the audit middleware requires audit_map_file"},{"line_number":1881,"context_line":"   to be defined. Update the value of ironic_api_audit_map.conf file configuration"},{"line_number":1882,"context_line":"   option to set its location::"},{"line_number":1883,"context_line":""},{"line_number":1884,"context_line":"    [DEFAULT]"},{"line_number":1885,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":21,"id":"5aef4532_4b2cf198","line":1882,"range":{"start_line":1881,"start_character":18,"end_line":1882,"end_character":29},"updated":"2016-03-10 05:40:51.000000000","message":"Update the value of configuration variable \u0027audit_map_file\u0027 to set the path of audit_map_file.","commit_id":"c6fea1d0d545776d5be4a9d864471946a6ce11c6"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"f10ee604fc67717259c4d9b74ab717c2df3fe140","unresolved":false,"context_lines":[{"line_number":1885,"context_line":"    ..."},{"line_number":1886,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":1887,"context_line":""},{"line_number":1888,"context_line":"Audit map file configuration options for Ironic are included in the"},{"line_number":1889,"context_line":"etc/ironic/ironic_api_audit_map.conf.sample file."},{"line_number":1890,"context_line":""},{"line_number":1891,"context_line":""}],"source_content_type":"text/x-rst","patch_set":21,"id":"5aef4532_aba49507","line":1888,"range":{"start_line":1888,"start_character":41,"end_line":1888,"end_character":47},"updated":"2016-03-10 05:40:51.000000000","message":"s/ \u0027Ironic\u0027/ \u0027Bare Metal service\u0027/","commit_id":"c6fea1d0d545776d5be4a9d864471946a6ce11c6"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"f10ee604fc67717259c4d9b74ab717c2df3fe140","unresolved":false,"context_lines":[{"line_number":1886,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":1887,"context_line":""},{"line_number":1888,"context_line":"Audit map file configuration options for Ironic are included in the"},{"line_number":1889,"context_line":"etc/ironic/ironic_api_audit_map.conf.sample file."},{"line_number":1890,"context_line":""},{"line_number":1891,"context_line":""},{"line_number":1892,"context_line":"Using Bare Metal service as a standalone service"}],"source_content_type":"text/x-rst","patch_set":21,"id":"5aef4532_ab6db5cd","line":1889,"range":{"start_line":1889,"start_character":0,"end_line":1889,"end_character":3},"updated":"2016-03-10 05:40:51.000000000","message":"Add \u0027/\u0027 at the beginning","commit_id":"c6fea1d0d545776d5be4a9d864471946a6ce11c6"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"f10ee604fc67717259c4d9b74ab717c2df3fe140","unresolved":false,"context_lines":[{"line_number":1887,"context_line":""},{"line_number":1888,"context_line":"Audit map file configuration options for Ironic are included in the"},{"line_number":1889,"context_line":"etc/ironic/ironic_api_audit_map.conf.sample file."},{"line_number":1890,"context_line":""},{"line_number":1891,"context_line":""},{"line_number":1892,"context_line":"Using Bare Metal service as a standalone service"},{"line_number":1893,"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\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":21,"id":"5aef4532_cbc2c184","line":1890,"updated":"2016-03-10 05:40:51.000000000","message":"There are 2 more new variables introduced, viz. \u0027service_name\u0027 and \u0027ignore_req_list\u0027. It would be useful to document the usage of those variables here.","commit_id":"c6fea1d0d545776d5be4a9d864471946a6ce11c6"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e8d1b4313e069be15ec060ca0a7d79e3e540b4dc","unresolved":false,"context_lines":[{"line_number":1877,"context_line":"    ..."},{"line_number":1878,"context_line":"    enable_audit\u003dtrue"},{"line_number":1879,"context_line":""},{"line_number":1880,"context_line":"#. To properly audit API requests, the audit middleware requires audit_map_file"},{"line_number":1881,"context_line":"   to be defined. Update the value of configuration variable \u0027audit_map_file\u0027 to   set its location::"},{"line_number":1882,"context_line":""},{"line_number":1883,"context_line":"    [DEFAULT]"}],"source_content_type":"text/x-rst","patch_set":22,"id":"fa0719c6_68ca36a3","line":1880,"range":{"start_line":1880,"start_character":64,"end_line":1880,"end_character":65},"updated":"2016-03-21 12:17:18.000000000","message":"Nit: Insert \"the\" between requires and audit_map_file, and add \"setting\" after audit_map_file.","commit_id":"98ad4bcb3a72b0e142008dee6f9364394027e8ae"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e8d1b4313e069be15ec060ca0a7d79e3e540b4dc","unresolved":false,"context_lines":[{"line_number":1877,"context_line":"    ..."},{"line_number":1878,"context_line":"    enable_audit\u003dtrue"},{"line_number":1879,"context_line":""},{"line_number":1880,"context_line":"#. To properly audit API requests, the audit middleware requires audit_map_file"},{"line_number":1881,"context_line":"   to be defined. Update the value of configuration variable \u0027audit_map_file\u0027 to   set its location::"},{"line_number":1882,"context_line":""},{"line_number":1883,"context_line":"    [DEFAULT]"}],"source_content_type":"text/x-rst","patch_set":22,"id":"fa0719c6_a868cebb","line":1880,"range":{"start_line":1880,"start_character":5,"end_line":1880,"end_character":14},"updated":"2016-03-21 12:17:18.000000000","message":"nit: I think the word properly can be removed.  There truly is only one way to set this feature up.","commit_id":"98ad4bcb3a72b0e142008dee6f9364394027e8ae"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"64c3b0c1e94a020987a204e31c1730d9b4a827be","unresolved":false,"context_lines":[{"line_number":1877,"context_line":"    ..."},{"line_number":1878,"context_line":"    enable_audit\u003dtrue"},{"line_number":1879,"context_line":""},{"line_number":1880,"context_line":"#. To properly audit API requests, the audit middleware requires audit_map_file"},{"line_number":1881,"context_line":"   to be defined. Update the value of configuration variable \u0027audit_map_file\u0027 to   set its location::"},{"line_number":1882,"context_line":""},{"line_number":1883,"context_line":"    [DEFAULT]"}],"source_content_type":"text/x-rst","patch_set":22,"id":"fa0719c6_bf2bb893","line":1880,"range":{"start_line":1880,"start_character":64,"end_line":1880,"end_character":65},"in_reply_to":"fa0719c6_68ca36a3","updated":"2016-03-22 09:19:40.000000000","message":"Done","commit_id":"98ad4bcb3a72b0e142008dee6f9364394027e8ae"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"64c3b0c1e94a020987a204e31c1730d9b4a827be","unresolved":false,"context_lines":[{"line_number":1877,"context_line":"    ..."},{"line_number":1878,"context_line":"    enable_audit\u003dtrue"},{"line_number":1879,"context_line":""},{"line_number":1880,"context_line":"#. To properly audit API requests, the audit middleware requires audit_map_file"},{"line_number":1881,"context_line":"   to be defined. Update the value of configuration variable \u0027audit_map_file\u0027 to   set its location::"},{"line_number":1882,"context_line":""},{"line_number":1883,"context_line":"    [DEFAULT]"}],"source_content_type":"text/x-rst","patch_set":22,"id":"fa0719c6_1f190489","line":1880,"range":{"start_line":1880,"start_character":5,"end_line":1880,"end_character":14},"in_reply_to":"fa0719c6_a868cebb","updated":"2016-03-22 09:19:40.000000000","message":"With providing audit map file also audit will work and also It is reffered like that in  audit middleware doc so have used properly","commit_id":"98ad4bcb3a72b0e142008dee6f9364394027e8ae"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e8d1b4313e069be15ec060ca0a7d79e3e540b4dc","unresolved":false,"context_lines":[{"line_number":1878,"context_line":"    enable_audit\u003dtrue"},{"line_number":1879,"context_line":""},{"line_number":1880,"context_line":"#. To properly audit API requests, the audit middleware requires audit_map_file"},{"line_number":1881,"context_line":"   to be defined. Update the value of configuration variable \u0027audit_map_file\u0027 to   set its location::"},{"line_number":1882,"context_line":""},{"line_number":1883,"context_line":"    [DEFAULT]"},{"line_number":1884,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":22,"id":"fa0719c6_88486a2f","line":1881,"range":{"start_line":1881,"start_character":100,"end_line":1881,"end_character":101},"updated":"2016-03-21 12:17:18.000000000","message":"Line should be wrapped.","commit_id":"98ad4bcb3a72b0e142008dee6f9364394027e8ae"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e8d1b4313e069be15ec060ca0a7d79e3e540b4dc","unresolved":false,"context_lines":[{"line_number":1878,"context_line":"    enable_audit\u003dtrue"},{"line_number":1879,"context_line":""},{"line_number":1880,"context_line":"#. To properly audit API requests, the audit middleware requires audit_map_file"},{"line_number":1881,"context_line":"   to be defined. Update the value of configuration variable \u0027audit_map_file\u0027 to   set its location::"},{"line_number":1882,"context_line":""},{"line_number":1883,"context_line":"    [DEFAULT]"},{"line_number":1884,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":22,"id":"fa0719c6_48cf72b0","line":1881,"updated":"2016-03-21 12:17:18.000000000","message":"Nit: May be best to indicate that audit_map_file is a configuration variable in the sentence starting on the previous like.","commit_id":"98ad4bcb3a72b0e142008dee6f9364394027e8ae"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e8d1b4313e069be15ec060ca0a7d79e3e540b4dc","unresolved":false,"context_lines":[{"line_number":1878,"context_line":"    enable_audit\u003dtrue"},{"line_number":1879,"context_line":""},{"line_number":1880,"context_line":"#. To properly audit API requests, the audit middleware requires audit_map_file"},{"line_number":1881,"context_line":"   to be defined. Update the value of configuration variable \u0027audit_map_file\u0027 to   set its location::"},{"line_number":1882,"context_line":""},{"line_number":1883,"context_line":"    [DEFAULT]"},{"line_number":1884,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":22,"id":"fa0719c6_c8bb820d","line":1881,"range":{"start_line":1881,"start_character":81,"end_line":1881,"end_character":82},"updated":"2016-03-21 12:17:18.000000000","message":"nit: excess space","commit_id":"98ad4bcb3a72b0e142008dee6f9364394027e8ae"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"64c3b0c1e94a020987a204e31c1730d9b4a827be","unresolved":false,"context_lines":[{"line_number":1878,"context_line":"    enable_audit\u003dtrue"},{"line_number":1879,"context_line":""},{"line_number":1880,"context_line":"#. To properly audit API requests, the audit middleware requires audit_map_file"},{"line_number":1881,"context_line":"   to be defined. Update the value of configuration variable \u0027audit_map_file\u0027 to   set its location::"},{"line_number":1882,"context_line":""},{"line_number":1883,"context_line":"    [DEFAULT]"},{"line_number":1884,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":22,"id":"fa0719c6_3f168855","line":1881,"range":{"start_line":1881,"start_character":100,"end_line":1881,"end_character":101},"in_reply_to":"fa0719c6_88486a2f","updated":"2016-03-22 09:19:40.000000000","message":"Done","commit_id":"98ad4bcb3a72b0e142008dee6f9364394027e8ae"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"64c3b0c1e94a020987a204e31c1730d9b4a827be","unresolved":false,"context_lines":[{"line_number":1878,"context_line":"    enable_audit\u003dtrue"},{"line_number":1879,"context_line":""},{"line_number":1880,"context_line":"#. To properly audit API requests, the audit middleware requires audit_map_file"},{"line_number":1881,"context_line":"   to be defined. Update the value of configuration variable \u0027audit_map_file\u0027 to   set its location::"},{"line_number":1882,"context_line":""},{"line_number":1883,"context_line":"    [DEFAULT]"},{"line_number":1884,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":22,"id":"fa0719c6_7f08002e","line":1881,"range":{"start_line":1881,"start_character":81,"end_line":1881,"end_character":82},"in_reply_to":"fa0719c6_c8bb820d","updated":"2016-03-22 09:19:40.000000000","message":"Done","commit_id":"98ad4bcb3a72b0e142008dee6f9364394027e8ae"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e8d1b4313e069be15ec060ca0a7d79e3e540b4dc","unresolved":false,"context_lines":[{"line_number":1893,"context_line":"    ..."},{"line_number":1894,"context_line":"    service_name\u003dironic"},{"line_number":1895,"context_line":""},{"line_number":1896,"context_line":"#. Comma separated list of Ironic API requests to be ignored during audit. Ex: GET,POST.::"},{"line_number":1897,"context_line":""},{"line_number":1898,"context_line":"    [DEFAULT]"},{"line_number":1899,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":22,"id":"fa0719c6_c8c1c230","line":1896,"range":{"start_line":1896,"start_character":85,"end_line":1896,"end_character":86},"updated":"2016-03-21 12:17:18.000000000","message":"I think it is ill advised to suggest to users that post operations should possibly be ignored.  If we\u0027re looking for HTTP verbs, I suspect HEAD and OPTIONS might be good candidates.","commit_id":"98ad4bcb3a72b0e142008dee6f9364394027e8ae"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"64c3b0c1e94a020987a204e31c1730d9b4a827be","unresolved":false,"context_lines":[{"line_number":1893,"context_line":"    ..."},{"line_number":1894,"context_line":"    service_name\u003dironic"},{"line_number":1895,"context_line":""},{"line_number":1896,"context_line":"#. Comma separated list of Ironic API requests to be ignored during audit. Ex: GET,POST.::"},{"line_number":1897,"context_line":""},{"line_number":1898,"context_line":"    [DEFAULT]"},{"line_number":1899,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":22,"id":"fa0719c6_bf029809","line":1896,"range":{"start_line":1896,"start_character":85,"end_line":1896,"end_character":86},"in_reply_to":"fa0719c6_c8c1c230","updated":"2016-03-22 09:19:40.000000000","message":"Agreed","commit_id":"98ad4bcb3a72b0e142008dee6f9364394027e8ae"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e8d1b4313e069be15ec060ca0a7d79e3e540b4dc","unresolved":false,"context_lines":[{"line_number":1897,"context_line":""},{"line_number":1898,"context_line":"    [DEFAULT]"},{"line_number":1899,"context_line":"    ..."},{"line_number":1900,"context_line":"    ignore_req_list\u003dGET,POST"},{"line_number":1901,"context_line":""},{"line_number":1902,"context_line":"Using Bare Metal service as a standalone service"},{"line_number":1903,"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\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":22,"id":"fa0719c6_68e7d6e4","line":1900,"range":{"start_line":1900,"start_character":24,"end_line":1900,"end_character":28},"updated":"2016-03-21 12:17:18.000000000","message":"Same concern as above.","commit_id":"98ad4bcb3a72b0e142008dee6f9364394027e8ae"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"64c3b0c1e94a020987a204e31c1730d9b4a827be","unresolved":false,"context_lines":[{"line_number":1897,"context_line":""},{"line_number":1898,"context_line":"    [DEFAULT]"},{"line_number":1899,"context_line":"    ..."},{"line_number":1900,"context_line":"    ignore_req_list\u003dGET,POST"},{"line_number":1901,"context_line":""},{"line_number":1902,"context_line":"Using Bare Metal service as a standalone service"},{"line_number":1903,"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\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":22,"id":"fa0719c6_22002b01","line":1900,"range":{"start_line":1900,"start_character":24,"end_line":1900,"end_character":28},"in_reply_to":"fa0719c6_68e7d6e4","updated":"2016-03-22 09:19:40.000000000","message":"Done","commit_id":"98ad4bcb3a72b0e142008dee6f9364394027e8ae"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"8aab443d2010c54fee7f86555154b7690a8160a8","unresolved":false,"context_lines":[{"line_number":1878,"context_line":"    enable_audit\u003dtrue"},{"line_number":1879,"context_line":""},{"line_number":1880,"context_line":"#. To properly audit API requests, the audit middleware requires the audit_map_file setting"},{"line_number":1881,"context_line":"   to be defined. Update the value of configuration variable \u0027audit_map_file\u0027 to set its location::"},{"line_number":1882,"context_line":""},{"line_number":1883,"context_line":"    [DEFAULT]"},{"line_number":1884,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":23,"id":"fa0719c6_f02b8fe9","line":1881,"range":{"start_line":1881,"start_character":52,"end_line":1881,"end_character":60},"updated":"2016-03-22 14:09:23.000000000","message":"nit: You may wish to change \"variable\" to \"setting\"","commit_id":"b9eaf7e84179783cbaab96cdadb743681eaae0e5"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"233c67e9c3eb9b5af22ca24a7d82ef68a3b6802a","unresolved":false,"context_lines":[{"line_number":1878,"context_line":"    enable_audit\u003dtrue"},{"line_number":1879,"context_line":""},{"line_number":1880,"context_line":"#. To properly audit API requests, the audit middleware requires the audit_map_file setting"},{"line_number":1881,"context_line":"   to be defined. Update the value of configuration variable \u0027audit_map_file\u0027 to set its location::"},{"line_number":1882,"context_line":""},{"line_number":1883,"context_line":"    [DEFAULT]"},{"line_number":1884,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":23,"id":"9a061dce_754da46b","line":1881,"range":{"start_line":1881,"start_character":52,"end_line":1881,"end_character":60},"in_reply_to":"fa0719c6_f02b8fe9","updated":"2016-04-05 21:25:16.000000000","message":"Done","commit_id":"b9eaf7e84179783cbaab96cdadb743681eaae0e5"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"4e3b287771219ab891d5447fc058199d76caf79d","unresolved":false,"context_lines":[{"line_number":2099,"context_line":"    Debian/Ubuntu:"},{"line_number":2100,"context_line":"        sudo service ironic-conductor restart"},{"line_number":2101,"context_line":""},{"line_number":2102,"context_line":"Enabling Audit Middleware"},{"line_number":2103,"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"},{"line_number":2104,"context_line":""},{"line_number":2105,"context_line":"Auditing can be enabled for ironic by making the following changes to ``/etc/ironic/ironic.conf``."}],"source_content_type":"text/x-rst","patch_set":34,"id":"5a18252c_95baf26c","line":2102,"updated":"2016-04-13 19:07:13.000000000","message":"I was wondering. This section seems to be describing how to enable auditing of API requests/responses to/from ironic. Wouldn\u0027t it be better to reflect that in the title of this section?","commit_id":"72d4e712a01646ed0f39eafa8bcf4c0084134a4f"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"fd37544713623f0e920885396f239d00163f7642","unresolved":false,"context_lines":[{"line_number":2099,"context_line":"    Debian/Ubuntu:"},{"line_number":2100,"context_line":"        sudo service ironic-conductor restart"},{"line_number":2101,"context_line":""},{"line_number":2102,"context_line":"Enabling Audit Middleware"},{"line_number":2103,"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"},{"line_number":2104,"context_line":""},{"line_number":2105,"context_line":"Auditing can be enabled for ironic by making the following changes to ``/etc/ironic/ironic.conf``."}],"source_content_type":"text/x-rst","patch_set":34,"id":"5a18252c_27648747","line":2102,"in_reply_to":"5a18252c_4eea8010","updated":"2016-04-13 23:29:56.000000000","message":"Done","commit_id":"72d4e712a01646ed0f39eafa8bcf4c0084134a4f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"f61b29cdc447cdf62f4f8a2c00b6fd1b443342ec","unresolved":false,"context_lines":[{"line_number":2099,"context_line":"    Debian/Ubuntu:"},{"line_number":2100,"context_line":"        sudo service ironic-conductor restart"},{"line_number":2101,"context_line":""},{"line_number":2102,"context_line":"Enabling Audit Middleware"},{"line_number":2103,"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"},{"line_number":2104,"context_line":""},{"line_number":2105,"context_line":"Auditing can be enabled for ironic by making the following changes to ``/etc/ironic/ironic.conf``."}],"source_content_type":"text/x-rst","patch_set":34,"id":"5a18252c_4eea8010","line":2102,"in_reply_to":"5a18252c_95baf26c","updated":"2016-04-13 21:11:15.000000000","message":"I would tend to agree, since the statement below the section title sets context that it is audit middleware that is used, the best title may be \u0027Enabling API Audit Logging\u0027 Personally, I feel install-guide is about 1000 lines too long as-is, so an additional file might be ideal.","commit_id":"72d4e712a01646ed0f39eafa8bcf4c0084134a4f"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"4e3b287771219ab891d5447fc058199d76caf79d","unresolved":false,"context_lines":[{"line_number":2103,"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"},{"line_number":2104,"context_line":""},{"line_number":2105,"context_line":"Auditing can be enabled for ironic by making the following changes to ``/etc/ironic/ironic.conf``."},{"line_number":2106,"context_line":"For more info on audit middleware `see here"},{"line_number":2107,"context_line":"\u003chttp://docs.openstack.org/developer/keystonemiddleware/audit.html\u003e`_"},{"line_number":2108,"context_line":""},{"line_number":2109,"context_line":"#. To enable usage of audit middleware to log audit events::"}],"source_content_type":"text/x-rst","patch_set":34,"id":"5a18252c_1573824e","line":2106,"updated":"2016-04-13 19:07:13.000000000","message":"s/info/information/\n\n(The docs folks don\u0027t like to use abbreviations.)\n\nHow about \u0027Information about the audit middleware is available here\u0027.\n\n(I have to admit, I think \u0027auditing middleware\u0027 sounds better but it looks like \u0027audit middleware\u0027 is what folks are using.)","commit_id":"72d4e712a01646ed0f39eafa8bcf4c0084134a4f"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"fd37544713623f0e920885396f239d00163f7642","unresolved":false,"context_lines":[{"line_number":2103,"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"},{"line_number":2104,"context_line":""},{"line_number":2105,"context_line":"Auditing can be enabled for ironic by making the following changes to ``/etc/ironic/ironic.conf``."},{"line_number":2106,"context_line":"For more info on audit middleware `see here"},{"line_number":2107,"context_line":"\u003chttp://docs.openstack.org/developer/keystonemiddleware/audit.html\u003e`_"},{"line_number":2108,"context_line":""},{"line_number":2109,"context_line":"#. To enable usage of audit middleware to log audit events::"}],"source_content_type":"text/x-rst","patch_set":34,"id":"5a18252c_07e7cbb0","line":2106,"in_reply_to":"5a18252c_1573824e","updated":"2016-04-13 23:29:56.000000000","message":"Done","commit_id":"72d4e712a01646ed0f39eafa8bcf4c0084134a4f"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"0df9572142923a673700988ba4262b26f3b90fbf","unresolved":false,"context_lines":[{"line_number":2110,"context_line":""},{"line_number":2111,"context_line":"    [DEFAULT]"},{"line_number":2112,"context_line":"    ..."},{"line_number":2113,"context_line":"    enable_audit\u003dtrue"},{"line_number":2114,"context_line":""},{"line_number":2115,"context_line":"#. To properly audit API requests, the audit middleware requires the audit_map_file setting"},{"line_number":2116,"context_line":"   to be defined. Update the value of configuration setting \u0027audit_map_file\u0027 to set its location::"}],"source_content_type":"text/x-rst","patch_set":36,"id":"5a18252c_1d16fca6","line":2113,"range":{"start_line":2113,"start_character":4,"end_line":2113,"end_character":16},"updated":"2016-04-14 00:17:08.000000000","message":"should be: enable_api_audit_middleware","commit_id":"e70b006039cbb376776e9f71f8a2fa0fd7f00ebc"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"454c922bb20d608196ff69e9d28545f2aafef0f8","unresolved":false,"context_lines":[{"line_number":2110,"context_line":""},{"line_number":2111,"context_line":"    [DEFAULT]"},{"line_number":2112,"context_line":"    ..."},{"line_number":2113,"context_line":"    enable_audit\u003dtrue"},{"line_number":2114,"context_line":""},{"line_number":2115,"context_line":"#. To properly audit API requests, the audit middleware requires the audit_map_file setting"},{"line_number":2116,"context_line":"   to be defined. Update the value of configuration setting \u0027audit_map_file\u0027 to set its location::"}],"source_content_type":"text/x-rst","patch_set":36,"id":"5a18252c_bd39bad9","line":2113,"range":{"start_line":2113,"start_character":4,"end_line":2113,"end_character":16},"in_reply_to":"5a18252c_1d16fca6","updated":"2016-04-14 08:51:48.000000000","message":"Done","commit_id":"e70b006039cbb376776e9f71f8a2fa0fd7f00ebc"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"0df9572142923a673700988ba4262b26f3b90fbf","unresolved":false,"context_lines":[{"line_number":2115,"context_line":"#. To properly audit API requests, the audit middleware requires the audit_map_file setting"},{"line_number":2116,"context_line":"   to be defined. Update the value of configuration setting \u0027audit_map_file\u0027 to set its location::"},{"line_number":2117,"context_line":""},{"line_number":2118,"context_line":"    [DEFAULT]"},{"line_number":2119,"context_line":"    ..."},{"line_number":2120,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":2121,"context_line":""}],"source_content_type":"text/x-rst","patch_set":36,"id":"5a18252c_7d0d708f","line":2118,"range":{"start_line":2118,"start_character":5,"end_line":2118,"end_character":12},"updated":"2016-04-14 00:17:08.000000000","message":"should be audit","commit_id":"e70b006039cbb376776e9f71f8a2fa0fd7f00ebc"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"454c922bb20d608196ff69e9d28545f2aafef0f8","unresolved":false,"context_lines":[{"line_number":2115,"context_line":"#. To properly audit API requests, the audit middleware requires the audit_map_file setting"},{"line_number":2116,"context_line":"   to be defined. Update the value of configuration setting \u0027audit_map_file\u0027 to set its location::"},{"line_number":2117,"context_line":""},{"line_number":2118,"context_line":"    [DEFAULT]"},{"line_number":2119,"context_line":"    ..."},{"line_number":2120,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":2121,"context_line":""}],"source_content_type":"text/x-rst","patch_set":36,"id":"5a18252c_5d4fc66a","line":2118,"range":{"start_line":2118,"start_character":5,"end_line":2118,"end_character":12},"in_reply_to":"5a18252c_7d0d708f","updated":"2016-04-14 08:51:48.000000000","message":"Done","commit_id":"e70b006039cbb376776e9f71f8a2fa0fd7f00ebc"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"0df9572142923a673700988ba4262b26f3b90fbf","unresolved":false,"context_lines":[{"line_number":2124,"context_line":""},{"line_number":2125,"context_line":"#. Option to set HTTP_X_SERVICE_NAME environ variable.::"},{"line_number":2126,"context_line":""},{"line_number":2127,"context_line":"    [DEFAULT]"},{"line_number":2128,"context_line":"    ..."},{"line_number":2129,"context_line":"    service_name\u003dironic"},{"line_number":2130,"context_line":""}],"source_content_type":"text/x-rst","patch_set":36,"id":"5a18252c_5d1074a8","line":2127,"range":{"start_line":2127,"start_character":5,"end_line":2127,"end_character":12},"updated":"2016-04-14 00:17:08.000000000","message":"should be audit","commit_id":"e70b006039cbb376776e9f71f8a2fa0fd7f00ebc"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"454c922bb20d608196ff69e9d28545f2aafef0f8","unresolved":false,"context_lines":[{"line_number":2124,"context_line":""},{"line_number":2125,"context_line":"#. Option to set HTTP_X_SERVICE_NAME environ variable.::"},{"line_number":2126,"context_line":""},{"line_number":2127,"context_line":"    [DEFAULT]"},{"line_number":2128,"context_line":"    ..."},{"line_number":2129,"context_line":"    service_name\u003dironic"},{"line_number":2130,"context_line":""}],"source_content_type":"text/x-rst","patch_set":36,"id":"5a18252c_3d548afd","line":2127,"range":{"start_line":2127,"start_character":5,"end_line":2127,"end_character":12},"in_reply_to":"5a18252c_5d1074a8","updated":"2016-04-14 08:51:48.000000000","message":"Done","commit_id":"e70b006039cbb376776e9f71f8a2fa0fd7f00ebc"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"0df9572142923a673700988ba4262b26f3b90fbf","unresolved":false,"context_lines":[{"line_number":2130,"context_line":""},{"line_number":2131,"context_line":"#. Comma separated list of Ironic API requests to be ignored during audit. Ex: HEAD,OPTIONS.::"},{"line_number":2132,"context_line":""},{"line_number":2133,"context_line":"    [DEFAULT]"},{"line_number":2134,"context_line":"    ..."},{"line_number":2135,"context_line":"    ignore_req_list\u003dHEAD,OPTIONS"},{"line_number":2136,"context_line":""}],"source_content_type":"text/x-rst","patch_set":36,"id":"5a18252c_9d220c00","line":2133,"range":{"start_line":2133,"start_character":5,"end_line":2133,"end_character":12},"updated":"2016-04-14 00:17:08.000000000","message":"should be audit","commit_id":"e70b006039cbb376776e9f71f8a2fa0fd7f00ebc"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"454c922bb20d608196ff69e9d28545f2aafef0f8","unresolved":false,"context_lines":[{"line_number":2130,"context_line":""},{"line_number":2131,"context_line":"#. Comma separated list of Ironic API requests to be ignored during audit. Ex: HEAD,OPTIONS.::"},{"line_number":2132,"context_line":""},{"line_number":2133,"context_line":"    [DEFAULT]"},{"line_number":2134,"context_line":"    ..."},{"line_number":2135,"context_line":"    ignore_req_list\u003dHEAD,OPTIONS"},{"line_number":2136,"context_line":""}],"source_content_type":"text/x-rst","patch_set":36,"id":"5a18252c_9d55defb","line":2133,"range":{"start_line":2133,"start_character":5,"end_line":2133,"end_character":12},"in_reply_to":"5a18252c_9d220c00","updated":"2016-04-14 08:51:48.000000000","message":"Done","commit_id":"e70b006039cbb376776e9f71f8a2fa0fd7f00ebc"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"934d0a0a6a11ba90c46a36eb73d69383b65a07d4","unresolved":false,"context_lines":[{"line_number":2122,"context_line":"Audit map file configuration options for Ironic are included in the"},{"line_number":2123,"context_line":"etc/ironic/ironic_api_audit_map.conf.sample file."},{"line_number":2124,"context_line":""},{"line_number":2125,"context_line":"#. Option to set HTTP_X_SERVICE_NAME environ variable.::"},{"line_number":2126,"context_line":""},{"line_number":2127,"context_line":"    [audit]"},{"line_number":2128,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":37,"id":"5a18252c_e17b7b26","line":2125,"range":{"start_line":2125,"start_character":3,"end_line":2125,"end_character":53},"updated":"2016-04-14 13:04:09.000000000","message":"Ruby raised the question of what is this earlier.\n\nIt seems like it is absolutely not an environment variable that is really used, and while it is in the keystonemiddleware example config, it is is wired in only one place and as far as I\u0027ve found thus far, and never used again as far as I can tell.\n\nhttps://github.com/openstack/keystonemiddleware/blob/master/keystonemiddleware/audit.py#L341\n\nTruthfully, it feels like it might be something we want to hardcode, or just state that it is the service name variable and not confuse the operators with something about an environment variable.  The only place that I can see this being used is at https://github.com/openstack/keystonemiddleware/blob/master/keystonemiddleware/audit.py#L351_ however it is set to os.path.basename(sys.argv[0])....","commit_id":"bf3a711e0b6c1e9cc80fb98b0982f8dea6c5b8b7"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"e28db8b65d8d88cb9403112cda0f77c9b6e69d2a","unresolved":false,"context_lines":[{"line_number":2122,"context_line":"Audit map file configuration options for Ironic are included in the"},{"line_number":2123,"context_line":"etc/ironic/ironic_api_audit_map.conf.sample file."},{"line_number":2124,"context_line":""},{"line_number":2125,"context_line":"#. Option to set HTTP_X_SERVICE_NAME environ variable.::"},{"line_number":2126,"context_line":""},{"line_number":2127,"context_line":"    [audit]"},{"line_number":2128,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":37,"id":"5a18252c_e1ea4d73","line":2125,"range":{"start_line":2125,"start_character":3,"end_line":2125,"end_character":53},"in_reply_to":"5a18252c_e17b7b26","updated":"2016-04-14 16:08:00.000000000","message":"It is additional option as per doc (http://docs.openstack.org/developer/keystonemiddleware/audit.html). This option doesnt makes sense as per code. This need not be given as option to user. If this option is further improved or found useful to user we can go ahead add it later on. As of now i feel we can remove this option. Let us know your opinion.","commit_id":"bf3a711e0b6c1e9cc80fb98b0982f8dea6c5b8b7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"34b4e6e927e3ee3b1050e2fa3c7a3ff6e2ce3d40","unresolved":false,"context_lines":[{"line_number":2122,"context_line":"Audit map file configuration options for Ironic are included in the"},{"line_number":2123,"context_line":"etc/ironic/ironic_api_audit_map.conf.sample file."},{"line_number":2124,"context_line":""},{"line_number":2125,"context_line":"#. Option to set HTTP_X_SERVICE_NAME environ variable.::"},{"line_number":2126,"context_line":""},{"line_number":2127,"context_line":"    [audit]"},{"line_number":2128,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":37,"id":"5a18252c_e3f4075c","line":2125,"range":{"start_line":2125,"start_character":3,"end_line":2125,"end_character":53},"in_reply_to":"5a18252c_e1ea4d73","updated":"2016-04-14 19:40:41.000000000","message":"I kind of think dropping it completely is the way to go.  Only one example even references that setting, and it just looks like a unused setting to me digging through the code.","commit_id":"bf3a711e0b6c1e9cc80fb98b0982f8dea6c5b8b7"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"d9f892a2d3a4f171cb36ded4f305019d319a01f6","unresolved":false,"context_lines":[{"line_number":2122,"context_line":"Audit map file configuration options for Ironic are included in the"},{"line_number":2123,"context_line":"etc/ironic/ironic_api_audit_map.conf.sample file."},{"line_number":2124,"context_line":""},{"line_number":2125,"context_line":"#. Option to set HTTP_X_SERVICE_NAME environ variable.::"},{"line_number":2126,"context_line":""},{"line_number":2127,"context_line":"    [audit]"},{"line_number":2128,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":37,"id":"5a18252c_7679d7c7","line":2125,"range":{"start_line":2125,"start_character":3,"end_line":2125,"end_character":53},"in_reply_to":"5a18252c_e3f4075c","updated":"2016-04-14 20:09:29.000000000","message":"+1. Please remove it. It can be added when/if someone needs it.","commit_id":"bf3a711e0b6c1e9cc80fb98b0982f8dea6c5b8b7"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"c13e18347dd0ff604005fcfff938f7db048ba0a6","unresolved":false,"context_lines":[{"line_number":2028,"context_line":""},{"line_number":2029,"context_line":"Auditing can be enabled for ironic by making the following changes to ``/etc/ironic/ironic.conf``."},{"line_number":2030,"context_line":"Infomation about the audit middleware is available `here"},{"line_number":2031,"context_line":"\u003chttp://docs.openstack.org/developer/keystonemiddleware/audit.html\u003e`_"},{"line_number":2032,"context_line":""},{"line_number":2033,"context_line":"#. To enable usage of audit middleware to log audit events::"},{"line_number":2034,"context_line":""}],"source_content_type":"text/x-rst","patch_set":45,"id":"7aa08908_bc5f580d","line":2031,"updated":"2016-06-06 04:58:45.000000000","message":"nit1: no dot in the end of the sentence. nit2: I would swap these 2 sentences.","commit_id":"53791e85c9260bfc42dc655b247a9ad3fc3b7e14"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"ccf49d08244aa355d1f8adf29147a5c0df4ec041","unresolved":false,"context_lines":[{"line_number":2028,"context_line":""},{"line_number":2029,"context_line":"Auditing can be enabled for ironic by making the following changes to ``/etc/ironic/ironic.conf``."},{"line_number":2030,"context_line":"Infomation about the audit middleware is available `here"},{"line_number":2031,"context_line":"\u003chttp://docs.openstack.org/developer/keystonemiddleware/audit.html\u003e`_"},{"line_number":2032,"context_line":""},{"line_number":2033,"context_line":"#. To enable usage of audit middleware to log audit events::"},{"line_number":2034,"context_line":""}],"source_content_type":"text/x-rst","patch_set":45,"id":"7aa08908_98a54106","line":2031,"in_reply_to":"7aa08908_bc5f580d","updated":"2016-06-06 08:32:36.000000000","message":"Done","commit_id":"53791e85c9260bfc42dc655b247a9ad3fc3b7e14"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e46dc50b81dde71c92df3ebdbcf2c5d2c82d5115","unresolved":false,"context_lines":[{"line_number":2026,"context_line":"Enabling API Audit Logging"},{"line_number":2027,"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"},{"line_number":2028,"context_line":""},{"line_number":2029,"context_line":"Infomation about the audit middleware is available `here"},{"line_number":2030,"context_line":"\u003chttp://docs.openstack.org/developer/keystonemiddleware/audit.html\u003e`_"},{"line_number":2031,"context_line":"Auditing can be enabled for ironic by making the following changes to ``/etc/ironic/ironic.conf``"},{"line_number":2032,"context_line":""}],"source_content_type":"text/x-rst","patch_set":49,"id":"7aa08908_1d584d89","line":2029,"updated":"2016-06-15 01:20:45.000000000","message":"missing a period at the end of this sentence.","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"eabb5fc2c2817f8fa95ce152e18e34a150fb3f85","unresolved":false,"context_lines":[{"line_number":2026,"context_line":"Enabling API Audit Logging"},{"line_number":2027,"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"},{"line_number":2028,"context_line":""},{"line_number":2029,"context_line":"Infomation about the audit middleware is available `here"},{"line_number":2030,"context_line":"\u003chttp://docs.openstack.org/developer/keystonemiddleware/audit.html\u003e`_"},{"line_number":2031,"context_line":"Auditing can be enabled for ironic by making the following changes to ``/etc/ironic/ironic.conf``"},{"line_number":2032,"context_line":""}],"source_content_type":"text/x-rst","patch_set":49,"id":"7aa08908_191dfa0e","line":2029,"in_reply_to":"7aa08908_1d584d89","updated":"2016-06-15 06:45:45.000000000","message":"Done","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e46dc50b81dde71c92df3ebdbcf2c5d2c82d5115","unresolved":false,"context_lines":[{"line_number":2027,"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"},{"line_number":2028,"context_line":""},{"line_number":2029,"context_line":"Infomation about the audit middleware is available `here"},{"line_number":2030,"context_line":"\u003chttp://docs.openstack.org/developer/keystonemiddleware/audit.html\u003e`_"},{"line_number":2031,"context_line":"Auditing can be enabled for ironic by making the following changes to ``/etc/ironic/ironic.conf``"},{"line_number":2032,"context_line":""},{"line_number":2033,"context_line":"#. To enable usage of audit middleware to log audit events::"}],"source_content_type":"text/x-rst","patch_set":49,"id":"7aa08908_7d47d1a2","line":2030,"updated":"2016-06-15 01:20:45.000000000","message":"Isn\u0027t there a document for operators about this? This is for developers. Maybe it is better than nothing; not sure...","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"eabb5fc2c2817f8fa95ce152e18e34a150fb3f85","unresolved":false,"context_lines":[{"line_number":2027,"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"},{"line_number":2028,"context_line":""},{"line_number":2029,"context_line":"Infomation about the audit middleware is available `here"},{"line_number":2030,"context_line":"\u003chttp://docs.openstack.org/developer/keystonemiddleware/audit.html\u003e`_"},{"line_number":2031,"context_line":"Auditing can be enabled for ironic by making the following changes to ``/etc/ironic/ironic.conf``"},{"line_number":2032,"context_line":""},{"line_number":2033,"context_line":"#. To enable usage of audit middleware to log audit events::"}],"source_content_type":"text/x-rst","patch_set":49,"id":"7aa08908_19acdaeb","line":2030,"in_reply_to":"7aa08908_7d47d1a2","updated":"2016-06-15 06:45:45.000000000","message":"There is no documentation for operators available as of now. if it is added we can put up that here later.","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e46dc50b81dde71c92df3ebdbcf2c5d2c82d5115","unresolved":false,"context_lines":[{"line_number":2028,"context_line":""},{"line_number":2029,"context_line":"Infomation about the audit middleware is available `here"},{"line_number":2030,"context_line":"\u003chttp://docs.openstack.org/developer/keystonemiddleware/audit.html\u003e`_"},{"line_number":2031,"context_line":"Auditing can be enabled for ironic by making the following changes to ``/etc/ironic/ironic.conf``"},{"line_number":2032,"context_line":""},{"line_number":2033,"context_line":"#. To enable usage of audit middleware to log audit events::"},{"line_number":2034,"context_line":""}],"source_content_type":"text/x-rst","patch_set":49,"id":"7aa08908_bdcbf91c","line":2031,"updated":"2016-06-15 01:20:45.000000000","message":"s/ironic/the Bare Metal service/\n\nMaybe a \u0027:\u0027 at the end of this.","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"eabb5fc2c2817f8fa95ce152e18e34a150fb3f85","unresolved":false,"context_lines":[{"line_number":2028,"context_line":""},{"line_number":2029,"context_line":"Infomation about the audit middleware is available `here"},{"line_number":2030,"context_line":"\u003chttp://docs.openstack.org/developer/keystonemiddleware/audit.html\u003e`_"},{"line_number":2031,"context_line":"Auditing can be enabled for ironic by making the following changes to ``/etc/ironic/ironic.conf``"},{"line_number":2032,"context_line":""},{"line_number":2033,"context_line":"#. To enable usage of audit middleware to log audit events::"},{"line_number":2034,"context_line":""}],"source_content_type":"text/x-rst","patch_set":49,"id":"7aa08908_99628aab","line":2031,"in_reply_to":"7aa08908_bdcbf91c","updated":"2016-06-15 06:45:45.000000000","message":"Done","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e46dc50b81dde71c92df3ebdbcf2c5d2c82d5115","unresolved":false,"context_lines":[{"line_number":2036,"context_line":"    ..."},{"line_number":2037,"context_line":"    enabled\u003dtrue"},{"line_number":2038,"context_line":""},{"line_number":2039,"context_line":"#. To properly audit API requests, the audit middleware requires the audit_map_file setting"},{"line_number":2040,"context_line":"   to be defined. Update the value of configuration setting \u0027audit_map_file\u0027 to set its location::"},{"line_number":2041,"context_line":""},{"line_number":2042,"context_line":"    [audit]"}],"source_content_type":"text/x-rst","patch_set":49,"id":"7aa08908_1de68daf","line":2039,"updated":"2016-06-15 01:20:45.000000000","message":"what is an \u0027audit map file\u0027? How is the user supposed to know what to specify for this?","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"eabb5fc2c2817f8fa95ce152e18e34a150fb3f85","unresolved":false,"context_lines":[{"line_number":2036,"context_line":"    ..."},{"line_number":2037,"context_line":"    enabled\u003dtrue"},{"line_number":2038,"context_line":""},{"line_number":2039,"context_line":"#. To properly audit API requests, the audit middleware requires the audit_map_file setting"},{"line_number":2040,"context_line":"   to be defined. Update the value of configuration setting \u0027audit_map_file\u0027 to set its location::"},{"line_number":2041,"context_line":""},{"line_number":2042,"context_line":"    [audit]"}],"source_content_type":"text/x-rst","patch_set":49,"id":"7aa08908_f93e2e89","line":2039,"in_reply_to":"7aa08908_1de68daf","updated":"2016-06-15 06:45:45.000000000","message":"That file is added in etc/ironic/ironic_api_audit_map.conf. It is also added in pycadf repo (https://github.com/openstack/pycadf/tree/master/etc/pycadf) Link to this was asked to remove from doc in previous patchset as it is available locally in ironic repo.\n\nUser can go through the sample file in ironic repo or in pycadf repo. There is no doc available from pycadf regarding audit map file.","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e46dc50b81dde71c92df3ebdbcf2c5d2c82d5115","unresolved":false,"context_lines":[{"line_number":2043,"context_line":"    ..."},{"line_number":2044,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":2045,"context_line":""},{"line_number":2046,"context_line":"Audit map file configuration options for Ironic are included in the"},{"line_number":2047,"context_line":"etc/ironic/ironic_api_audit_map.conf.sample file."},{"line_number":2048,"context_line":""},{"line_number":2049,"context_line":"#. Comma separated list of Ironic API requests to be ignored during audit. Ex: HEAD,OPTIONS.::"}],"source_content_type":"text/x-rst","patch_set":49,"id":"7aa08908_bdc019e1","line":2046,"updated":"2016-06-15 01:20:45.000000000","message":"s/Ironic/the Bare Metal service/","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"eabb5fc2c2817f8fa95ce152e18e34a150fb3f85","unresolved":false,"context_lines":[{"line_number":2043,"context_line":"    ..."},{"line_number":2044,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":2045,"context_line":""},{"line_number":2046,"context_line":"Audit map file configuration options for Ironic are included in the"},{"line_number":2047,"context_line":"etc/ironic/ironic_api_audit_map.conf.sample file."},{"line_number":2048,"context_line":""},{"line_number":2049,"context_line":"#. Comma separated list of Ironic API requests to be ignored during audit. Ex: HEAD,OPTIONS.::"}],"source_content_type":"text/x-rst","patch_set":49,"id":"7aa08908_b95f86e3","line":2046,"in_reply_to":"7aa08908_bdc019e1","updated":"2016-06-15 06:45:45.000000000","message":"Done","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e46dc50b81dde71c92df3ebdbcf2c5d2c82d5115","unresolved":false,"context_lines":[{"line_number":2046,"context_line":"Audit map file configuration options for Ironic are included in the"},{"line_number":2047,"context_line":"etc/ironic/ironic_api_audit_map.conf.sample file."},{"line_number":2048,"context_line":""},{"line_number":2049,"context_line":"#. Comma separated list of Ironic API requests to be ignored during audit. Ex: HEAD,OPTIONS.::"},{"line_number":2050,"context_line":""},{"line_number":2051,"context_line":"    [audit]"},{"line_number":2052,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":49,"id":"7aa08908_bd4e5993","line":2049,"updated":"2016-06-15 01:20:45.000000000","message":"this renders as \u00271. Comma separated ...\u0027. Did you want that? there is only #1...\n\ns/Comma separated/Comma-separated/\n\nI don\u0027t know if this is clear. I think you mean s/requests/HTTP methods/ ? well, that isn\u0027t quite right either. But HEAD, OPTIONS aren\u0027t the requests, they are HTTP methods or verbs.","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"eabb5fc2c2817f8fa95ce152e18e34a150fb3f85","unresolved":false,"context_lines":[{"line_number":2046,"context_line":"Audit map file configuration options for Ironic are included in the"},{"line_number":2047,"context_line":"etc/ironic/ironic_api_audit_map.conf.sample file."},{"line_number":2048,"context_line":""},{"line_number":2049,"context_line":"#. Comma separated list of Ironic API requests to be ignored during audit. Ex: HEAD,OPTIONS.::"},{"line_number":2050,"context_line":""},{"line_number":2051,"context_line":"    [audit]"},{"line_number":2052,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":49,"id":"7aa08908_79751ef8","line":2049,"in_reply_to":"7aa08908_bd4e5993","updated":"2016-06-15 06:45:45.000000000","message":"it was GET,POST in previous patchset putting back same directly from audit doc. \nhttp://docs.openstack.org/developer/keystonemiddleware/audit.html\nMoreover it is an additional option.","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"02a7ab3296e1321289a059c317339a60d27131da","unresolved":false,"context_lines":[{"line_number":2023,"context_line":"    Debian/Ubuntu:"},{"line_number":2024,"context_line":"        sudo service ironic-conductor restart"},{"line_number":2025,"context_line":""},{"line_number":2026,"context_line":"Enabling API Audit Logging"},{"line_number":2027,"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"},{"line_number":2028,"context_line":""},{"line_number":2029,"context_line":"Infomation about the audit middleware is available `here."}],"source_content_type":"text/x-rst","patch_set":52,"id":"7aa08908_e7f77cd2","line":2026,"updated":"2016-06-15 19:31:16.000000000","message":"so where do things get logged?","commit_id":"6c0c0e42ff5d57387e5477542ab1db399960ae39"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"1caca808a757a272cdf01662ad8bf4e61aadc0d4","unresolved":false,"context_lines":[{"line_number":2023,"context_line":"    Debian/Ubuntu:"},{"line_number":2024,"context_line":"        sudo service ironic-conductor restart"},{"line_number":2025,"context_line":""},{"line_number":2026,"context_line":"Enabling API Audit Logging"},{"line_number":2027,"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"},{"line_number":2028,"context_line":""},{"line_number":2029,"context_line":"Infomation about the audit middleware is available `here."}],"source_content_type":"text/x-rst","patch_set":52,"id":"7aa08908_d2ac998e","line":2026,"in_reply_to":"7aa08908_513439fa","updated":"2016-06-16 13:27:18.000000000","message":"I don\u0027t see any of this information documented. How is the user meant to know this? And how does the user configure a separate logger for it?","commit_id":"6c0c0e42ff5d57387e5477542ab1db399960ae39"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"ce7814fc99daf7ad148234737b930cd3e8965b12","unresolved":false,"context_lines":[{"line_number":2023,"context_line":"    Debian/Ubuntu:"},{"line_number":2024,"context_line":"        sudo service ironic-conductor restart"},{"line_number":2025,"context_line":""},{"line_number":2026,"context_line":"Enabling API Audit Logging"},{"line_number":2027,"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"},{"line_number":2028,"context_line":""},{"line_number":2029,"context_line":"Infomation about the audit middleware is available `here."}],"source_content_type":"text/x-rst","patch_set":52,"id":"7aa08908_513439fa","line":2026,"in_reply_to":"7aa08908_e7f77cd2","updated":"2016-06-16 09:06:18.000000000","message":"it will logged in INFO mode inside ironic-api log. user can configure separate logger for it. If notification_driver is log and no logger configured for audit it will log in ironic-api log.","commit_id":"6c0c0e42ff5d57387e5477542ab1db399960ae39"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"02a7ab3296e1321289a059c317339a60d27131da","unresolved":false,"context_lines":[{"line_number":2026,"context_line":"Enabling API Audit Logging"},{"line_number":2027,"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"},{"line_number":2028,"context_line":""},{"line_number":2029,"context_line":"Infomation about the audit middleware is available `here."},{"line_number":2030,"context_line":"\u003chttp://docs.openstack.org/developer/keystonemiddleware/audit.html\u003e`_"},{"line_number":2031,"context_line":"Auditing can be enabled for the Bare Metal service by making the following changes"},{"line_number":2032,"context_line":"to ``/etc/ironic/ironic.conf``."}],"source_content_type":"text/x-rst","patch_set":52,"id":"7aa08908_e7cc9c8c","line":2029,"updated":"2016-06-15 19:31:16.000000000","message":"I was thinking about this. The install doc is geared towards operators, not developers. Do they care about audit \u0027middleware\u0027?","commit_id":"6c0c0e42ff5d57387e5477542ab1db399960ae39"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"02a7ab3296e1321289a059c317339a60d27131da","unresolved":false,"context_lines":[{"line_number":2027,"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"},{"line_number":2028,"context_line":""},{"line_number":2029,"context_line":"Infomation about the audit middleware is available `here."},{"line_number":2030,"context_line":"\u003chttp://docs.openstack.org/developer/keystonemiddleware/audit.html\u003e`_"},{"line_number":2031,"context_line":"Auditing can be enabled for the Bare Metal service by making the following changes"},{"line_number":2032,"context_line":"to ``/etc/ironic/ironic.conf``."},{"line_number":2033,"context_line":""}],"source_content_type":"text/x-rst","patch_set":52,"id":"7aa08908_2754e4c8","line":2030,"updated":"2016-06-15 19:31:16.000000000","message":"I took a look at this documentation. I don\u0027t think you should include it. We aren\u0027t enabling the audit via an eg api-paste.ini file, and most of that page describes enabling/configuring audit that is different from how it is enabled/configured in your patch here.\n\nOr am I wrong? What in that doc do you think is useful for operators to know?","commit_id":"6c0c0e42ff5d57387e5477542ab1db399960ae39"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"ce7814fc99daf7ad148234737b930cd3e8965b12","unresolved":false,"context_lines":[{"line_number":2027,"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"},{"line_number":2028,"context_line":""},{"line_number":2029,"context_line":"Infomation about the audit middleware is available `here."},{"line_number":2030,"context_line":"\u003chttp://docs.openstack.org/developer/keystonemiddleware/audit.html\u003e`_"},{"line_number":2031,"context_line":"Auditing can be enabled for the Bare Metal service by making the following changes"},{"line_number":2032,"context_line":"to ``/etc/ironic/ironic.conf``."},{"line_number":2033,"context_line":""}],"source_content_type":"text/x-rst","patch_set":52,"id":"7aa08908_46763a40","line":2030,"in_reply_to":"7aa08908_2754e4c8","updated":"2016-06-16 09:06:18.000000000","message":"I dont think there is any other doc available but this explains how auditing works and atleast block diagram is useful for user to understand what it is.","commit_id":"6c0c0e42ff5d57387e5477542ab1db399960ae39"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"1caca808a757a272cdf01662ad8bf4e61aadc0d4","unresolved":false,"context_lines":[{"line_number":2027,"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"},{"line_number":2028,"context_line":""},{"line_number":2029,"context_line":"Infomation about the audit middleware is available `here."},{"line_number":2030,"context_line":"\u003chttp://docs.openstack.org/developer/keystonemiddleware/audit.html\u003e`_"},{"line_number":2031,"context_line":"Auditing can be enabled for the Bare Metal service by making the following changes"},{"line_number":2032,"context_line":"to ``/etc/ironic/ironic.conf``."},{"line_number":2033,"context_line":""}],"source_content_type":"text/x-rst","patch_set":52,"id":"7aa08908_1203c177","line":2030,"in_reply_to":"7aa08908_46763a40","updated":"2016-06-16 13:27:18.000000000","message":"I\u0027m not convinced that the block diagram is useful for the end user.","commit_id":"6c0c0e42ff5d57387e5477542ab1db399960ae39"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"02a7ab3296e1321289a059c317339a60d27131da","unresolved":false,"context_lines":[{"line_number":2031,"context_line":"Auditing can be enabled for the Bare Metal service by making the following changes"},{"line_number":2032,"context_line":"to ``/etc/ironic/ironic.conf``."},{"line_number":2033,"context_line":""},{"line_number":2034,"context_line":"#. To enable usage of audit middleware to log audit events::"},{"line_number":2035,"context_line":""},{"line_number":2036,"context_line":"    [audit]"},{"line_number":2037,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":52,"id":"7aa08908_a7a9f492","line":2034,"updated":"2016-06-15 19:31:16.000000000","message":"maybe \u0027To enable auditing of API requests\u0027 ?","commit_id":"6c0c0e42ff5d57387e5477542ab1db399960ae39"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"ce7814fc99daf7ad148234737b930cd3e8965b12","unresolved":false,"context_lines":[{"line_number":2031,"context_line":"Auditing can be enabled for the Bare Metal service by making the following changes"},{"line_number":2032,"context_line":"to ``/etc/ironic/ironic.conf``."},{"line_number":2033,"context_line":""},{"line_number":2034,"context_line":"#. To enable usage of audit middleware to log audit events::"},{"line_number":2035,"context_line":""},{"line_number":2036,"context_line":"    [audit]"},{"line_number":2037,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":52,"id":"7aa08908_26fdee6e","line":2034,"in_reply_to":"7aa08908_a7a9f492","updated":"2016-06-16 09:06:18.000000000","message":"Done","commit_id":"6c0c0e42ff5d57387e5477542ab1db399960ae39"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"02a7ab3296e1321289a059c317339a60d27131da","unresolved":false,"context_lines":[{"line_number":2037,"context_line":"    ..."},{"line_number":2038,"context_line":"    enabled\u003dtrue"},{"line_number":2039,"context_line":""},{"line_number":2040,"context_line":"#. To properly audit API requests, the audit middleware requires the audit_map_file setting"},{"line_number":2041,"context_line":"   to be defined. Update the value of configuration setting \u0027audit_map_file\u0027 to set its location::"},{"line_number":2042,"context_line":""},{"line_number":2043,"context_line":"    [audit]"}],"source_content_type":"text/x-rst","patch_set":52,"id":"7aa08908_472e50fb","line":2040,"updated":"2016-06-15 19:31:16.000000000","message":"I think I would reverse the order of this. Eg:\n\nIn order to audit the API requests, an audit map file is needed. This file contains configuration options for the auditing; a sample is included in etc/ironic/ironic_api_audit_map_config.sample.\n\nUpdate the value of the configuration option \u0027[audit]audit_map_file\u0027 to specify the location of this file:...","commit_id":"6c0c0e42ff5d57387e5477542ab1db399960ae39"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"ce7814fc99daf7ad148234737b930cd3e8965b12","unresolved":false,"context_lines":[{"line_number":2037,"context_line":"    ..."},{"line_number":2038,"context_line":"    enabled\u003dtrue"},{"line_number":2039,"context_line":""},{"line_number":2040,"context_line":"#. To properly audit API requests, the audit middleware requires the audit_map_file setting"},{"line_number":2041,"context_line":"   to be defined. Update the value of configuration setting \u0027audit_map_file\u0027 to set its location::"},{"line_number":2042,"context_line":""},{"line_number":2043,"context_line":"    [audit]"}],"source_content_type":"text/x-rst","patch_set":52,"id":"7aa08908_a61f1eb6","line":2040,"in_reply_to":"7aa08908_472e50fb","updated":"2016-06-16 09:06:18.000000000","message":"I will fix the doc issues in follow up patch.","commit_id":"6c0c0e42ff5d57387e5477542ab1db399960ae39"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"02a7ab3296e1321289a059c317339a60d27131da","unresolved":false,"context_lines":[{"line_number":2045,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":2046,"context_line":""},{"line_number":2047,"context_line":"Audit map file configuration options for the Bare Metal service are included in the"},{"line_number":2048,"context_line":"etc/ironic/ironic_api_audit_map.conf.sample file."},{"line_number":2049,"context_line":""},{"line_number":2050,"context_line":"#. Comma separated list of Ironic API requests to be ignored during audit. Ex: GET,POST.::"},{"line_number":2051,"context_line":""}],"source_content_type":"text/x-rst","patch_set":52,"id":"7aa08908_e752dc67","line":2048,"updated":"2016-06-15 19:31:16.000000000","message":"Ok, the rendering (for the following lines) is wrong because the two lines here should be indented.","commit_id":"6c0c0e42ff5d57387e5477542ab1db399960ae39"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"02a7ab3296e1321289a059c317339a60d27131da","unresolved":false,"context_lines":[{"line_number":2047,"context_line":"Audit map file configuration options for the Bare Metal service are included in the"},{"line_number":2048,"context_line":"etc/ironic/ironic_api_audit_map.conf.sample file."},{"line_number":2049,"context_line":""},{"line_number":2050,"context_line":"#. Comma separated list of Ironic API requests to be ignored during audit. Ex: GET,POST.::"},{"line_number":2051,"context_line":""},{"line_number":2052,"context_line":"    [audit]"},{"line_number":2053,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":52,"id":"7aa08908_c72080b3","line":2050,"updated":"2016-06-15 19:31:16.000000000","message":"maybe \u0027Optionally, if auditing of certain API requests are desired, the HTTP methods to be ignored can be specified via the [audit] ignore_req_list configuration option. The value is a comma-separated list of HTTP methods (for example, \u0027GET,POST\u0027) that will be ignored::\u0027\n\nHmm. I actually question whether we even want to document this. The install guide is meant to get people up and running and by default I don\u0027t think users would want to set this.\n\nI think this should be deleted.","commit_id":"6c0c0e42ff5d57387e5477542ab1db399960ae39"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"ce7814fc99daf7ad148234737b930cd3e8965b12","unresolved":false,"context_lines":[{"line_number":2047,"context_line":"Audit map file configuration options for the Bare Metal service are included in the"},{"line_number":2048,"context_line":"etc/ironic/ironic_api_audit_map.conf.sample file."},{"line_number":2049,"context_line":""},{"line_number":2050,"context_line":"#. Comma separated list of Ironic API requests to be ignored during audit. Ex: GET,POST.::"},{"line_number":2051,"context_line":""},{"line_number":2052,"context_line":"    [audit]"},{"line_number":2053,"context_line":"    ..."}],"source_content_type":"text/x-rst","patch_set":52,"id":"7aa08908_6653766d","line":2050,"in_reply_to":"7aa08908_c72080b3","updated":"2016-06-16 09:06:18.000000000","message":"Done","commit_id":"6c0c0e42ff5d57387e5477542ab1db399960ae39"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"7cda78d9c57313fb64764a79fcf757cd5231f3aa","unresolved":false,"context_lines":[{"line_number":2046,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":2047,"context_line":""},{"line_number":2048,"context_line":"Audit map file configuration options for the Bare Metal service are included in the"},{"line_number":2049,"context_line":"etc/ironic/ironic_api_audit_map.conf.sample file."},{"line_number":2050,"context_line":""},{"line_number":2051,"context_line":"Using Bare Metal service as a standalone service"},{"line_number":2052,"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\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":53,"id":"7aa08908_b2710d0f","line":2049,"updated":"2016-06-16 13:28:43.000000000","message":"I think you should indent the above two lines.","commit_id":"a24ef24eea929d2b35a788bd0ad715be82bd7572"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"0ec23eaf4fec5473ba0b18a08227dee7bf615780","unresolved":false,"context_lines":[{"line_number":2046,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":2047,"context_line":""},{"line_number":2048,"context_line":"Audit map file configuration options for the Bare Metal service are included in the"},{"line_number":2049,"context_line":"etc/ironic/ironic_api_audit_map.conf.sample file."},{"line_number":2050,"context_line":""},{"line_number":2051,"context_line":"Using Bare Metal service as a standalone service"},{"line_number":2052,"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\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":53,"id":"7aa08908_7162eb17","line":2049,"in_reply_to":"7aa08908_b2710d0f","updated":"2016-06-16 20:57:05.000000000","message":"Done. added a NOTE flag too.","commit_id":"a24ef24eea929d2b35a788bd0ad715be82bd7572"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"ca7f3a2421c984aebaf6ebb5b2ded1d72e9226b4","unresolved":false,"context_lines":[{"line_number":2038,"context_line":"    ..."},{"line_number":2039,"context_line":"    audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":2040,"context_line":""},{"line_number":2041,"context_line":".. note::"},{"line_number":2042,"context_line":"  Audit map file configuration options for the Bare Metal service are included in the"},{"line_number":2043,"context_line":"  etc/ironic/ironic_api_audit_map.conf.sample file."},{"line_number":2044,"context_line":""},{"line_number":2045,"context_line":"Using Bare Metal service as a standalone service"},{"line_number":2046,"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\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":55,"id":"7aa08908_6be75d12","line":2043,"range":{"start_line":2041,"start_character":0,"end_line":2043,"end_character":51},"updated":"2016-06-17 21:04:46.000000000","message":"I think the indentation is still off, a little bit. Thanks.\n\nAlso, I assume the filename is ironic_api_audit_map.conf\n\nnot\n\nironic_api_audit_map.conf.sample","commit_id":"481cf1aaa0d81aeb5195be0277f0825ab399e905"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"ca7f3a2421c984aebaf6ebb5b2ded1d72e9226b4","unresolved":false,"context_lines":[{"line_number":2230,"context_line":"When used with Compute service"},{"line_number":2231,"context_line":"------------------------------"},{"line_number":2232,"context_line":""},{"line_number":2233,"context_line":"To enable the configuration drive and passes user customized script when deploying an"},{"line_number":2234,"context_line":"instance, pass ``--config-drive true`` parameter and ``--user-data`` to the"},{"line_number":2235,"context_line":"``nova boot`` command, for example::"},{"line_number":2236,"context_line":""}],"source_content_type":"text/x-rst","patch_set":55,"id":"7aa08908_a84aebaa","line":2233,"range":{"start_line":2233,"start_character":38,"end_line":2233,"end_character":44},"updated":"2016-06-17 21:04:46.000000000","message":"s/passes/pass ?","commit_id":"481cf1aaa0d81aeb5195be0277f0825ab399e905"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"ca7f3a2421c984aebaf6ebb5b2ded1d72e9226b4","unresolved":false,"context_lines":[{"line_number":2236,"context_line":""},{"line_number":2237,"context_line":"    nova boot --config-drive true --flavor baremetal --image test-image --user-data ./my-script instance-1"},{"line_number":2238,"context_line":""},{"line_number":2239,"context_line":"Then ``my-script`` is accessible from the configuration drive and could be"},{"line_number":2240,"context_line":"performed automatically by cloud-init if it is integrated with the instance image."},{"line_number":2241,"context_line":""},{"line_number":2242,"context_line":"It\u0027s also possible to enable the configuration drive automatically on"}],"source_content_type":"text/x-rst","patch_set":55,"id":"7aa08908_c8f2d76e","line":2239,"range":{"start_line":2239,"start_character":0,"end_line":2239,"end_character":4},"updated":"2016-06-17 21:04:46.000000000","message":"s/Then/Then, ?","commit_id":"481cf1aaa0d81aeb5195be0277f0825ab399e905"}],"etc/ironic/ironic.conf.sample":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"7308537c9c82ec9bc9c959c27d410f8a0431303a","unresolved":false,"context_lines":[{"line_number":560,"context_line":""},{"line_number":561,"context_line":"# Enalbe audit middleware"},{"line_number":562,"context_line":"#enable_audit\u003dfalse"},{"line_number":563,"context_line":""},{"line_number":564,"context_line":"[audit]"},{"line_number":565,"context_line":""},{"line_number":566,"context_line":"#"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"7a5de9d1_78b014f5","line":563,"updated":"2016-01-28 10:20:05.000000000","message":"It\u0027s missing the audit_map_file configuration option created in Ironic here right?","commit_id":"5a502228d24ccdf88a244411a40b89b09205445f"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"ad9c6e51a1b6aaf37936a34c0bc53b11fa4a2acf","unresolved":false,"context_lines":[{"line_number":560,"context_line":""},{"line_number":561,"context_line":"# Enalbe audit middleware"},{"line_number":562,"context_line":"#enable_audit\u003dfalse"},{"line_number":563,"context_line":""},{"line_number":564,"context_line":"[audit]"},{"line_number":565,"context_line":""},{"line_number":566,"context_line":"#"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"7a5de9d1_94d3d703","line":563,"in_reply_to":"7a5de9d1_78b014f5","updated":"2016-02-01 07:03:05.000000000","message":"Done","commit_id":"5a502228d24ccdf88a244411a40b89b09205445f"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"7308537c9c82ec9bc9c959c27d410f8a0431303a","unresolved":false,"context_lines":[{"line_number":561,"context_line":"# Enalbe audit middleware"},{"line_number":562,"context_line":"#enable_audit\u003dfalse"},{"line_number":563,"context_line":""},{"line_number":564,"context_line":"[audit]"},{"line_number":565,"context_line":""},{"line_number":566,"context_line":"#"},{"line_number":567,"context_line":"# Options defined in keystonemiddleware.audit"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"7a5de9d1_d8c82877","line":564,"updated":"2016-01-28 10:20:05.000000000","message":"Was this file auto generated ? \n\nIt doesn\u0027t look like, we don\u0027t have this [audit] configuration group. To generate this file we use the following command:\n\n$ tox -egenconfig","commit_id":"5a502228d24ccdf88a244411a40b89b09205445f"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"ad9c6e51a1b6aaf37936a34c0bc53b11fa4a2acf","unresolved":false,"context_lines":[{"line_number":561,"context_line":"# Enalbe audit middleware"},{"line_number":562,"context_line":"#enable_audit\u003dfalse"},{"line_number":563,"context_line":""},{"line_number":564,"context_line":"[audit]"},{"line_number":565,"context_line":""},{"line_number":566,"context_line":"#"},{"line_number":567,"context_line":"# Options defined in keystonemiddleware.audit"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"7a5de9d1_14dfe70d","line":564,"in_reply_to":"7a5de9d1_d8c82877","updated":"2016-02-01 07:03:05.000000000","message":"Done","commit_id":"5a502228d24ccdf88a244411a40b89b09205445f"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"243530435ead530f110d42e744eae1fdf775a910","unresolved":false,"context_lines":[{"line_number":20,"context_line":"# value)"},{"line_number":21,"context_line":"#pecan_debug\u003dfalse"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"# Enable audit middleware. (boolean value)"},{"line_number":24,"context_line":"#enable_audit\u003dfalse"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# Audit middleware requires an api_audit_map.confto be"}],"source_content_type":"application/octet-stream","patch_set":11,"id":"5a5ae5dd_22b75b3b","line":23,"updated":"2016-02-05 18:34:53.000000000","message":"These description do not correspond to the ones in app.py, please update this file only with \"tox -egenconfig\".","commit_id":"e54d8eb705afa5c5fc4e6a657b7c1e3584a68e6a"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"d4d63ea60dfe1f8e0822fb885d0e6b4fd28f271e","unresolved":false,"context_lines":[{"line_number":20,"context_line":"# value)"},{"line_number":21,"context_line":"#pecan_debug\u003dfalse"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"# Enable audit middleware. (boolean value)"},{"line_number":24,"context_line":"#enable_audit\u003dfalse"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# Audit middleware requires an api_audit_map.confto be"}],"source_content_type":"application/octet-stream","patch_set":11,"id":"5a5ae5dd_44c13153","line":23,"in_reply_to":"5a5ae5dd_22b75b3b","updated":"2016-02-06 12:16:57.000000000","message":"+1","commit_id":"e54d8eb705afa5c5fc4e6a657b7c1e3584a68e6a"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"7eb00666cc3f8ed811b76f63c8b9ca0f5dff09d7","unresolved":false,"context_lines":[{"line_number":20,"context_line":"# value)"},{"line_number":21,"context_line":"#pecan_debug\u003dfalse"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"# Enable audit middleware. (boolean value)"},{"line_number":24,"context_line":"#enable_audit\u003dfalse"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# Audit middleware requires an api_audit_map.confto be"}],"source_content_type":"application/octet-stream","patch_set":11,"id":"5a5ae5dd_c0173243","line":23,"in_reply_to":"5a5ae5dd_44c13153","updated":"2016-02-08 10:13:55.000000000","message":"Done","commit_id":"e54d8eb705afa5c5fc4e6a657b7c1e3584a68e6a"},{"author":{"_account_id":18893,"name":"Miles Gould","email":"mgould@redhat.com","username":"pozorvlak"},"change_message_id":"2c03b9bd2fd6389261e6b6818d1b3c4b92e07147","unresolved":false,"context_lines":[{"line_number":23,"context_line":"# Flag enables Ironic API audit. (boolean value)"},{"line_number":24,"context_line":"#enable_audit\u003dfalse"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# Audit middleware requires api_audit_map.conf to be defined."},{"line_number":27,"context_line":"# (string value)"},{"line_number":28,"context_line":"#audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":29,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":16,"id":"dae33548_34fe8537","line":26,"updated":"2016-02-16 17:15:49.000000000","message":"I think \"api_audit_map.conf\" should be \"audit_map_file\" here.","commit_id":"4d90d10feb9fb0802d660c7f9e215b292760200c"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"9ce02a7d5f142076ed6e0202effd17e7b0adfff9","unresolved":false,"context_lines":[{"line_number":23,"context_line":"# Flag enables Ironic API audit. (boolean value)"},{"line_number":24,"context_line":"#enable_audit\u003dfalse"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# Audit middleware requires api_audit_map.conf to be defined."},{"line_number":27,"context_line":"# (string value)"},{"line_number":28,"context_line":"#audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":29,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":16,"id":"dae33548_6572d512","line":26,"in_reply_to":"dae33548_34fe8537","updated":"2016-02-17 17:28:39.000000000","message":"Done","commit_id":"4d90d10feb9fb0802d660c7f9e215b292760200c"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"b9183dc84410a26c8e0540c0475ddaaa5ca5f2ac","unresolved":false,"context_lines":[{"line_number":27,"context_line":"# Ironic API audit is enabled. (string value)"},{"line_number":28,"context_line":"#audit_map_file\u003d/etc/ironic/ironic_api_audit_map.conf"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"# Option to set HTTP_X_SERVICE_NAME environ variable. It is"},{"line_number":31,"context_line":"# used only when Ironic API audit is enabled. (string value)"},{"line_number":32,"context_line":"#service_name\u003dironic"},{"line_number":33,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":28,"id":"5a18252c_d53fbcd4","line":30,"updated":"2016-04-11 21:19:45.000000000","message":"out of date","commit_id":"ad9e67fb7e930379c211a106c281348e3f60bb09"},{"author":{"_account_id":10697,"name":"Thiago Paiva Brito","email":"thiagop@lsd.ufcg.edu.br","username":"thiagop","inactive":true},"change_message_id":"e655ce48f04c3b478ab1f0c71ca2b2534d855edc","unresolved":false,"context_lines":[{"line_number":120,"context_line":"# Note: This option can be changed without restarting."},{"line_number":121,"context_line":"#debug \u003d false"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"# DEPRECATED: If set to false, the logging level will be set"},{"line_number":124,"context_line":"# to WARNING instead of the default INFO level. (boolean"},{"line_number":125,"context_line":"# value)"},{"line_number":126,"context_line":"# This option is deprecated for removal."},{"line_number":127,"context_line":"# Its value may be silently ignored in the future."},{"line_number":128,"context_line":"#verbose \u003d true"}],"source_content_type":"application/octet-stream","patch_set":48,"id":"7aa08908_63219db4","line":125,"range":{"start_line":123,"start_character":0,"end_line":125,"end_character":8},"updated":"2016-06-06 19:58:20.000000000","message":"This seems not related to this change, but could have been generated by tox. Not a problem, but I wonder why the sample hasn\u0027t been generated on the patch that changed those messages... Maybe you could consider sending a patch updating the ironic.conf.sample and then rebasing yours into it to keep it within scope.","commit_id":"55a31552bbb6ae5982dd9a36539d9bf4cf801aaa"},{"author":{"_account_id":10697,"name":"Thiago Paiva Brito","email":"thiagop@lsd.ufcg.edu.br","username":"thiagop","inactive":true},"change_message_id":"e655ce48f04c3b478ab1f0c71ca2b2534d855edc","unresolved":false,"context_lines":[{"line_number":301,"context_line":"# A URL representing the messaging driver to use and its full"},{"line_number":302,"context_line":"# configuration. (string value)"},{"line_number":303,"context_line":"#transport_url \u003d \u003cNone\u003e"},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"# DEPRECATED: The messaging driver to use, defaults to rabbit."},{"line_number":306,"context_line":"# Other drivers include amqp and zmq. (string value)"},{"line_number":307,"context_line":"# This option is deprecated for removal."},{"line_number":308,"context_line":"# Its value may be silently ignored in the future."},{"line_number":309,"context_line":"# Reason: Replaced by [DEFAULT]/transport_url"},{"line_number":310,"context_line":"#rpc_backend \u003d rabbit"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"# The default exchange under which topics are scoped. May be"}],"source_content_type":"application/octet-stream","patch_set":48,"id":"7aa08908_a32b8593","line":309,"range":{"start_line":304,"start_character":0,"end_line":309,"end_character":45},"updated":"2016-06-06 19:58:20.000000000","message":"ditto","commit_id":"55a31552bbb6ae5982dd9a36539d9bf4cf801aaa"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e46dc50b81dde71c92df3ebdbcf2c5d2c82d5115","unresolved":false,"context_lines":[{"line_number":472,"context_line":"# From ironic"},{"line_number":473,"context_line":"#"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"# Enable Ironic API audit middleware. (boolean value)"},{"line_number":476,"context_line":"#enabled \u003d false"},{"line_number":477,"context_line":""},{"line_number":478,"context_line":"# Path to audit map file for ironic-api service. Used only"}],"source_content_type":"application/octet-stream","patch_set":49,"id":"7aa08908_0f1e505e","line":475,"updated":"2016-06-15 01:20:45.000000000","message":"How about \u0027Enable auditing of API requests (for ironic-api service).\u0027","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"eabb5fc2c2817f8fa95ce152e18e34a150fb3f85","unresolved":false,"context_lines":[{"line_number":472,"context_line":"# From ironic"},{"line_number":473,"context_line":"#"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"# Enable Ironic API audit middleware. (boolean value)"},{"line_number":476,"context_line":"#enabled \u003d false"},{"line_number":477,"context_line":""},{"line_number":478,"context_line":"# Path to audit map file for ironic-api service. Used only"}],"source_content_type":"application/octet-stream","patch_set":49,"id":"7aa08908_99cbaa1d","line":475,"in_reply_to":"7aa08908_0f1e505e","updated":"2016-06-15 06:45:45.000000000","message":"It is generated by tox will do changes in app.py file","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e46dc50b81dde71c92df3ebdbcf2c5d2c82d5115","unresolved":false,"context_lines":[{"line_number":480,"context_line":"#audit_map_file \u003d /etc/ironic/ironic_api_audit_map.conf"},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"# Comma separated list of Ironic REST API HTTP methods to be"},{"line_number":483,"context_line":"# ignored during audit. For example: HEAD,OPTIONS. It is used"},{"line_number":484,"context_line":"# only when API audit is enabled. (string value)"},{"line_number":485,"context_line":"#ignore_req_list \u003d"},{"line_number":486,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":49,"id":"7aa08908_6f4ef438","line":483,"updated":"2016-06-15 01:20:45.000000000","message":"would it be better to use another example like \u0027GET\u0027? (Do we have HEAD or OPTIONS requests?)","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"eabb5fc2c2817f8fa95ce152e18e34a150fb3f85","unresolved":false,"context_lines":[{"line_number":480,"context_line":"#audit_map_file \u003d /etc/ironic/ironic_api_audit_map.conf"},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"# Comma separated list of Ironic REST API HTTP methods to be"},{"line_number":483,"context_line":"# ignored during audit. For example: HEAD,OPTIONS. It is used"},{"line_number":484,"context_line":"# only when API audit is enabled. (string value)"},{"line_number":485,"context_line":"#ignore_req_list \u003d"},{"line_number":486,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":49,"id":"7aa08908_f9ce2e2b","line":483,"in_reply_to":"7aa08908_6f4ef438","updated":"2016-06-15 06:45:45.000000000","message":"Done","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e46dc50b81dde71c92df3ebdbcf2c5d2c82d5115","unresolved":false,"context_lines":[{"line_number":482,"context_line":"# Comma separated list of Ironic REST API HTTP methods to be"},{"line_number":483,"context_line":"# ignored during audit. For example: HEAD,OPTIONS. It is used"},{"line_number":484,"context_line":"# only when API audit is enabled. (string value)"},{"line_number":485,"context_line":"#ignore_req_list \u003d"},{"line_number":486,"context_line":""},{"line_number":487,"context_line":""},{"line_number":488,"context_line":"[cimc]"}],"source_content_type":"application/octet-stream","patch_set":49,"id":"7aa08908_7dffd101","line":485,"updated":"2016-06-15 01:20:45.000000000","message":"i probably would have called this \u0027ignore_http_methods\u0027","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"eabb5fc2c2817f8fa95ce152e18e34a150fb3f85","unresolved":false,"context_lines":[{"line_number":482,"context_line":"# Comma separated list of Ironic REST API HTTP methods to be"},{"line_number":483,"context_line":"# ignored during audit. For example: HEAD,OPTIONS. It is used"},{"line_number":484,"context_line":"# only when API audit is enabled. (string value)"},{"line_number":485,"context_line":"#ignore_req_list \u003d"},{"line_number":486,"context_line":""},{"line_number":487,"context_line":""},{"line_number":488,"context_line":"[cimc]"}],"source_content_type":"application/octet-stream","patch_set":49,"id":"7aa08908_79e35ea4","line":485,"in_reply_to":"7aa08908_7dffd101","updated":"2016-06-15 06:45:45.000000000","message":"This option is from audit middleware itself. Same name is used there so would like to continue the same.","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":18893,"name":"Miles Gould","email":"mgould@redhat.com","username":"pozorvlak"},"change_message_id":"392ab33ef87aef8b878cced4a02862ea4ac9681b","unresolved":false,"context_lines":[{"line_number":471,"context_line":"# From ironic"},{"line_number":472,"context_line":"#"},{"line_number":473,"context_line":""},{"line_number":474,"context_line":"# Enable auditing of API requests(for ironic-api service)."},{"line_number":475,"context_line":"# (boolean value)"},{"line_number":476,"context_line":"#enabled \u003d false"},{"line_number":477,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":64,"id":"1aa78d24_d898aa7a","line":474,"updated":"2016-07-07 11:52:02.000000000","message":"Missing space before \u0027(\u0027. But see below...","commit_id":"44042f77869a8ec4c1f67c48641e96e47bbdc044"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"71cf5c4edb5e865fd1e0dcd5cd3f9f57f802ea70","unresolved":false,"context_lines":[{"line_number":471,"context_line":"# From ironic"},{"line_number":472,"context_line":"#"},{"line_number":473,"context_line":""},{"line_number":474,"context_line":"# Enable auditing of API requests(for ironic-api service)."},{"line_number":475,"context_line":"# (boolean value)"},{"line_number":476,"context_line":"#enabled \u003d false"},{"line_number":477,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":64,"id":"1aa78d24_437b257b","line":474,"in_reply_to":"1aa78d24_d898aa7a","updated":"2016-07-07 14:28:01.000000000","message":"Done","commit_id":"44042f77869a8ec4c1f67c48641e96e47bbdc044"},{"author":{"_account_id":18893,"name":"Miles Gould","email":"mgould@redhat.com","username":"pozorvlak"},"change_message_id":"392ab33ef87aef8b878cced4a02862ea4ac9681b","unresolved":false,"context_lines":[{"line_number":479,"context_line":"# when API audit is enabled. (string value)"},{"line_number":480,"context_line":"#audit_map_file \u003d /etc/ironic/ironic_api_audit_map.conf"},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"# Comma separated list of Ironic REST API HTTP methods to be"},{"line_number":483,"context_line":"# ignored during audit. For example: GET,POST. It is used only"},{"line_number":484,"context_line":"# when API audit is enabled. (string value)"},{"line_number":485,"context_line":"#ignore_req_list \u003d"}],"source_content_type":"application/octet-stream","patch_set":64,"id":"1aa78d24_f8a766a4","line":482,"updated":"2016-07-07 11:52:02.000000000","message":"This text is different from the help text for the option - you should have autogenerated it using `tox -e genconfig`. This means that the next time someone runs `tox -e genconfig` they\u0027ll get a spurious extra change.","commit_id":"44042f77869a8ec4c1f67c48641e96e47bbdc044"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"71cf5c4edb5e865fd1e0dcd5cd3f9f57f802ea70","unresolved":false,"context_lines":[{"line_number":479,"context_line":"# when API audit is enabled. (string value)"},{"line_number":480,"context_line":"#audit_map_file \u003d /etc/ironic/ironic_api_audit_map.conf"},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"# Comma separated list of Ironic REST API HTTP methods to be"},{"line_number":483,"context_line":"# ignored during audit. For example: GET,POST. It is used only"},{"line_number":484,"context_line":"# when API audit is enabled. (string value)"},{"line_number":485,"context_line":"#ignore_req_list \u003d"}],"source_content_type":"application/octet-stream","patch_set":64,"id":"1aa78d24_c34a7554","line":482,"in_reply_to":"1aa78d24_f8a766a4","updated":"2016-07-07 14:28:01.000000000","message":"it was generated using tox but too many changes on help text and docs so have to rerun tox.","commit_id":"44042f77869a8ec4c1f67c48641e96e47bbdc044"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"2b8b5807668d5ba084a7e8ab282f832f6e77421b","unresolved":false,"context_lines":[{"line_number":505,"context_line":"# ignored during audit. For example: auditing will not be done"},{"line_number":506,"context_line":"# on any GET or POST requests if this is set to \"GET,POST\". It"},{"line_number":507,"context_line":"# is used only when API audit is enabled. (string value)"},{"line_number":508,"context_line":"#ignore_req_list \u003d"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":""},{"line_number":511,"context_line":"[cimc]"}],"source_content_type":"application/octet-stream","patch_set":70,"id":"dada55a8_a9278b10","line":508,"updated":"2016-07-26 19:34:13.000000000","message":"This is out of date now.","commit_id":"742eb81d077e4500bdfe54d631ca5ee038ae7d5b"}],"etc/ironic/ironic_api_audit_map.conf.sample":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"8fa27aa20d97b078fa9a0fa581bb5639e3db206b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"bae84128_a18d8a7d","updated":"2016-02-19 14:39:23.000000000","message":"I see the same file in the pycadf sources, why can\u0027t we link to it instead? https://github.com/openstack/pycadf/blob/master/etc/pycadf/ironic_api_audit_map.conf","commit_id":"5461639abd75d94ffdc2002fddeee9c8951eabbe"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"5639401dfbae5ea7f5b9197e4a4c83386b82664a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"bae84128_93f503cd","in_reply_to":"bae84128_a18d8a7d","updated":"2016-02-21 09:54:54.000000000","message":"Yup had put up there. But all services are using it locally in their tree. Had got comments in previous patchsets  to include in ironic tree.","commit_id":"5461639abd75d94ffdc2002fddeee9c8951eabbe"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e46dc50b81dde71c92df3ebdbcf2c5d2c82d5115","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":"# default target endpoint type"},{"line_number":3,"context_line":"# should match the endpoint type defined in service catalog"},{"line_number":4,"context_line":"target_endpoint_type \u003d None"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"# possible end path of api requests"},{"line_number":7,"context_line":"[path_keywords]"}],"source_content_type":"application/octet-stream","patch_set":49,"id":"7aa08908_cf4e086e","line":4,"updated":"2016-06-15 01:20:45.000000000","message":"I don\u0027t know what this means/does. What is the \u0027target\u0027 here? Ironic? Hmm, maybe not, because below there is baremetal.","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b40aea42571524bd7b7b7aaf47861d9770ca8f9a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":"# default target endpoint type"},{"line_number":3,"context_line":"# should match the endpoint type defined in service catalog"},{"line_number":4,"context_line":"target_endpoint_type \u003d None"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"# possible end path of api requests"},{"line_number":7,"context_line":"[path_keywords]"}],"source_content_type":"application/octet-stream","patch_set":49,"id":"7aa08908_197790a0","line":4,"in_reply_to":"7aa08908_541907d0","updated":"2016-06-15 19:31:27.000000000","message":"I\u0027d like it if you would add comments to this file, to include the information you just described. I mean, the information that would be useful for someone that wanted to understand what these options are, and whether or not to modify their values.","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"eabb5fc2c2817f8fa95ce152e18e34a150fb3f85","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":"# default target endpoint type"},{"line_number":3,"context_line":"# should match the endpoint type defined in service catalog"},{"line_number":4,"context_line":"target_endpoint_type \u003d None"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"# possible end path of api requests"},{"line_number":7,"context_line":"[path_keywords]"}],"source_content_type":"application/octet-stream","patch_set":49,"id":"7aa08908_541907d0","line":4,"in_reply_to":"7aa08908_cf4e086e","updated":"2016-06-15 06:45:45.000000000","message":"There is no doc available explaining these parameters. But these are desired patterns for matching from ironic API url.\n\nLog audit request and response for api url containing node keyword and node keyword ending with nodeuuid then nodes\u003dnode. if oly log audit request for url ending with node then node\u003dNone. \n\nThis is sample file added to pycadf by all the services (https://github.com/openstack/pycadf/tree/master/etc/pycadf ) this can be modified as per need. These options are not mandatory this is used only if user wants auditing to happen only to ironic-api url containing specific keywords.","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e46dc50b81dde71c92df3ebdbcf2c5d2c82d5115","unresolved":false,"context_lines":[{"line_number":3,"context_line":"# should match the endpoint type defined in service catalog"},{"line_number":4,"context_line":"target_endpoint_type \u003d None"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"# possible end path of api requests"},{"line_number":7,"context_line":"[path_keywords]"},{"line_number":8,"context_line":"nodes \u003d node"},{"line_number":9,"context_line":"drivers \u003d driver"}],"source_content_type":"application/octet-stream","patch_set":49,"id":"7aa08908_6f443446","line":6,"updated":"2016-06-15 01:20:45.000000000","message":"s/api/API/\n\nSo these are specific to ironic\u0027s API, right? What is the \u003ckey\u003e \u003d \u003cvalue\u003e ?","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b40aea42571524bd7b7b7aaf47861d9770ca8f9a","unresolved":false,"context_lines":[{"line_number":18,"context_line":"supported \u003d None"},{"line_number":19,"context_line":"console \u003d None"},{"line_number":20,"context_line":"vendor_passthrus \u003d vendor_passthru"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"# map endpoint type defined in service catalog to CADF typeURI"},{"line_number":24,"context_line":"[service_endpoints]"}],"source_content_type":"application/octet-stream","patch_set":49,"id":"7aa08908_59f638fa","line":21,"updated":"2016-06-15 19:31:27.000000000","message":"what happens when we add a new endpoint? Should this file get updated and then we\u0027d have to tell the operators to update their file too? If this file isn\u0027t updated, then what happens? Will the auditing be done on the new endpoints?","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e46dc50b81dde71c92df3ebdbcf2c5d2c82d5115","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":49,"id":"7aa08908_6f5b9422","line":26,"updated":"2016-06-15 01:20:45.000000000","message":"So I have no idea what this file is for; it is probably in that keystonemiddleware link you had in the install guide.\n\nIs an operator expected to know how to modify this?","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"ccc974d4d81fa8b3a71799b7e5578f6f95421f39","unresolved":false,"context_lines":[{"line_number":4,"context_line":"target_endpoint_type \u003d None"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"# possible end path of API requests"},{"line_number":7,"context_line":"[path_keywords]"},{"line_number":8,"context_line":"nodes \u003d node"},{"line_number":9,"context_line":"drivers \u003d driver"},{"line_number":10,"context_line":"chassis \u003d chassis"}],"source_content_type":"application/octet-stream","patch_set":68,"id":"dada55a8_9b5a1229","line":7,"updated":"2016-07-25 18:24:59.000000000","message":"Could you clarify what these path_keywords are in the ironic doc, or at least with more elaborate comment? I was not able to find it in keystonemidlleware or pycadf docs. What is its purpose? What None means?","commit_id":"3d87599df56be11463e5a76fbfe353ab3cb285c9"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"f653012ec35b69267ccbfb2032852525deb82bb9","unresolved":false,"context_lines":[{"line_number":4,"context_line":"target_endpoint_type \u003d None"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"# possible end path of API requests"},{"line_number":7,"context_line":"[path_keywords]"},{"line_number":8,"context_line":"nodes \u003d node"},{"line_number":9,"context_line":"drivers \u003d driver"},{"line_number":10,"context_line":"chassis \u003d chassis"}],"source_content_type":"application/octet-stream","patch_set":68,"id":"dada55a8_faccba8a","line":7,"in_reply_to":"dada55a8_9b5a1229","updated":"2016-07-26 13:26:49.000000000","message":"Yes it lacks documentation. I have updated it as comments in next patch. Have documented whatever is understood from code.","commit_id":"3d87599df56be11463e5a76fbfe353ab3cb285c9"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"b60056a05f7967d14a24847b5261cbd867452c8c","unresolved":false,"context_lines":[{"line_number":21,"context_line":"boot_device \u003d None"},{"line_number":22,"context_line":"supported \u003d None"},{"line_number":23,"context_line":"console \u003d None"},{"line_number":24,"context_line":"vendor_passthrus \u003d vendor_passthru"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"# map endpoint type defined in service catalog to CADF typeURI"}],"source_content_type":"application/octet-stream","patch_set":71,"id":"bacf61ea_cd7e7918","line":24,"range":{"start_line":24,"start_character":0,"end_line":24,"end_character":16},"updated":"2016-07-29 17:43:56.000000000","message":"Should be just vendor_passthru if I understand the explanation correctly.","commit_id":"295b35c48f7dcc2983a19d4114254bea85239b3a"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"e175cb23fa69e87e61430d9e427c0c2a81fafb94","unresolved":false,"context_lines":[{"line_number":21,"context_line":"boot_device \u003d None"},{"line_number":22,"context_line":"supported \u003d None"},{"line_number":23,"context_line":"console \u003d None"},{"line_number":24,"context_line":"vendor_passthrus \u003d vendor_passthru"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"# map endpoint type defined in service catalog to CADF typeURI"}],"source_content_type":"application/octet-stream","patch_set":71,"id":"bacf61ea_a3c3e636","line":24,"range":{"start_line":24,"start_character":0,"end_line":24,"end_character":16},"in_reply_to":"bacf61ea_a89e2560","updated":"2016-08-02 09:29:23.000000000","message":"Will correct it in follow up patch.","commit_id":"295b35c48f7dcc2983a19d4114254bea85239b3a"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"5030dcf2c03c01420f8801ae3b47b83f581a1c44","unresolved":false,"context_lines":[{"line_number":21,"context_line":"boot_device \u003d None"},{"line_number":22,"context_line":"supported \u003d None"},{"line_number":23,"context_line":"console \u003d None"},{"line_number":24,"context_line":"vendor_passthrus \u003d vendor_passthru"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"# map endpoint type defined in service catalog to CADF typeURI"}],"source_content_type":"application/octet-stream","patch_set":71,"id":"bacf61ea_a89e2560","line":24,"range":{"start_line":24,"start_character":0,"end_line":24,"end_character":16},"in_reply_to":"bacf61ea_cd7e7918","updated":"2016-08-02 09:25:09.000000000","message":"+1 to Vlad comment.","commit_id":"295b35c48f7dcc2983a19d4114254bea85239b3a"}],"ironic/api/app.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"cf37b550e3f926fae9a75a1d3571c50789b569c7","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        wrap_app\u003dmiddleware.ParsableErrorMiddleware,"},{"line_number":88,"context_line":"    )"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    app \u003d audit_middleware.AuditMiddleware(app,"},{"line_number":91,"context_line":"                                           audit_map_file\u003dCONF.audit_map_file)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    if pecan_config.app.enable_acl:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a68dd71_f7c98c5b","line":90,"range":{"start_line":90,"start_character":3,"end_line":90,"end_character":7},"updated":"2016-01-26 17:22:31.000000000","message":"I feel this really needs to be opt-in via a config parameter.","commit_id":"7508677af118761f54f53b3360ff78b1a79d9ba3"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"7308537c9c82ec9bc9c959c27d410f8a0431303a","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                       )),"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":53,"context_line":"               default\u003dNone,"},{"line_number":54,"context_line":"               help\u003d_(\u0027Audit middleware requires an api_audit_map.conf\u0027"},{"line_number":55,"context_line":"                      \u0027to be defined.\u0027)),"},{"line_number":56,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a5de9d1_18d24001","line":53,"updated":"2016-01-28 10:20:05.000000000","message":"I believe we want to set \"/etc/ironic/ironic_api_audit_map.conf\" as default here!?","commit_id":"5a502228d24ccdf88a244411a40b89b09205445f"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"ad9c6e51a1b6aaf37936a34c0bc53b11fa4a2acf","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                       )),"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":53,"context_line":"               default\u003dNone,"},{"line_number":54,"context_line":"               help\u003d_(\u0027Audit middleware requires an api_audit_map.conf\u0027"},{"line_number":55,"context_line":"                      \u0027to be defined.\u0027)),"},{"line_number":56,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a5de9d1_74d65bf2","line":53,"in_reply_to":"7a5de9d1_18d24001","updated":"2016-02-01 07:03:05.000000000","message":"Done","commit_id":"5a502228d24ccdf88a244411a40b89b09205445f"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"3520c74c423862fa843fad0347cb16e8d32f0f3f","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    cfg.BoolOpt(\u0027enable_audit\u0027,"},{"line_number":48,"context_line":"                default\u003dFalse,"},{"line_number":49,"context_line":"                help\u003d_(\u0027Enable audit middleware.\u0027"},{"line_number":50,"context_line":"                       )),"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a5ae5dd_329e4d57","line":49,"range":{"start_line":49,"start_character":24,"end_line":49,"end_character":47},"updated":"2016-02-03 16:06:29.000000000","message":"There is no choice to enable particular audit middleware. This flag enable Ironic API audit using keystonemiddleware. It would be better to indicate this flag enables Ironic API audit.","commit_id":"cf73b14952e76d7a4478286062cbe930fcaf973b"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"85fc7e31ec94b4994d20bdba139ed2cab970ded3","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    cfg.BoolOpt(\u0027enable_audit\u0027,"},{"line_number":48,"context_line":"                default\u003dFalse,"},{"line_number":49,"context_line":"                help\u003d_(\u0027Enable audit middleware.\u0027"},{"line_number":50,"context_line":"                       )),"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a5ae5dd_4c99ca1e","line":49,"range":{"start_line":49,"start_character":24,"end_line":49,"end_character":47},"in_reply_to":"5a5ae5dd_329e4d57","updated":"2016-02-04 16:26:34.000000000","message":"Done","commit_id":"cf73b14952e76d7a4478286062cbe930fcaf973b"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"3520c74c423862fa843fad0347cb16e8d32f0f3f","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":53,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"},{"line_number":54,"context_line":"               help\u003d_(\u0027Audit middleware requires an api_audit_map.conf\u0027"},{"line_number":55,"context_line":"                      \u0027to be defined.\u0027)),"},{"line_number":56,"context_line":"]"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5a5ae5dd_320e4d35","line":54,"range":{"start_line":54,"start_character":52,"end_line":54,"end_character":70},"updated":"2016-02-03 16:06:29.000000000","message":"Add a space at end.\ns/ api_audit_map.conf\u0027/ api_audit_map.conf \u0027/","commit_id":"cf73b14952e76d7a4478286062cbe930fcaf973b"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"3520c74c423862fa843fad0347cb16e8d32f0f3f","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":53,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"},{"line_number":54,"context_line":"               help\u003d_(\u0027Audit middleware requires an api_audit_map.conf\u0027"},{"line_number":55,"context_line":"                      \u0027to be defined.\u0027)),"},{"line_number":56,"context_line":"]"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5a5ae5dd_b231ddee","line":54,"range":{"start_line":54,"start_character":49,"end_line":54,"end_character":51},"updated":"2016-02-03 16:06:29.000000000","message":"s/an //\nProbably, you mean \u0027Audit middleware needs to specify audit configuration file.\u0027","commit_id":"cf73b14952e76d7a4478286062cbe930fcaf973b"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"85fc7e31ec94b4994d20bdba139ed2cab970ded3","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":53,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"},{"line_number":54,"context_line":"               help\u003d_(\u0027Audit middleware requires an api_audit_map.conf\u0027"},{"line_number":55,"context_line":"                      \u0027to be defined.\u0027)),"},{"line_number":56,"context_line":"]"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5a5ae5dd_2c96cef0","line":54,"range":{"start_line":54,"start_character":49,"end_line":54,"end_character":51},"in_reply_to":"5a5ae5dd_b231ddee","updated":"2016-02-04 16:26:34.000000000","message":"Done","commit_id":"cf73b14952e76d7a4478286062cbe930fcaf973b"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d5a9b908a80493e5d56fc194f57b916e61ae34e5","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                       )),"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":53,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"},{"line_number":54,"context_line":"               help\u003d_(\u0027Audit middleware requires api_audit_map.conf \u0027"},{"line_number":55,"context_line":"                      \u0027to be defined.\u0027)),"},{"line_number":56,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a5ae5dd_62200149","line":53,"range":{"start_line":53,"start_character":24,"end_line":53,"end_character":61},"updated":"2016-02-05 14:03:34.000000000","message":"The audit map project defines the location in /etc/pycadf/\n\nPerhaps that might be better?","commit_id":"e54d8eb705afa5c5fc4e6a657b7c1e3584a68e6a"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"7eb00666cc3f8ed811b76f63c8b9ca0f5dff09d7","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                       )),"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":53,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"},{"line_number":54,"context_line":"               help\u003d_(\u0027Audit middleware requires api_audit_map.conf \u0027"},{"line_number":55,"context_line":"                      \u0027to be defined.\u0027)),"},{"line_number":56,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a5ae5dd_206de6cb","line":53,"range":{"start_line":53,"start_character":24,"end_line":53,"end_character":61},"in_reply_to":"5a5ae5dd_62200149","updated":"2016-02-08 10:13:55.000000000","message":"I dont see that conf file under /etc/pycadf.","commit_id":"e54d8eb705afa5c5fc4e6a657b7c1e3584a68e6a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d5a9b908a80493e5d56fc194f57b916e61ae34e5","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        wrap_app\u003dmiddleware.ParsableErrorMiddleware,"},{"line_number":93,"context_line":"    )"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    if CONF.enable_audit:"},{"line_number":96,"context_line":"        app \u003d audit_middleware.AuditMiddleware("},{"line_number":97,"context_line":"            app,"},{"line_number":98,"context_line":"            audit_map_file\u003dCONF.audit_map_file"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a5ae5dd_22d769ee","line":95,"range":{"start_line":95,"start_character":3,"end_line":95,"end_character":25},"updated":"2016-02-05 14:03:34.000000000","message":"Ideally, you should have a unit test or two test of this being enabled and not enabled and validate that audit_middleware is invoked.","commit_id":"e54d8eb705afa5c5fc4e6a657b7c1e3584a68e6a"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"7eb00666cc3f8ed811b76f63c8b9ca0f5dff09d7","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        wrap_app\u003dmiddleware.ParsableErrorMiddleware,"},{"line_number":93,"context_line":"    )"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    if CONF.enable_audit:"},{"line_number":96,"context_line":"        app \u003d audit_middleware.AuditMiddleware("},{"line_number":97,"context_line":"            app,"},{"line_number":98,"context_line":"            audit_map_file\u003dCONF.audit_map_file"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a5ae5dd_407022a4","line":95,"range":{"start_line":95,"start_character":3,"end_line":95,"end_character":25},"in_reply_to":"5a5ae5dd_22d769ee","updated":"2016-02-08 10:13:55.000000000","message":"Done","commit_id":"e54d8eb705afa5c5fc4e6a657b7c1e3584a68e6a"},{"author":{"_account_id":18893,"name":"Miles Gould","email":"mgould@redhat.com","username":"pozorvlak"},"change_message_id":"2c03b9bd2fd6389261e6b6818d1b3c4b92e07147","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":53,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"},{"line_number":54,"context_line":"               help\u003d_(\u0027Audit middleware requires api_audit_map.conf \u0027"},{"line_number":55,"context_line":"                      \u0027to be defined.\u0027)),"},{"line_number":56,"context_line":"]"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"dae33548_947151e3","line":54,"updated":"2016-02-16 17:15:49.000000000","message":"Also here.","commit_id":"4d90d10feb9fb0802d660c7f9e215b292760200c"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"9ce02a7d5f142076ed6e0202effd17e7b0adfff9","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":53,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"},{"line_number":54,"context_line":"               help\u003d_(\u0027Audit middleware requires api_audit_map.conf \u0027"},{"line_number":55,"context_line":"                      \u0027to be defined.\u0027)),"},{"line_number":56,"context_line":"]"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"dae33548_2040bb33","line":54,"in_reply_to":"dae33548_947151e3","updated":"2016-02-17 17:28:39.000000000","message":"Done","commit_id":"4d90d10feb9fb0802d660c7f9e215b292760200c"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"4e7301b6ceca5285118a694b1350ee001818fa23","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":53,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"},{"line_number":54,"context_line":"               help\u003d_(\u0027Audit middleware requires api_audit_map.conf \u0027"},{"line_number":55,"context_line":"                      \u0027to be defined.\u0027)),"},{"line_number":56,"context_line":"]"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"dae33548_fc596936","line":54,"in_reply_to":"dae33548_947151e3","updated":"2016-02-17 15:59:15.000000000","message":"I agree that changing api_audit_map.conf to audit_map_file makes sense here","commit_id":"4d90d10feb9fb0802d660c7f9e215b292760200c"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"9ce02a7d5f142076ed6e0202effd17e7b0adfff9","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":53,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"},{"line_number":54,"context_line":"               help\u003d_(\u0027Audit middleware requires api_audit_map.conf \u0027"},{"line_number":55,"context_line":"                      \u0027to be defined.\u0027)),"},{"line_number":56,"context_line":"]"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"dae33548_60464350","line":54,"in_reply_to":"dae33548_fc596936","updated":"2016-02-17 17:28:39.000000000","message":"Done","commit_id":"4d90d10feb9fb0802d660c7f9e215b292760200c"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"8fa27aa20d97b078fa9a0fa581bb5639e3db206b","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    cfg.BoolOpt(\u0027enable_audit\u0027,"},{"line_number":48,"context_line":"                default\u003dFalse,"},{"line_number":49,"context_line":"                help\u003d_(\u0027Flag enables Ironic API audit.\u0027"},{"line_number":50,"context_line":"                       )),"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":53,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"bae84128_c1908e98","line":50,"updated":"2016-02-19 14:39:23.000000000","message":"nit: should be on the previous line","commit_id":"5461639abd75d94ffdc2002fddeee9c8951eabbe"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"5639401dfbae5ea7f5b9197e4a4c83386b82664a","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    cfg.BoolOpt(\u0027enable_audit\u0027,"},{"line_number":48,"context_line":"                default\u003dFalse,"},{"line_number":49,"context_line":"                help\u003d_(\u0027Flag enables Ironic API audit.\u0027"},{"line_number":50,"context_line":"                       )),"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":53,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"bae84128_332d1747","line":50,"in_reply_to":"bae84128_c1908e98","updated":"2016-02-21 09:54:54.000000000","message":"Done","commit_id":"5461639abd75d94ffdc2002fddeee9c8951eabbe"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"a7b5646f75db114574301fecc6bbdb0f33b537e4","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    cfg.BoolOpt(\u0027enable_audit\u0027,"},{"line_number":48,"context_line":"                default\u003dFalse,"},{"line_number":49,"context_line":"                help\u003d_(\u0027Flag enables Ironic API audit.\u0027)),"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":52,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"}],"source_content_type":"text/x-python","patch_set":18,"id":"bae84128_2f558e1c","line":49,"updated":"2016-02-22 13:20:50.000000000","message":"Flag that enables...","commit_id":"e61245c1d0291ddecb888aaaa82b797ba4243dc2"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"d1b7ab6c1edec241854165c6b3dd0a757c5ecd2d","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    cfg.BoolOpt(\u0027enable_audit\u0027,"},{"line_number":48,"context_line":"                default\u003dFalse,"},{"line_number":49,"context_line":"                help\u003d_(\u0027Flag enables Ironic API audit.\u0027)),"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":52,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"}],"source_content_type":"text/x-python","patch_set":18,"id":"7af24918_a26d7d34","line":49,"in_reply_to":"bae84128_2f558e1c","updated":"2016-03-04 13:16:02.000000000","message":"Done","commit_id":"e61245c1d0291ddecb888aaaa82b797ba4243dc2"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"a7b5646f75db114574301fecc6bbdb0f33b537e4","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":52,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"},{"line_number":53,"context_line":"               help\u003d_(\u0027Audit middleware requires audit_map_file \u0027"},{"line_number":54,"context_line":"                      \u0027to be defined.\u0027)),"},{"line_number":55,"context_line":"]"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"bae84128_4f31f204","line":53,"updated":"2016-02-22 13:20:50.000000000","message":"I think it should be described what it is, not that it is required.","commit_id":"e61245c1d0291ddecb888aaaa82b797ba4243dc2"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"d1b7ab6c1edec241854165c6b3dd0a757c5ecd2d","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":52,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"},{"line_number":53,"context_line":"               help\u003d_(\u0027Audit middleware requires audit_map_file \u0027"},{"line_number":54,"context_line":"                      \u0027to be defined.\u0027)),"},{"line_number":55,"context_line":"]"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"7af24918_4288f9e7","line":53,"in_reply_to":"bae84128_4f31f204","updated":"2016-03-04 13:16:02.000000000","message":"Done","commit_id":"e61245c1d0291ddecb888aaaa82b797ba4243dc2"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"a7b5646f75db114574301fecc6bbdb0f33b537e4","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    )"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    if CONF.enable_audit:"},{"line_number":95,"context_line":"        app \u003d audit_middleware.AuditMiddleware("},{"line_number":96,"context_line":"            app,"},{"line_number":97,"context_line":"            audit_map_file\u003dCONF.audit_map_file"},{"line_number":98,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":18,"id":"bae84128_2a9c5c68","line":95,"updated":"2016-02-22 13:20:50.000000000","message":"I also see a couple more useful options here - https://github.com/openstack/keystonemiddleware/blob/master/keystonemiddleware/audit.py#L336-L338\n\nMight be worth adding them too.","commit_id":"e61245c1d0291ddecb888aaaa82b797ba4243dc2"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"d1b7ab6c1edec241854165c6b3dd0a757c5ecd2d","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    )"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    if CONF.enable_audit:"},{"line_number":95,"context_line":"        app \u003d audit_middleware.AuditMiddleware("},{"line_number":96,"context_line":"            app,"},{"line_number":97,"context_line":"            audit_map_file\u003dCONF.audit_map_file"},{"line_number":98,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":18,"id":"7af24918_d82d4bff","line":95,"in_reply_to":"bae84128_2a9c5c68","updated":"2016-03-04 13:16:02.000000000","message":"Done","commit_id":"e61245c1d0291ddecb888aaaa82b797ba4243dc2"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"b0f1b5a17cae206aeb62afb3b3642f227a0efaa7","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        wrap_app\u003dmiddleware.ParsableErrorMiddleware,"},{"line_number":91,"context_line":"    )"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    if CONF.enable_audit:"},{"line_number":94,"context_line":"        app \u003d audit_middleware.AuditMiddleware("},{"line_number":95,"context_line":"            app,"},{"line_number":96,"context_line":"            audit_map_file\u003dCONF.audit_map_file"}],"source_content_type":"text/x-python","patch_set":19,"id":"7af24918_6d2b3395","line":93,"updated":"2016-03-02 11:58:11.000000000","message":"I think we should provide a warning if audit_map_file is not present or can\u0027t be read.","commit_id":"20662e66fa0513214d8c96c769beacaddf0ec00a"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"ed81d2e19ea237113d32c13c1fa18a413bd35bbc","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        wrap_app\u003dmiddleware.ParsableErrorMiddleware,"},{"line_number":91,"context_line":"    )"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    if CONF.enable_audit:"},{"line_number":94,"context_line":"        app \u003d audit_middleware.AuditMiddleware("},{"line_number":95,"context_line":"            app,"},{"line_number":96,"context_line":"            audit_map_file\u003dCONF.audit_map_file"}],"source_content_type":"text/x-python","patch_set":19,"id":"7af24918_d806eb84","line":93,"in_reply_to":"7af24918_6d2b3395","updated":"2016-03-04 13:17:21.000000000","message":"Done","commit_id":"20662e66fa0513214d8c96c769beacaddf0ec00a"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"f10ee604fc67717259c4d9b74ab717c2df3fe140","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    cfg.BoolOpt(\u0027enable_audit\u0027,"},{"line_number":48,"context_line":"                default\u003dFalse,"},{"line_number":49,"context_line":"                help\u003d_(\u0027Flag that enables Ironic API audit.\u0027)),"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":52,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"}],"source_content_type":"text/x-python","patch_set":21,"id":"5aef4532_4bf4f159","line":49,"range":{"start_line":49,"start_character":24,"end_line":49,"end_character":41},"updated":"2016-03-10 05:40:51.000000000","message":"s/\u0027Flag that enables\u0027/ \u0027Enable\u0027/","commit_id":"c6fea1d0d545776d5be4a9d864471946a6ce11c6"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"f10ee604fc67717259c4d9b74ab717c2df3fe140","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":52,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"},{"line_number":53,"context_line":"               help\u003d_(\u0027Ironic API specific audit_map_file.\u0027)),"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    cfg.StrOpt(\u0027service_name\u0027,"},{"line_number":56,"context_line":"               default\u003d\u0027ironic\u0027,"}],"source_content_type":"text/x-python","patch_set":21,"id":"5aef4532_0b44a9b4","line":53,"range":{"start_line":53,"start_character":23,"end_line":53,"end_character":58},"updated":"2016-03-10 05:40:51.000000000","message":"Path to audit map file for Ironic API. It is used only when Ironic API audit is enabled.","commit_id":"c6fea1d0d545776d5be4a9d864471946a6ce11c6"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"f10ee604fc67717259c4d9b74ab717c2df3fe140","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    cfg.StrOpt(\u0027service_name\u0027,"},{"line_number":56,"context_line":"               default\u003d\u0027ironic\u0027,"},{"line_number":57,"context_line":"               help\u003d_(\u0027Option to set HTTP_X_SERVICE_NAME environ variable.\u0027)),"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    cfg.StrOpt(\u0027ignore_req_list\u0027,"},{"line_number":60,"context_line":"               default\u003dNone,"}],"source_content_type":"text/x-python","patch_set":21,"id":"5aef4532_eb705d0d","line":57,"range":{"start_line":57,"start_character":23,"end_line":57,"end_character":74},"updated":"2016-03-10 05:40:51.000000000","message":"Add \u0027It is used only when Ironic API audit is enabled.\u0027","commit_id":"c6fea1d0d545776d5be4a9d864471946a6ce11c6"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"f10ee604fc67717259c4d9b74ab717c2df3fe140","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    cfg.StrOpt(\u0027ignore_req_list\u0027,"},{"line_number":60,"context_line":"               default\u003dNone,"},{"line_number":61,"context_line":"               help\u003d_(\u0027Option to ignore specific requests. Ex: GET,POST\u0027)),"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"]"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"5aef4532_6bf1ed6a","line":61,"range":{"start_line":61,"start_character":23,"end_line":61,"end_character":71},"updated":"2016-03-10 05:40:51.000000000","message":"Comma separated list of Ironic API requests to be ignored during audit. Ex: GET,POST\u0027. It is used only when Ironic API audit is enabled.","commit_id":"c6fea1d0d545776d5be4a9d864471946a6ce11c6"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"f10ee604fc67717259c4d9b74ab717c2df3fe140","unresolved":false,"context_lines":[{"line_number":108,"context_line":"                ignore_req_list\u003dCONF.ignore_req_list"},{"line_number":109,"context_line":"            )"},{"line_number":110,"context_line":"        except IOError as e:"},{"line_number":111,"context_line":"            raise e"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    if pecan_config.app.enable_acl:"},{"line_number":114,"context_line":"        app \u003d acl.install(app, cfg.CONF, pecan_config.app.acl_public_routes)"}],"source_content_type":"text/x-python","patch_set":21,"id":"5aef4532_ce380fd6","line":111,"range":{"start_line":111,"start_character":12,"end_line":111,"end_character":19},"updated":"2016-03-10 05:40:51.000000000","message":"I think this exception should be translated to some exception in ironic.common.exception; say IronicException()","commit_id":"c6fea1d0d545776d5be4a9d864471946a6ce11c6"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e8d1b4313e069be15ec060ca0a7d79e3e540b4dc","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    cfg.BoolOpt(\u0027enable_audit\u0027,"},{"line_number":50,"context_line":"                default\u003dFalse,"},{"line_number":51,"context_line":"                help\u003d_(\u0027Flag that enables Ironic API audit.\u0027)),"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":54,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"}],"source_content_type":"text/x-python","patch_set":22,"id":"fa0719c6_08657a44","line":51,"range":{"start_line":51,"start_character":24,"end_line":51,"end_character":41},"updated":"2016-03-21 12:17:18.000000000","message":"If we\u0027re going to edit this line, we should likely make the setting description more in-line with the other parameters.","commit_id":"98ad4bcb3a72b0e142008dee6f9364394027e8ae"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e8d1b4313e069be15ec060ca0a7d79e3e540b4dc","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    cfg.StrOpt(\u0027ignore_req_list\u0027,"},{"line_number":64,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":65,"context_line":"               help\u003d_(\u0027Comma separated list of Ironic API requests \u0027"},{"line_number":66,"context_line":"                      \u0027to be ignored during audit. Ex: GET,POST. \u0027"},{"line_number":67,"context_line":"                      \u0027It is used only when Ironic API audit is enabled.\u0027)),"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":22,"id":"fa0719c6_a8dbaeec","line":66,"range":{"start_line":66,"start_character":55,"end_line":66,"end_character":63},"updated":"2016-03-21 12:17:18.000000000","message":"Same concern as expressed in the documentation regarding even possibly suggesting that GET, POST should be ignored.","commit_id":"98ad4bcb3a72b0e142008dee6f9364394027e8ae"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"64c3b0c1e94a020987a204e31c1730d9b4a827be","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    cfg.StrOpt(\u0027ignore_req_list\u0027,"},{"line_number":64,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":65,"context_line":"               help\u003d_(\u0027Comma separated list of Ironic API requests \u0027"},{"line_number":66,"context_line":"                      \u0027to be ignored during audit. Ex: GET,POST. \u0027"},{"line_number":67,"context_line":"                      \u0027It is used only when Ironic API audit is enabled.\u0027)),"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":22,"id":"fa0719c6_420d5f36","line":66,"range":{"start_line":66,"start_character":55,"end_line":66,"end_character":63},"in_reply_to":"fa0719c6_a8dbaeec","updated":"2016-03-22 09:19:40.000000000","message":"Done","commit_id":"98ad4bcb3a72b0e142008dee6f9364394027e8ae"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"e2e02a436e58d64c5352ad4875e403a9ad42e3d6","unresolved":false,"context_lines":[{"line_number":113,"context_line":"                service_name\u003dCONF.service_name,"},{"line_number":114,"context_line":"                ignore_req_list\u003dCONF.ignore_req_list"},{"line_number":115,"context_line":"            )"},{"line_number":116,"context_line":"        except IOError as e:"},{"line_number":117,"context_line":"            raise exception.InputFileError("},{"line_number":118,"context_line":"                file_name\u003dCONF.audit_map_file,"},{"line_number":119,"context_line":"                reason\u003de"},{"line_number":120,"context_line":"            )"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    if pecan_config.app.enable_acl:"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a061dce_d3859ead","line":119,"range":{"start_line":116,"start_character":2,"end_line":119,"end_character":24},"updated":"2016-04-06 02:24:22.000000000","message":"Add a testcase for this exception path.","commit_id":"a23345f0983d22c1d25b14bca1d0632a60e87bd7"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"2b2f6027d47d7d64a547efddc74371cc477a0012","unresolved":false,"context_lines":[{"line_number":113,"context_line":"                service_name\u003dCONF.service_name,"},{"line_number":114,"context_line":"                ignore_req_list\u003dCONF.ignore_req_list"},{"line_number":115,"context_line":"            )"},{"line_number":116,"context_line":"        except IOError as e:"},{"line_number":117,"context_line":"            raise exception.InputFileError("},{"line_number":118,"context_line":"                file_name\u003dCONF.audit_map_file,"},{"line_number":119,"context_line":"                reason\u003de"},{"line_number":120,"context_line":"            )"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    if pecan_config.app.enable_acl:"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a061dce_5602f3b4","line":119,"range":{"start_line":116,"start_character":2,"end_line":119,"end_character":24},"in_reply_to":"9a061dce_d3859ead","updated":"2016-04-06 16:15:26.000000000","message":"Done","commit_id":"a23345f0983d22c1d25b14bca1d0632a60e87bd7"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"640530a36338dae6d7e3f238df4f3b0c3e5489fa","unresolved":false,"context_lines":[{"line_number":113,"context_line":"                service_name\u003dCONF.service_name,"},{"line_number":114,"context_line":"                ignore_req_list\u003dCONF.ignore_req_list"},{"line_number":115,"context_line":"            )"},{"line_number":116,"context_line":"        except IOError as e:"},{"line_number":117,"context_line":"            raise exception.InputFileError("},{"line_number":118,"context_line":"                file_name\u003dCONF.audit_map_file,"},{"line_number":119,"context_line":"                reason\u003de"}],"source_content_type":"text/x-python","patch_set":25,"id":"9a061dce_e7da73e7","line":116,"updated":"2016-04-06 17:11:35.000000000","message":"looking at the code, it can also raise this one https://github.com/openstack/keystonemiddleware/blob/master/keystonemiddleware/audit.py#L133\n\nAnother question - should we fail to start API in this case, or give an error and proceed?","commit_id":"029c12ac9d64b06840d379b9e1ab0e69b2927823"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"b126d6f9db428d57dd21c4bfd22155d648131226","unresolved":false,"context_lines":[{"line_number":113,"context_line":"                service_name\u003dCONF.service_name,"},{"line_number":114,"context_line":"                ignore_req_list\u003dCONF.ignore_req_list"},{"line_number":115,"context_line":"            )"},{"line_number":116,"context_line":"        except IOError as e:"},{"line_number":117,"context_line":"            raise exception.InputFileError("},{"line_number":118,"context_line":"                file_name\u003dCONF.audit_map_file,"},{"line_number":119,"context_line":"                reason\u003de"}],"source_content_type":"text/x-python","patch_set":25,"id":"9a061dce_66eca4f3","line":116,"in_reply_to":"9a061dce_e7da73e7","updated":"2016-04-06 17:41:59.000000000","message":"This issue occurs when enable_audit flag is enabled and user needs auditing with custom audit map configuration options. It would be better to fail start API to resolve parsing error.","commit_id":"029c12ac9d64b06840d379b9e1ab0e69b2927823"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"66f12d4c5f4c781b966a090b55a963f6fc2f9d79","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    cfg.StrOpt(\u0027service_name\u0027,"},{"line_number":59,"context_line":"               default\u003d\u0027ironic\u0027,"},{"line_number":60,"context_line":"               help\u003d_(\u0027Option to set HTTP_X_SERVICE_NAME environ variable. \u0027"},{"line_number":61,"context_line":"                      \u0027It is used only when Ironic API audit is enabled.\u0027)),"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    cfg.StrOpt(\u0027ignore_req_list\u0027,"}],"source_content_type":"text/x-python","patch_set":27,"id":"7a1b2928_9704f47e","line":60,"range":{"start_line":60,"start_character":57,"end_line":60,"end_character":64},"updated":"2016-04-11 19:56:30.000000000","message":"s/environ/environment/ ?  maybe s/environ variable/setting/?","commit_id":"00c068bfb596853efafae201a90cca61797a8523"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"b8db0001619a851301d296fbb497159779f05ce7","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    cfg.StrOpt(\u0027service_name\u0027,"},{"line_number":59,"context_line":"               default\u003d\u0027ironic\u0027,"},{"line_number":60,"context_line":"               help\u003d_(\u0027Option to set HTTP_X_SERVICE_NAME environ variable. \u0027"},{"line_number":61,"context_line":"                      \u0027It is used only when Ironic API audit is enabled.\u0027)),"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    cfg.StrOpt(\u0027ignore_req_list\u0027,"}],"source_content_type":"text/x-python","patch_set":27,"id":"5a18252c_3572707d","line":60,"range":{"start_line":60,"start_character":57,"end_line":60,"end_character":64},"in_reply_to":"7a1b2928_9704f47e","updated":"2016-04-11 21:10:11.000000000","message":"Done","commit_id":"00c068bfb596853efafae201a90cca61797a8523"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"66f12d4c5f4c781b966a090b55a963f6fc2f9d79","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    cfg.StrOpt(\u0027service_name\u0027,"},{"line_number":59,"context_line":"               default\u003d\u0027ironic\u0027,"},{"line_number":60,"context_line":"               help\u003d_(\u0027Option to set HTTP_X_SERVICE_NAME environ variable. \u0027"},{"line_number":61,"context_line":"                      \u0027It is used only when Ironic API audit is enabled.\u0027)),"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    cfg.StrOpt(\u0027ignore_req_list\u0027,"},{"line_number":64,"context_line":"               default\u003d\u0027\u0027,"}],"source_content_type":"text/x-python","patch_set":27,"id":"7a1b2928_d7d14ccf","line":61,"range":{"start_line":61,"start_character":23,"end_line":61,"end_character":28},"updated":"2016-04-11 19:56:30.000000000","message":"s/It is/This/","commit_id":"00c068bfb596853efafae201a90cca61797a8523"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"b8db0001619a851301d296fbb497159779f05ce7","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    cfg.StrOpt(\u0027service_name\u0027,"},{"line_number":59,"context_line":"               default\u003d\u0027ironic\u0027,"},{"line_number":60,"context_line":"               help\u003d_(\u0027Option to set HTTP_X_SERVICE_NAME environ variable. \u0027"},{"line_number":61,"context_line":"                      \u0027It is used only when Ironic API audit is enabled.\u0027)),"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    cfg.StrOpt(\u0027ignore_req_list\u0027,"},{"line_number":64,"context_line":"               default\u003d\u0027\u0027,"}],"source_content_type":"text/x-python","patch_set":27,"id":"5a18252c_756ce89c","line":61,"range":{"start_line":61,"start_character":23,"end_line":61,"end_character":28},"in_reply_to":"7a1b2928_d7d14ccf","updated":"2016-04-11 21:10:11.000000000","message":"Done","commit_id":"00c068bfb596853efafae201a90cca61797a8523"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"c532481d0569d8a15a6714bdb9296cc99e51d018","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    cfg.StrOpt(\u0027service_name\u0027,"},{"line_number":59,"context_line":"               default\u003d\u0027ironic\u0027,"},{"line_number":60,"context_line":"               help\u003d_(\u0027Option to set HTTP_X_SERVICE_NAME environ variable. \u0027"},{"line_number":61,"context_line":"                      \u0027It is used only when Ironic API audit is enabled.\u0027)),"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    cfg.StrOpt(\u0027ignore_req_list\u0027,"},{"line_number":64,"context_line":"               default\u003d\u0027\u0027,"}],"source_content_type":"text/x-python","patch_set":27,"id":"5a18252c_b52b2033","line":61,"range":{"start_line":61,"start_character":23,"end_line":61,"end_character":28},"in_reply_to":"7a1b2928_d7d14ccf","updated":"2016-04-11 21:00:40.000000000","message":"s/It is/This is/","commit_id":"00c068bfb596853efafae201a90cca61797a8523"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"e2ee78ada16a07471eaeabf72f58d017d26f44dd","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                help\u003d_(\u0027Enable pecan debug mode. WARNING: this is insecure \u0027"},{"line_number":48,"context_line":"                       \u0027and should not be used in a production environment.\u0027)),"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    cfg.BoolOpt(\u0027enable_audit\u0027,"},{"line_number":51,"context_line":"                default\u003dFalse,"},{"line_number":52,"context_line":"                help\u003d_(\u0027Flag that enables Ironic API audit.\u0027)),"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":55,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"},{"line_number":56,"context_line":"               help\u003d_(\u0027Path to audit map file for Ironic API. \u0027"},{"line_number":57,"context_line":"                      \u0027It is used only when Ironic API audit is enabled.\u0027)),"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    cfg.StrOpt(\u0027service_name\u0027,"},{"line_number":60,"context_line":"               default\u003d\u0027ironic\u0027,"},{"line_number":61,"context_line":"               help\u003d_(\u0027Option to set HTTP_X_SERVICE_NAME setting. \u0027"},{"line_number":62,"context_line":"                      \u0027This is used only when Ironic API audit is enabled.\u0027)),"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    cfg.StrOpt(\u0027ignore_req_list\u0027,"},{"line_number":65,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":66,"context_line":"               help\u003d_(\u0027Comma separated list of Ironic API requests \u0027"},{"line_number":67,"context_line":"                      \u0027to be ignored during audit. Ex: HEAD,OPTIONS. \u0027"},{"line_number":68,"context_line":"                      \u0027It is used only when Ironic API audit is enabled.\u0027)),"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"]"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"5a18252c_2ad843ef","line":68,"range":{"start_line":50,"start_character":0,"end_line":68,"end_character":76},"updated":"2016-04-12 02:48:29.000000000","message":"It is better that we create a new configuration section group to include these audit options, such as [audit] or [audit_middleware], will be more clear, how do you think?","commit_id":"dfab749c9ff5df81dfdd6d5a238d3e9657ee98ab"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"35a6989c9eda543cff0bbf198ab6cc64a4d44272","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                help\u003d_(\u0027Enable pecan debug mode. WARNING: this is insecure \u0027"},{"line_number":48,"context_line":"                       \u0027and should not be used in a production environment.\u0027)),"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    cfg.BoolOpt(\u0027enable_audit\u0027,"},{"line_number":51,"context_line":"                default\u003dFalse,"},{"line_number":52,"context_line":"                help\u003d_(\u0027Flag that enables Ironic API audit.\u0027)),"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":55,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"},{"line_number":56,"context_line":"               help\u003d_(\u0027Path to audit map file for Ironic API. \u0027"},{"line_number":57,"context_line":"                      \u0027It is used only when Ironic API audit is enabled.\u0027)),"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    cfg.StrOpt(\u0027service_name\u0027,"},{"line_number":60,"context_line":"               default\u003d\u0027ironic\u0027,"},{"line_number":61,"context_line":"               help\u003d_(\u0027Option to set HTTP_X_SERVICE_NAME setting. \u0027"},{"line_number":62,"context_line":"                      \u0027This is used only when Ironic API audit is enabled.\u0027)),"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    cfg.StrOpt(\u0027ignore_req_list\u0027,"},{"line_number":65,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":66,"context_line":"               help\u003d_(\u0027Comma separated list of Ironic API requests \u0027"},{"line_number":67,"context_line":"                      \u0027to be ignored during audit. Ex: HEAD,OPTIONS. \u0027"},{"line_number":68,"context_line":"                      \u0027It is used only when Ironic API audit is enabled.\u0027)),"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"]"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"5a18252c_d1be91fe","line":68,"range":{"start_line":50,"start_character":0,"end_line":68,"end_character":76},"in_reply_to":"5a18252c_2ad843ef","updated":"2016-04-12 13:05:23.000000000","message":"I agree that the lack of audit in the setting name is going to lead to confusion in the [api] configuration section.  At the same time these are very API centric options, although I think we would want to keep enable_audit in the [api] section since that directly impacts if the API auditing is turned on or off.","commit_id":"dfab749c9ff5df81dfdd6d5a238d3e9657ee98ab"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"bdf6ecdb536a3bf4aea50d23d8c27b50bf4bc12a","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                help\u003d_(\u0027Enable pecan debug mode. WARNING: this is insecure \u0027"},{"line_number":48,"context_line":"                       \u0027and should not be used in a production environment.\u0027)),"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    cfg.BoolOpt(\u0027enable_audit\u0027,"},{"line_number":51,"context_line":"                default\u003dFalse,"},{"line_number":52,"context_line":"                help\u003d_(\u0027Flag that enables Ironic API audit.\u0027)),"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":55,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"},{"line_number":56,"context_line":"               help\u003d_(\u0027Path to audit map file for Ironic API. \u0027"},{"line_number":57,"context_line":"                      \u0027It is used only when Ironic API audit is enabled.\u0027)),"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    cfg.StrOpt(\u0027service_name\u0027,"},{"line_number":60,"context_line":"               default\u003d\u0027ironic\u0027,"},{"line_number":61,"context_line":"               help\u003d_(\u0027Option to set HTTP_X_SERVICE_NAME setting. \u0027"},{"line_number":62,"context_line":"                      \u0027This is used only when Ironic API audit is enabled.\u0027)),"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    cfg.StrOpt(\u0027ignore_req_list\u0027,"},{"line_number":65,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":66,"context_line":"               help\u003d_(\u0027Comma separated list of Ironic API requests \u0027"},{"line_number":67,"context_line":"                      \u0027to be ignored during audit. Ex: HEAD,OPTIONS. \u0027"},{"line_number":68,"context_line":"                      \u0027It is used only when Ironic API audit is enabled.\u0027)),"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"]"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"5a18252c_1f747433","line":68,"range":{"start_line":50,"start_character":0,"end_line":68,"end_character":76},"in_reply_to":"5a18252c_d1be91fe","updated":"2016-04-12 23:03:41.000000000","message":"Done","commit_id":"dfab749c9ff5df81dfdd6d5a238d3e9657ee98ab"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"9ca967b5d32bf879e04003bfcc4c1120c074b989","unresolved":false,"context_lines":[{"line_number":74,"context_line":"CONF \u003d cfg.CONF"},{"line_number":75,"context_line":"CONF.register_opts(api_opts)"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"opt_group \u003d cfg.OptGroup(name\u003d\u0027audit\u0027, "},{"line_number":78,"context_line":"                         title\u003d\u0027Options for the audit service\u0027) "},{"line_number":79,"context_line":"CONF.register_group(opt_group) "},{"line_number":80,"context_line":"CONF.register_opts(audit_opts, opt_group) "}],"source_content_type":"text/x-python","patch_set":31,"id":"5a18252c_7f12c8b5","line":77,"range":{"start_line":77,"start_character":38,"end_line":77,"end_character":39},"updated":"2016-04-12 23:08:06.000000000","message":"Trailing whitespace :(","commit_id":"4c897efdca503e7bb154b450d65e1166f0f6f343"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"9b370af1bffb85565751225e08a9c1df8fac247f","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        try:"},{"line_number":118,"context_line":"            app \u003d audit_middleware.AuditMiddleware("},{"line_number":119,"context_line":"                app,"},{"line_number":120,"context_line":"                audit_map_file\u003dCONF.audit_map_file,"},{"line_number":121,"context_line":"                service_name\u003dCONF.service_name,"},{"line_number":122,"context_line":"                ignore_req_list\u003dCONF.ignore_req_list"},{"line_number":123,"context_line":"            )"},{"line_number":124,"context_line":"        except IOError as e:"},{"line_number":125,"context_line":"            raise exception.InputFileError("}],"source_content_type":"text/x-python","patch_set":32,"id":"5a18252c_4a8d637a","line":122,"range":{"start_line":120,"start_character":16,"end_line":122,"end_character":52},"updated":"2016-04-13 14:54:14.000000000","message":"s/CONF/CONF.audit/ needed here.","commit_id":"619e9ed03de452bd16c39c067fc1dcc8fcf36bfa"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"9b370af1bffb85565751225e08a9c1df8fac247f","unresolved":false,"context_lines":[{"line_number":123,"context_line":"            )"},{"line_number":124,"context_line":"        except IOError as e:"},{"line_number":125,"context_line":"            raise exception.InputFileError("},{"line_number":126,"context_line":"                file_name\u003dCONF.audit_map_file,"},{"line_number":127,"context_line":"                reason\u003de"},{"line_number":128,"context_line":"            )"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-python","patch_set":32,"id":"5a18252c_aa3877a1","line":126,"range":{"start_line":126,"start_character":26,"end_line":126,"end_character":30},"updated":"2016-04-13 14:54:14.000000000","message":"and here.","commit_id":"619e9ed03de452bd16c39c067fc1dcc8fcf36bfa"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"4e3b287771219ab891d5447fc058199d76caf79d","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    cfg.BoolOpt(\u0027enable_audit\u0027,"},{"line_number":51,"context_line":"                default\u003dFalse,"},{"line_number":52,"context_line":"                help\u003d_(\u0027Flag that enables Ironic API audit.\u0027)),"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"]"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"5a18252c_784e2b70","line":52,"updated":"2016-04-13 19:07:13.000000000","message":"Are we going to use the audit middleware for *only* API auditing, or do we think we\u0027re going to use it for other kinds of auditing? If it is only for API auditing, maybe the config name should be \u0027enable_api_audit\u0027.\n\nI\u0027d prefer if we didn\u0027t use \u0027Flag\u0027, since it is a configuration option. Take a look at how the other True/False configs are described.","commit_id":"72d4e712a01646ed0f39eafa8bcf4c0084134a4f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"f61b29cdc447cdf62f4f8a2c00b6fd1b443342ec","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    cfg.BoolOpt(\u0027enable_audit\u0027,"},{"line_number":51,"context_line":"                default\u003dFalse,"},{"line_number":52,"context_line":"                help\u003d_(\u0027Flag that enables Ironic API audit.\u0027)),"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"]"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"5a18252c_db4014a8","line":52,"in_reply_to":"5a18252c_784e2b70","updated":"2016-04-13 21:11:15.000000000","message":"What about \u0027enable_api_audit_middleware\u0027 ?","commit_id":"72d4e712a01646ed0f39eafa8bcf4c0084134a4f"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"fd37544713623f0e920885396f239d00163f7642","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    cfg.BoolOpt(\u0027enable_audit\u0027,"},{"line_number":51,"context_line":"                default\u003dFalse,"},{"line_number":52,"context_line":"                help\u003d_(\u0027Flag that enables Ironic API audit.\u0027)),"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"]"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"5a18252c_271c8776","line":52,"in_reply_to":"5a18252c_db4014a8","updated":"2016-04-13 23:29:56.000000000","message":"Done","commit_id":"72d4e712a01646ed0f39eafa8bcf4c0084134a4f"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"4e3b287771219ab891d5447fc058199d76caf79d","unresolved":false,"context_lines":[{"line_number":56,"context_line":"audit_opts \u003d ["},{"line_number":57,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":58,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"},{"line_number":59,"context_line":"               help\u003d_(\u0027Path to audit map file for Ironic API. \u0027"},{"line_number":60,"context_line":"                      \u0027It is used only when Ironic API audit is enabled.\u0027)),"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    cfg.StrOpt(\u0027service_name\u0027,"}],"source_content_type":"text/x-python","patch_set":34,"id":"5a18252c_b859e300","line":59,"updated":"2016-04-13 19:07:13.000000000","message":"What do you mean by \u0027Ironic API\u0027? The ironic-api service?","commit_id":"72d4e712a01646ed0f39eafa8bcf4c0084134a4f"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"fd37544713623f0e920885396f239d00163f7642","unresolved":false,"context_lines":[{"line_number":56,"context_line":"audit_opts \u003d ["},{"line_number":57,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":58,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"},{"line_number":59,"context_line":"               help\u003d_(\u0027Path to audit map file for Ironic API. \u0027"},{"line_number":60,"context_line":"                      \u0027It is used only when Ironic API audit is enabled.\u0027)),"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    cfg.StrOpt(\u0027service_name\u0027,"}],"source_content_type":"text/x-python","patch_set":34,"id":"5a18252c_e2471d49","line":59,"in_reply_to":"5a18252c_7b02a070","updated":"2016-04-13 23:29:56.000000000","message":"Done","commit_id":"72d4e712a01646ed0f39eafa8bcf4c0084134a4f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"f61b29cdc447cdf62f4f8a2c00b6fd1b443342ec","unresolved":false,"context_lines":[{"line_number":56,"context_line":"audit_opts \u003d ["},{"line_number":57,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":58,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"},{"line_number":59,"context_line":"               help\u003d_(\u0027Path to audit map file for Ironic API. \u0027"},{"line_number":60,"context_line":"                      \u0027It is used only when Ironic API audit is enabled.\u0027)),"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    cfg.StrOpt(\u0027service_name\u0027,"}],"source_content_type":"text/x-python","patch_set":34,"id":"5a18252c_7b02a070","line":59,"in_reply_to":"5a18252c_b859e300","updated":"2016-04-13 21:11:15.000000000","message":"+1 API Service should be delineated for users who are not aware of what the middleware is.","commit_id":"72d4e712a01646ed0f39eafa8bcf4c0084134a4f"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"4e3b287771219ab891d5447fc058199d76caf79d","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    cfg.StrOpt(\u0027service_name\u0027,"},{"line_number":63,"context_line":"               default\u003d\u0027ironic\u0027,"},{"line_number":64,"context_line":"               help\u003d_(\u0027Option to set HTTP_X_SERVICE_NAME setting. \u0027"},{"line_number":65,"context_line":"                      \u0027This is used only when Ironic API audit is enabled.\u0027)),"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    cfg.StrOpt(\u0027ignore_req_list\u0027,"}],"source_content_type":"text/x-python","patch_set":34,"id":"5a18252c_4330a09e","line":64,"updated":"2016-04-13 19:07:13.000000000","message":"Dumb question. What is HTTP_X_SERVICE_NAME and when is it used?","commit_id":"72d4e712a01646ed0f39eafa8bcf4c0084134a4f"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"4e3b287771219ab891d5447fc058199d76caf79d","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    cfg.StrOpt(\u0027ignore_req_list\u0027,"},{"line_number":68,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":69,"context_line":"               help\u003d_(\u0027Comma separated list of Ironic API requests \u0027"},{"line_number":70,"context_line":"                      \u0027to be ignored during audit. Ex: HEAD,OPTIONS. \u0027"},{"line_number":71,"context_line":"                      \u0027It is used only when Ironic API audit is enabled.\u0027)),"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"5a18252c_033188ec","line":69,"updated":"2016-04-13 19:07:13.000000000","message":"these are methods, right? maybe s/requests/request methods/\n\nHmm, maybe the correct term is \u0027HTTP methods\u0027 (just did a quick internet search).","commit_id":"72d4e712a01646ed0f39eafa8bcf4c0084134a4f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"f61b29cdc447cdf62f4f8a2c00b6fd1b443342ec","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    cfg.StrOpt(\u0027ignore_req_list\u0027,"},{"line_number":68,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":69,"context_line":"               help\u003d_(\u0027Comma separated list of Ironic API requests \u0027"},{"line_number":70,"context_line":"                      \u0027to be ignored during audit. Ex: HEAD,OPTIONS. \u0027"},{"line_number":71,"context_line":"                      \u0027It is used only when Ironic API audit is enabled.\u0027)),"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"5a18252c_9b9a1c62","line":69,"in_reply_to":"5a18252c_033188ec","updated":"2016-04-13 21:11:15.000000000","message":"+1 on \u0027HTTP methods\u0027 or \u0027HTTP verbs\u0027\n\nAdditionally if we want to be specific about which API interface this is related to as noted with regards to line 59, then perhaps s/API/REST API/ b to appropriately set use context.","commit_id":"72d4e712a01646ed0f39eafa8bcf4c0084134a4f"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"fd37544713623f0e920885396f239d00163f7642","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    cfg.StrOpt(\u0027ignore_req_list\u0027,"},{"line_number":68,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":69,"context_line":"               help\u003d_(\u0027Comma separated list of Ironic API requests \u0027"},{"line_number":70,"context_line":"                      \u0027to be ignored during audit. Ex: HEAD,OPTIONS. \u0027"},{"line_number":71,"context_line":"                      \u0027It is used only when Ironic API audit is enabled.\u0027)),"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"5a18252c_622aed2d","line":69,"in_reply_to":"5a18252c_9b9a1c62","updated":"2016-04-13 23:29:56.000000000","message":"Done","commit_id":"72d4e712a01646ed0f39eafa8bcf4c0084134a4f"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"4e3b287771219ab891d5447fc058199d76caf79d","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    cfg.StrOpt(\u0027ignore_req_list\u0027,"},{"line_number":68,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":69,"context_line":"               help\u003d_(\u0027Comma separated list of Ironic API requests \u0027"},{"line_number":70,"context_line":"                      \u0027to be ignored during audit. Ex: HEAD,OPTIONS. \u0027"},{"line_number":71,"context_line":"                      \u0027It is used only when Ironic API audit is enabled.\u0027)),"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":34,"id":"5a18252c_b8de033d","line":70,"updated":"2016-04-13 19:07:13.000000000","message":"s/Ex:/For example:/","commit_id":"72d4e712a01646ed0f39eafa8bcf4c0084134a4f"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"fd37544713623f0e920885396f239d00163f7642","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    cfg.StrOpt(\u0027ignore_req_list\u0027,"},{"line_number":68,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":69,"context_line":"               help\u003d_(\u0027Comma separated list of Ironic API requests \u0027"},{"line_number":70,"context_line":"                      \u0027to be ignored during audit. Ex: HEAD,OPTIONS. \u0027"},{"line_number":71,"context_line":"                      \u0027It is used only when Ironic API audit is enabled.\u0027)),"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":34,"id":"5a18252c_82274963","line":70,"in_reply_to":"5a18252c_b8de033d","updated":"2016-04-13 23:29:56.000000000","message":"Done","commit_id":"72d4e712a01646ed0f39eafa8bcf4c0084134a4f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"61781d496bc69d5d9971c6e395c07c7b5a8f4ac2","unresolved":false,"context_lines":[{"line_number":59,"context_line":"               help\u003d_(\u0027Path to audit map file for ironic-api service. \u0027"},{"line_number":60,"context_line":"                      \u0027Used only when API audit is enabled.\u0027)),"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    cfg.StrOpt(\u0027service_name\u0027,"},{"line_number":63,"context_line":"               default\u003d\u0027ironic\u0027,"},{"line_number":64,"context_line":"               help\u003d_(\u0027Option to set HTTP_X_SERVICE_NAME setting. \u0027"},{"line_number":65,"context_line":"                      \u0027Used only when API audit is enabled.\u0027)),"}],"source_content_type":"text/x-python","patch_set":39,"id":"1a122d0e_b68de62c","line":62,"updated":"2016-04-21 12:20:52.000000000","message":"Please re-remove this option as the community agreed.","commit_id":"e8007e9957bb895691984b9b64b19bf03b3353b7"},{"author":{"_account_id":7080,"name":"Mathieu Mitchell","email":"mat128@gmail.com","username":"mat128"},"change_message_id":"0b7afa74bb257a5bc3da412be59c468360865246","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        help\u003d_(\u0027Authentication strategy used by ironic-api. \"noauth\" should \u0027"},{"line_number":37,"context_line":"               \u0027not be used in a production environment because all \u0027"},{"line_number":38,"context_line":"               \u0027authentication will be disabled.\u0027)),"},{"line_number":39,"context_line":"    cfg.BoolOpt(\u0027debug_tracebacks_in_api\u0027,"},{"line_number":40,"context_line":"                default\u003dFalse,"},{"line_number":41,"context_line":"                help\u003d_(\u0027Return server tracebacks in the API response for any \u0027"},{"line_number":42,"context_line":"                       \u0027error responses. WARNING: this is insecure \u0027"}],"source_content_type":"text/x-python","patch_set":40,"id":"dab17558_fddc0948","line":39,"updated":"2016-05-13 13:43:45.000000000","message":"nit: Missing line break (consistency with the following changes)","commit_id":"033560f6eeafeaca99f49b524bc683c43979e160"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"f04f52ce97047b8058b6a8a8fe9375c3b32234ac","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        help\u003d_(\u0027Authentication strategy used by ironic-api. \"noauth\" should \u0027"},{"line_number":37,"context_line":"               \u0027not be used in a production environment because all \u0027"},{"line_number":38,"context_line":"               \u0027authentication will be disabled.\u0027)),"},{"line_number":39,"context_line":"    cfg.BoolOpt(\u0027debug_tracebacks_in_api\u0027,"},{"line_number":40,"context_line":"                default\u003dFalse,"},{"line_number":41,"context_line":"                help\u003d_(\u0027Return server tracebacks in the API response for any \u0027"},{"line_number":42,"context_line":"                       \u0027error responses. WARNING: this is insecure \u0027"}],"source_content_type":"text/x-python","patch_set":40,"id":"dab17558_abdcf718","line":39,"in_reply_to":"dab17558_fddc0948","updated":"2016-05-13 14:27:00.000000000","message":"Done. I agree here I think it makes it easier to read.","commit_id":"033560f6eeafeaca99f49b524bc683c43979e160"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"c13e18347dd0ff604005fcfff938f7db048ba0a6","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    cfg.BoolOpt(\u0027enable_api_audit_middleware\u0027,"},{"line_number":52,"context_line":"                default\u003dFalse,"},{"line_number":53,"context_line":"                help\u003d_(\u0027Enables Ironic API audit middleware.\u0027)),"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"]"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":45,"id":"7aa08908_1c9b0ccb","line":53,"updated":"2016-06-06 04:58:45.000000000","message":"nit: s/Enables/Enable/\n\nnit a nit: lets move it as \"enabled\" option to the \"audit\" section.","commit_id":"53791e85c9260bfc42dc655b247a9ad3fc3b7e14"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"ccf49d08244aa355d1f8adf29147a5c0df4ec041","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    cfg.BoolOpt(\u0027enable_api_audit_middleware\u0027,"},{"line_number":52,"context_line":"                default\u003dFalse,"},{"line_number":53,"context_line":"                help\u003d_(\u0027Enables Ironic API audit middleware.\u0027)),"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"]"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":45,"id":"7aa08908_4d82fc01","line":53,"in_reply_to":"7aa08908_1c9b0ccb","updated":"2016-06-06 08:32:36.000000000","message":"Moving it to audit keeping the option name enable_api_audit_middleware as i feel like it is better name let me know your opinion.","commit_id":"53791e85c9260bfc42dc655b247a9ad3fc3b7e14"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"84e5238bd7e110056bd4339eeabe148be8e50e1c","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    cfg.BoolOpt(\u0027enable_api_audit_middleware\u0027,"},{"line_number":52,"context_line":"                default\u003dFalse,"},{"line_number":53,"context_line":"                help\u003d_(\u0027Enables Ironic API audit middleware.\u0027)),"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"]"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":45,"id":"7aa08908_b86abd18","line":53,"in_reply_to":"7aa08908_4d82fc01","updated":"2016-06-06 08:43:26.000000000","message":"I\u0027d prefer not to duplicate word \"audit\".","commit_id":"53791e85c9260bfc42dc655b247a9ad3fc3b7e14"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"59ed0fa989833573efa2af90507b6df658a00d98","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    cfg.BoolOpt(\u0027enable_api_audit_middleware\u0027,"},{"line_number":52,"context_line":"                default\u003dFalse,"},{"line_number":53,"context_line":"                help\u003d_(\u0027Enables Ironic API audit middleware.\u0027)),"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"]"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":45,"id":"7aa08908_2191749a","line":53,"in_reply_to":"7aa08908_b86abd18","updated":"2016-06-06 09:31:13.000000000","message":"Done","commit_id":"53791e85c9260bfc42dc655b247a9ad3fc3b7e14"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"c13e18347dd0ff604005fcfff938f7db048ba0a6","unresolved":false,"context_lines":[{"line_number":60,"context_line":"               help\u003d_(\u0027Path to audit map file for ironic-api service. \u0027"},{"line_number":61,"context_line":"                      \u0027Used only when API audit is enabled.\u0027)),"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    cfg.StrOpt(\u0027ignore_req_list\u0027,"},{"line_number":64,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":65,"context_line":"               help\u003d_(\u0027Comma separated list of Ironic REST API HTTP methods \u0027"},{"line_number":66,"context_line":"                      \u0027to be ignored during audit. For example: HEAD,\u0027"}],"source_content_type":"text/x-python","patch_set":45,"id":"7aa08908_fc9f20b2","line":63,"updated":"2016-06-06 04:58:45.000000000","message":"note: I don\u0027t like this name at all, but seems like it comes from the audit middleware itself..","commit_id":"53791e85c9260bfc42dc655b247a9ad3fc3b7e14"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"c13e18347dd0ff604005fcfff938f7db048ba0a6","unresolved":false,"context_lines":[{"line_number":116,"context_line":"                audit_map_file\u003dCONF.audit.audit_map_file,"},{"line_number":117,"context_line":"                ignore_req_list\u003dCONF.audit.ignore_req_list"},{"line_number":118,"context_line":"            )"},{"line_number":119,"context_line":"        except IOError as e:"},{"line_number":120,"context_line":"            raise exception.InputFileError("},{"line_number":121,"context_line":"                file_name\u003dCONF.audit.audit_map_file,"},{"line_number":122,"context_line":"                reason\u003de"}],"source_content_type":"text/x-python","patch_set":45,"id":"7aa08908_5ca59402","line":119,"updated":"2016-06-06 04:58:45.000000000","message":"s/IOError/EnvironmentError/ to also include OSError here","commit_id":"53791e85c9260bfc42dc655b247a9ad3fc3b7e14"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"ccf49d08244aa355d1f8adf29147a5c0df4ec041","unresolved":false,"context_lines":[{"line_number":116,"context_line":"                audit_map_file\u003dCONF.audit.audit_map_file,"},{"line_number":117,"context_line":"                ignore_req_list\u003dCONF.audit.ignore_req_list"},{"line_number":118,"context_line":"            )"},{"line_number":119,"context_line":"        except IOError as e:"},{"line_number":120,"context_line":"            raise exception.InputFileError("},{"line_number":121,"context_line":"                file_name\u003dCONF.audit.audit_map_file,"},{"line_number":122,"context_line":"                reason\u003de"}],"source_content_type":"text/x-python","patch_set":45,"id":"7aa08908_cd76ec3d","line":119,"in_reply_to":"7aa08908_5ca59402","updated":"2016-06-06 08:32:36.000000000","message":"Done","commit_id":"53791e85c9260bfc42dc655b247a9ad3fc3b7e14"},{"author":{"_account_id":10697,"name":"Thiago Paiva Brito","email":"thiagop@lsd.ufcg.edu.br","username":"thiagop","inactive":true},"change_message_id":"e655ce48f04c3b478ab1f0c71ca2b2534d855edc","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"]"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"audit_opts \u003d ["},{"line_number":55,"context_line":"    cfg.BoolOpt(\u0027enabled\u0027,"},{"line_number":56,"context_line":"                default\u003dFalse,"},{"line_number":57,"context_line":"                help\u003d_(\u0027Enable Ironic API audit middleware.\u0027)),"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":60,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"},{"line_number":61,"context_line":"               help\u003d_(\u0027Path to audit map file for ironic-api service. \u0027"},{"line_number":62,"context_line":"                      \u0027Used only when API audit is enabled.\u0027)),"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    cfg.StrOpt(\u0027ignore_req_list\u0027,"},{"line_number":65,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":66,"context_line":"               help\u003d_(\u0027Comma separated list of Ironic REST API HTTP methods \u0027"},{"line_number":67,"context_line":"                      \u0027to be ignored during audit. For example: HEAD,\u0027"},{"line_number":68,"context_line":"                      \u0027OPTIONS. It is used only when API audit \u0027"},{"line_number":69,"context_line":"                      \u0027is enabled.\u0027)),"},{"line_number":70,"context_line":"]"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":48,"id":"7aa08908_e69e3bb7","line":69,"range":{"start_line":54,"start_character":0,"end_line":69,"end_character":38},"updated":"2016-06-06 19:58:20.000000000","message":"Those options aren\u0027t on the sample file.","commit_id":"55a31552bbb6ae5982dd9a36539d9bf4cf801aaa"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"dd46a16ed10ca5e361c41966662bd1d5b71537ab","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                help\u003d_(\u0027Enable pecan debug mode. WARNING: this is insecure \u0027"},{"line_number":49,"context_line":"                       \u0027and should not be used in a production environment.\u0027)),"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"]"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"audit_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":49,"id":"7aa08908_eca24efb","line":51,"updated":"2016-06-13 13:07:37.000000000","message":"nit: two excess lines?","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e46dc50b81dde71c92df3ebdbcf2c5d2c82d5115","unresolved":false,"context_lines":[{"line_number":122,"context_line":"            raise exception.InputFileError("},{"line_number":123,"context_line":"                file_name\u003dCONF.audit.audit_map_file,"},{"line_number":124,"context_line":"                reason\u003de"},{"line_number":125,"context_line":"            )"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    if pecan_config.app.enable_acl:"},{"line_number":128,"context_line":"        app \u003d acl.install(app, cfg.CONF, pecan_config.app.acl_public_routes)"}],"source_content_type":"text/x-python","patch_set":49,"id":"7aa08908_0fdbf04f","line":125,"updated":"2016-06-15 01:20:45.000000000","message":"I took a quick look at AuditMiddleware. It looks like it could raise PycadfAuditApiConfigError (in audit_middleware.OpenStackAuditApi()) ?","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"eabb5fc2c2817f8fa95ce152e18e34a150fb3f85","unresolved":false,"context_lines":[{"line_number":122,"context_line":"            raise exception.InputFileError("},{"line_number":123,"context_line":"                file_name\u003dCONF.audit.audit_map_file,"},{"line_number":124,"context_line":"                reason\u003de"},{"line_number":125,"context_line":"            )"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    if pecan_config.app.enable_acl:"},{"line_number":128,"context_line":"        app \u003d acl.install(app, cfg.CONF, pecan_config.app.acl_public_routes)"}],"source_content_type":"text/x-python","patch_set":49,"id":"7aa08908_eea2dffb","line":125,"in_reply_to":"7aa08908_0fdbf04f","updated":"2016-06-15 06:45:45.000000000","message":"if audit is enabled and audit map file is provided with parameters. It should be fine to raise exception let me know ur opinion.","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"8d99d66039bf14ef20172016f690aa3e42ba5299","unresolved":false,"context_lines":[{"line_number":122,"context_line":"            raise exception.InputFileError("},{"line_number":123,"context_line":"                file_name\u003dCONF.audit.audit_map_file,"},{"line_number":124,"context_line":"                reason\u003de"},{"line_number":125,"context_line":"            )"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    if pecan_config.app.enable_acl:"},{"line_number":128,"context_line":"        app \u003d acl.install(app, cfg.CONF, pecan_config.app.acl_public_routes)"}],"source_content_type":"text/x-python","patch_set":49,"id":"7aa08908_abc6f365","line":125,"in_reply_to":"7aa08908_eea2dffb","updated":"2016-06-15 13:50:41.000000000","message":"We need to catch the exception and fail appropriately.  Please update the latest revision to catch that exception.","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"02a7ab3296e1321289a059c317339a60d27131da","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    cfg.BoolOpt(\u0027enabled\u0027,"},{"line_number":55,"context_line":"                default\u003dFalse,"},{"line_number":56,"context_line":"                help\u003d_(\u0027Enable auditing of API requests\u0027"},{"line_number":57,"context_line":"                       \u0027(for ironic-api service).\u0027)),"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":60,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"}],"source_content_type":"text/x-python","patch_set":52,"id":"7aa08908_79c854a9","line":57,"updated":"2016-06-15 19:31:16.000000000","message":"missing a blank space before \u0027(\u0027.","commit_id":"6c0c0e42ff5d57387e5477542ab1db399960ae39"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"ce7814fc99daf7ad148234737b930cd3e8965b12","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    cfg.BoolOpt(\u0027enabled\u0027,"},{"line_number":55,"context_line":"                default\u003dFalse,"},{"line_number":56,"context_line":"                help\u003d_(\u0027Enable auditing of API requests\u0027"},{"line_number":57,"context_line":"                       \u0027(for ironic-api service).\u0027)),"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":60,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"}],"source_content_type":"text/x-python","patch_set":52,"id":"7aa08908_092285a3","line":57,"in_reply_to":"7aa08908_79c854a9","updated":"2016-06-16 09:06:18.000000000","message":"Done","commit_id":"6c0c0e42ff5d57387e5477542ab1db399960ae39"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"3b266bfb4281d368a1eb88e270751fa14922fa69","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    cfg.StrOpt(\u0027ignore_req_list\u0027,"},{"line_number":65,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":66,"context_line":"               help\u003d_(\u0027Comma separated list of Ironic REST API HTTP methods \u0027"},{"line_number":67,"context_line":"                      \u0027to be ignored during audit. For example: GET,\u0027"},{"line_number":68,"context_line":"                      \u0027POST. It is used only when API audit \u0027"},{"line_number":69,"context_line":"                      \u0027is enabled.\u0027)),"},{"line_number":70,"context_line":"]"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":52,"id":"7aa08908_eb28fbf0","line":68,"range":{"start_line":67,"start_character":64,"end_line":68,"end_character":28},"updated":"2016-06-15 13:55:08.000000000","message":"I have a big problem with listing GET/POST in the example as users might think that they are okay to list, when functionally those may defeat the purpose of the feature. That being said I will happily leave it be if the community disagrees with me.","commit_id":"6c0c0e42ff5d57387e5477542ab1db399960ae39"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"02a7ab3296e1321289a059c317339a60d27131da","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    cfg.StrOpt(\u0027ignore_req_list\u0027,"},{"line_number":65,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":66,"context_line":"               help\u003d_(\u0027Comma separated list of Ironic REST API HTTP methods \u0027"},{"line_number":67,"context_line":"                      \u0027to be ignored during audit. For example: GET,\u0027"},{"line_number":68,"context_line":"                      \u0027POST. It is used only when API audit \u0027"},{"line_number":69,"context_line":"                      \u0027is enabled.\u0027)),"},{"line_number":70,"context_line":"]"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":52,"id":"7aa08908_19d67027","line":68,"range":{"start_line":67,"start_character":64,"end_line":68,"end_character":28},"in_reply_to":"7aa08908_eb28fbf0","updated":"2016-06-15 19:31:16.000000000","message":"Well, it says \u0027to be ignored\u0027. How about:\n\nFor example, auditing will not be done on any GET or POST requests if this is set to \"GET,POST\".","commit_id":"6c0c0e42ff5d57387e5477542ab1db399960ae39"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"3b266bfb4281d368a1eb88e270751fa14922fa69","unresolved":false,"context_lines":[{"line_number":118,"context_line":"                audit_map_file\u003dCONF.audit.audit_map_file,"},{"line_number":119,"context_line":"                ignore_req_list\u003dCONF.audit.ignore_req_list"},{"line_number":120,"context_line":"            )"},{"line_number":121,"context_line":"        except (EnvironmentError, OSError) as e:"},{"line_number":122,"context_line":"            raise exception.InputFileError("},{"line_number":123,"context_line":"                file_name\u003dCONF.audit.audit_map_file,"},{"line_number":124,"context_line":"                reason\u003de"}],"source_content_type":"text/x-python","patch_set":52,"id":"7aa08908_4b778f3b","line":121,"updated":"2016-06-15 13:55:08.000000000","message":"This exception needs to be updated to catch the exception of an invalid format being parsed that will be raised by Pycadf.","commit_id":"6c0c0e42ff5d57387e5477542ab1db399960ae39"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"1abf277750c2bb4edade000d0ca4882172aa34a5","unresolved":false,"context_lines":[{"line_number":118,"context_line":"                audit_map_file\u003dCONF.audit.audit_map_file,"},{"line_number":119,"context_line":"                ignore_req_list\u003dCONF.audit.ignore_req_list"},{"line_number":120,"context_line":"            )"},{"line_number":121,"context_line":"        except (EnvironmentError, OSError) as e:"},{"line_number":122,"context_line":"            raise exception.InputFileError("},{"line_number":123,"context_line":"                file_name\u003dCONF.audit.audit_map_file,"},{"line_number":124,"context_line":"                reason\u003de"}],"source_content_type":"text/x-python","patch_set":52,"id":"7aa08908_a311f755","line":121,"in_reply_to":"7aa08908_4b778f3b","updated":"2016-06-15 14:29:17.000000000","message":"++","commit_id":"6c0c0e42ff5d57387e5477542ab1db399960ae39"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"02a7ab3296e1321289a059c317339a60d27131da","unresolved":false,"context_lines":[{"line_number":118,"context_line":"                audit_map_file\u003dCONF.audit.audit_map_file,"},{"line_number":119,"context_line":"                ignore_req_list\u003dCONF.audit.ignore_req_list"},{"line_number":120,"context_line":"            )"},{"line_number":121,"context_line":"        except (EnvironmentError, OSError) as e:"},{"line_number":122,"context_line":"            raise exception.InputFileError("},{"line_number":123,"context_line":"                file_name\u003dCONF.audit.audit_map_file,"},{"line_number":124,"context_line":"                reason\u003de"}],"source_content_type":"text/x-python","patch_set":52,"id":"7aa08908_f99d6467","line":121,"in_reply_to":"7aa08908_a311f755","updated":"2016-06-15 19:31:16.000000000","message":"Lokesh, we try to only raise Ironic exceptions from the ironic code. I suspect the user might be confused to see a PycadfAuditApiConfigError and may not know what that means/what to do with it.","commit_id":"6c0c0e42ff5d57387e5477542ab1db399960ae39"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"ce7814fc99daf7ad148234737b930cd3e8965b12","unresolved":false,"context_lines":[{"line_number":118,"context_line":"                audit_map_file\u003dCONF.audit.audit_map_file,"},{"line_number":119,"context_line":"                ignore_req_list\u003dCONF.audit.ignore_req_list"},{"line_number":120,"context_line":"            )"},{"line_number":121,"context_line":"        except (EnvironmentError, OSError) as e:"},{"line_number":122,"context_line":"            raise exception.InputFileError("},{"line_number":123,"context_line":"                file_name\u003dCONF.audit.audit_map_file,"},{"line_number":124,"context_line":"                reason\u003de"}],"source_content_type":"text/x-python","patch_set":52,"id":"7aa08908_693989d8","line":121,"in_reply_to":"7aa08908_f99d6467","updated":"2016-06-16 09:06:18.000000000","message":"Done","commit_id":"6c0c0e42ff5d57387e5477542ab1db399960ae39"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"7cda78d9c57313fb64764a79fcf757cd5231f3aa","unresolved":false,"context_lines":[{"line_number":121,"context_line":"                ignore_req_list\u003dCONF.audit.ignore_req_list"},{"line_number":122,"context_line":"            )"},{"line_number":123,"context_line":"        except (EnvironmentError, OSError, PycadfAuditApiConfigError) as e:"},{"line_number":124,"context_line":"            raise exception.InputFileError("},{"line_number":125,"context_line":"                file_name\u003dCONF.audit.audit_map_file,"},{"line_number":126,"context_line":"                reason\u003de"},{"line_number":127,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":53,"id":"7aa08908_34398ad9","line":124,"updated":"2016-06-16 13:28:43.000000000","message":"for the Pycadf* exception, the user will see \u0027File ... cannot be read. Reason...\u0027. So depending on how one interprets \u0027read\u0027, this is sort of true. I mean, it can\u0027t be \u0027interpreted\u0027 properly, which sort of means it can\u0027t be read. What kind of error string does the Pycadf* exception return?","commit_id":"a24ef24eea929d2b35a788bd0ad715be82bd7572"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"0ec23eaf4fec5473ba0b18a08227dee7bf615780","unresolved":false,"context_lines":[{"line_number":121,"context_line":"                ignore_req_list\u003dCONF.audit.ignore_req_list"},{"line_number":122,"context_line":"            )"},{"line_number":123,"context_line":"        except (EnvironmentError, OSError, PycadfAuditApiConfigError) as e:"},{"line_number":124,"context_line":"            raise exception.InputFileError("},{"line_number":125,"context_line":"                file_name\u003dCONF.audit.audit_map_file,"},{"line_number":126,"context_line":"                reason\u003de"},{"line_number":127,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":53,"id":"7aa08908_147c35b4","line":124,"in_reply_to":"7aa08908_34398ad9","updated":"2016-06-16 20:57:05.000000000","message":"will update text in the exception to more generic.","commit_id":"a24ef24eea929d2b35a788bd0ad715be82bd7572"}],"ironic/common/exception.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"66f12d4c5f4c781b966a090b55a963f6fc2f9d79","unresolved":false,"context_lines":[{"line_number":251,"context_line":"    _msg_fmt \u003d _(\"Instance %(instance)s could not be found.\")"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"class InputFileError(NotFound):"},{"line_number":255,"context_line":"    _msg_fmt \u003d _(\"File %(file_name)s cannot be read. %(reason)s\")"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"7a1b2928_57c53c3a","line":254,"range":{"start_line":254,"start_character":21,"end_line":254,"end_character":29},"updated":"2016-04-11 19:56:30.000000000","message":"The parent NotFound seems to be intended for an API response, not a unable to open file on the filesystem.  https://github.com/openstack/ironic/blob/master/ironic/common/exception.py#L240\nLooking at PathNotFound, I think IronicException is likely what it should be set to.","commit_id":"00c068bfb596853efafae201a90cca61797a8523"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"b8db0001619a851301d296fbb497159779f05ce7","unresolved":false,"context_lines":[{"line_number":251,"context_line":"    _msg_fmt \u003d _(\"Instance %(instance)s could not be found.\")"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"class InputFileError(NotFound):"},{"line_number":255,"context_line":"    _msg_fmt \u003d _(\"File %(file_name)s cannot be read. %(reason)s\")"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"5a18252c_35ca7050","line":254,"range":{"start_line":254,"start_character":21,"end_line":254,"end_character":29},"in_reply_to":"7a1b2928_57c53c3a","updated":"2016-04-11 21:10:11.000000000","message":"Done","commit_id":"00c068bfb596853efafae201a90cca61797a8523"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"e2ee78ada16a07471eaeabf72f58d017d26f44dd","unresolved":false,"context_lines":[{"line_number":264,"context_line":""},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"class InputFileError(IronicException):"},{"line_number":267,"context_line":"    _msg_fmt \u003d _(\"File %(file_name)s cannot be read. %(reason)s\")"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"class NodeNotFound(NotFound):"}],"source_content_type":"text/x-python","patch_set":30,"id":"5a18252c_4a893fca","line":267,"range":{"start_line":267,"start_character":52,"end_line":267,"end_character":64},"updated":"2016-04-12 02:48:29.000000000","message":"nit: \ns / %(reason) / Reason: %(reason)s","commit_id":"dfab749c9ff5df81dfdd6d5a238d3e9657ee98ab"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"bdf6ecdb536a3bf4aea50d23d8c27b50bf4bc12a","unresolved":false,"context_lines":[{"line_number":264,"context_line":""},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"class InputFileError(IronicException):"},{"line_number":267,"context_line":"    _msg_fmt \u003d _(\"File %(file_name)s cannot be read. %(reason)s\")"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"class NodeNotFound(NotFound):"}],"source_content_type":"text/x-python","patch_set":30,"id":"5a18252c_3fae9085","line":267,"range":{"start_line":267,"start_character":52,"end_line":267,"end_character":64},"in_reply_to":"5a18252c_4a893fca","updated":"2016-04-12 23:03:41.000000000","message":"Done","commit_id":"dfab749c9ff5df81dfdd6d5a238d3e9657ee98ab"}],"ironic/conf/audit.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"89630186496406859977d9b55ef5a9afed7411c9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#"},{"line_number":2,"context_line":"# Copyright 2016 Intel Corporation"},{"line_number":3,"context_line":"# Copyright 2015, Cisco Systems."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":6,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":67,"id":"dada55a8_21ddcb42","line":3,"range":{"start_line":2,"start_character":0,"end_line":3,"end_character":32},"updated":"2016-07-25 12:55:07.000000000","message":"Umm... is this right?  Given new file...","commit_id":"34f6fe123b8049cf7a002d4f7defe3c9b94b168a"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"7898ebef0cc47c830e98ce68e2d3f93066793e2c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#"},{"line_number":2,"context_line":"# Copyright 2016 Intel Corporation"},{"line_number":3,"context_line":"# Copyright 2015, Cisco Systems."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":6,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":67,"id":"dada55a8_b038e23e","line":3,"range":{"start_line":2,"start_character":0,"end_line":3,"end_character":32},"in_reply_to":"dada55a8_21ddcb42","updated":"2016-07-25 14:34:24.000000000","message":"mistake :) Done!","commit_id":"34f6fe123b8049cf7a002d4f7defe3c9b94b168a"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"d4cbcc64717e23b5d86b0165a91e5fc771daf8fe","unresolved":false,"context_lines":[{"line_number":26,"context_line":"                      \u0027Used only when API audit is enabled.\u0027)),"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    cfg.StrOpt(\u0027ignore_req_list\u0027,"},{"line_number":29,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":30,"context_line":"               help\u003d_(\u0027Comma separated list of Ironic REST API HTTP methods \u0027"},{"line_number":31,"context_line":"                      \u0027to be ignored during audit. For example: auditing \u0027"},{"line_number":32,"context_line":"                      \u0027will not be done on any GET or POST requests \u0027"}],"source_content_type":"text/x-python","patch_set":68,"id":"dada55a8_e542713d","line":29,"range":{"start_line":29,"start_character":15,"end_line":29,"end_character":26},"updated":"2016-07-26 06:59:29.000000000","message":"Why do you want t o pass default as \u0027 \u0027. It would generate conf with entry as \n#ignore_req_list \u003d\n\nIf someone uncomments all default options, it would fail.\n\nIf you remove this line, it would get generated with default value as \u0027None\u0027\n#ignore_req_list \u003d \u003cNone\u003e","commit_id":"3d87599df56be11463e5a76fbfe353ab3cb285c9"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"f653012ec35b69267ccbfb2032852525deb82bb9","unresolved":false,"context_lines":[{"line_number":26,"context_line":"                      \u0027Used only when API audit is enabled.\u0027)),"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    cfg.StrOpt(\u0027ignore_req_list\u0027,"},{"line_number":29,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":30,"context_line":"               help\u003d_(\u0027Comma separated list of Ironic REST API HTTP methods \u0027"},{"line_number":31,"context_line":"                      \u0027to be ignored during audit. For example: auditing \u0027"},{"line_number":32,"context_line":"                      \u0027will not be done on any GET or POST requests \u0027"}],"source_content_type":"text/x-python","patch_set":68,"id":"dada55a8_3aa81277","line":29,"range":{"start_line":29,"start_character":15,"end_line":29,"end_character":26},"in_reply_to":"dada55a8_e542713d","updated":"2016-07-26 13:26:49.000000000","message":"i dont think this should be reason to give -1. Could have done in follow-up patch. But will update as patch is in merge conflict.","commit_id":"3d87599df56be11463e5a76fbfe353ab3cb285c9"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"41939c2505d384eca2a747ef40f0e1d1857005e4","unresolved":false,"context_lines":[{"line_number":21,"context_line":"                       \u0027 (for ironic-api service).\u0027)),"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    cfg.StrOpt(\u0027audit_map_file\u0027,"},{"line_number":24,"context_line":"               default\u003d\u0027/etc/ironic/ironic_api_audit_map.conf\u0027,"},{"line_number":25,"context_line":"               help\u003d_(\u0027Path to audit map file for ironic-api service. \u0027"},{"line_number":26,"context_line":"                      \u0027Used only when API audit is enabled.\u0027)),"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-python","patch_set":71,"id":"bacf61ea_42713677","line":24,"updated":"2016-08-02 13:33:32.000000000","message":"I\u0027d prefer this to be \u0027/etc/ironic/api_audit_map.conf\u0027, but not a big deal","commit_id":"295b35c48f7dcc2983a19d4114254bea85239b3a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"1a6f60a66d11362dd79eda33742bf8696e031204","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    cfg.StrOpt(\u0027ignore_req_list\u0027,"},{"line_number":29,"context_line":"               help\u003d_(\u0027Comma separated list of Ironic REST API HTTP methods \u0027"},{"line_number":30,"context_line":"                      \u0027to be ignored during audit. For example: auditing \u0027"},{"line_number":31,"context_line":"                      \u0027will not be done on any GET or POST requests \u0027"},{"line_number":32,"context_line":"                      \u0027if this is set to \"GET,POST\". It is used \u0027"},{"line_number":33,"context_line":"                      \u0027only when API audit is enabled.\u0027)),"}],"source_content_type":"text/x-python","patch_set":71,"id":"dada55a8_98247360","line":30,"updated":"2016-07-27 11:54:00.000000000","message":"nit: s/audit/audit logging/","commit_id":"295b35c48f7dcc2983a19d4114254bea85239b3a"}],"ironic/conf/opts.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"eac5ecd1faae20f8c1c94237abeb3bb6a09bdc4c","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    (\u0027cisco_ucs\u0027, ironic.drivers.modules.ucs.power.opts),"},{"line_number":70,"context_line":"    (\u0027conductor\u0027, itertools.chain("},{"line_number":71,"context_line":"        ironic.conductor.base_manager.conductor_opts,"},{"line_number":72,"context_line":"        ironic.conductor.manager.conductor_opts)),"},{"line_number":73,"context_line":"    (\u0027console\u0027, ironic.conf.console.opts),"},{"line_number":74,"context_line":"    (\u0027database\u0027, ironic.conf.database.opts),"},{"line_number":75,"context_line":"    (\u0027deploy\u0027, ironic.drivers.modules.deploy_utils.deploy_opts),"}],"source_content_type":"text/x-python","patch_set":62,"id":"1aa78d24_bd2a148e","line":72,"updated":"2016-07-06 19:39:15.000000000","message":"The above doesn\u0027t look right. I would have thought that the only change would be to line 67.","commit_id":"d4cd441fd33fa8979c21e84df3b08947c02c7eab"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"b0a4312aa355ea2c4e3be33c58ee0cabbd28593a","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    (\u0027cisco_ucs\u0027, ironic.drivers.modules.ucs.power.opts),"},{"line_number":70,"context_line":"    (\u0027conductor\u0027, itertools.chain("},{"line_number":71,"context_line":"        ironic.conductor.base_manager.conductor_opts,"},{"line_number":72,"context_line":"        ironic.conductor.manager.conductor_opts)),"},{"line_number":73,"context_line":"    (\u0027console\u0027, ironic.conf.console.opts),"},{"line_number":74,"context_line":"    (\u0027database\u0027, ironic.conf.database.opts),"},{"line_number":75,"context_line":"    (\u0027deploy\u0027, ironic.drivers.modules.deploy_utils.deploy_opts),"}],"source_content_type":"text/x-python","patch_set":62,"id":"1aa78d24_c600df68","line":72,"in_reply_to":"1aa78d24_bd2a148e","updated":"2016-07-07 06:54:48.000000000","message":"Done","commit_id":"d4cd441fd33fa8979c21e84df3b08947c02c7eab"}],"ironic/tests/unit/api/test_audit.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d5a9b908a80493e5d56fc194f57b916e61ae34e5","unresolved":false,"context_lines":[{"line_number":23,"context_line":"class TestAuditMiddleware(base.BaseApiTest):"},{"line_number":24,"context_line":"    \u0027\u0027\u0027Provide a basic smoke test to ensure AUDIT middleware is active."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    The tests below provide minimal confirmation that the AUDIT middleware"},{"line_number":27,"context_line":"    is active, and may be configured. For comprehensive tests, please consult"},{"line_number":28,"context_line":"    the test suite in keystone audit_middleware."},{"line_number":29,"context_line":"    \u0027\u0027\u0027"},{"line_number":30,"context_line":"    def setUp(self):"},{"line_number":31,"context_line":"        super(TestAuditMiddleware, self).setUp()"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a5ae5dd_82589d8b","line":28,"range":{"start_line":26,"start_character":0,"end_line":28,"end_character":48},"updated":"2016-02-05 14:03:34.000000000","message":"I\u0027m not exactly sure I see how this would test if the middleware is engaged or not considering the default is defined as false on the configuration file.","commit_id":"e54d8eb705afa5c5fc4e6a657b7c1e3584a68e6a"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"7eb00666cc3f8ed811b76f63c8b9ca0f5dff09d7","unresolved":false,"context_lines":[{"line_number":23,"context_line":"class TestAuditMiddleware(base.BaseApiTest):"},{"line_number":24,"context_line":"    \u0027\u0027\u0027Provide a basic smoke test to ensure AUDIT middleware is active."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    The tests below provide minimal confirmation that the AUDIT middleware"},{"line_number":27,"context_line":"    is active, and may be configured. For comprehensive tests, please consult"},{"line_number":28,"context_line":"    the test suite in keystone audit_middleware."},{"line_number":29,"context_line":"    \u0027\u0027\u0027"},{"line_number":30,"context_line":"    def setUp(self):"},{"line_number":31,"context_line":"        super(TestAuditMiddleware, self).setUp()"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a5ae5dd_20a40606","line":28,"range":{"start_line":26,"start_character":0,"end_line":28,"end_character":48},"in_reply_to":"5a5ae5dd_22e51b37","updated":"2016-02-08 10:13:55.000000000","message":"Done","commit_id":"e54d8eb705afa5c5fc4e6a657b7c1e3584a68e6a"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"243530435ead530f110d42e744eae1fdf775a910","unresolved":false,"context_lines":[{"line_number":23,"context_line":"class TestAuditMiddleware(base.BaseApiTest):"},{"line_number":24,"context_line":"    \u0027\u0027\u0027Provide a basic smoke test to ensure AUDIT middleware is active."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    The tests below provide minimal confirmation that the AUDIT middleware"},{"line_number":27,"context_line":"    is active, and may be configured. For comprehensive tests, please consult"},{"line_number":28,"context_line":"    the test suite in keystone audit_middleware."},{"line_number":29,"context_line":"    \u0027\u0027\u0027"},{"line_number":30,"context_line":"    def setUp(self):"},{"line_number":31,"context_line":"        super(TestAuditMiddleware, self).setUp()"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a5ae5dd_22e51b37","line":28,"range":{"start_line":26,"start_character":0,"end_line":28,"end_character":48},"in_reply_to":"5a5ae5dd_82589d8b","updated":"2016-02-05 18:34:53.000000000","message":"++","commit_id":"e54d8eb705afa5c5fc4e6a657b7c1e3584a68e6a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"a3bbc538da719257e057855e1c46434a51617eef","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    \"\"\"Provide a basic smoke test to ensure AUDIT middleware is active."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    The tests below provide minimal confirmation that the AUDIT middleware"},{"line_number":29,"context_line":"    is active, and may be configured. For comprehensive tests, please consult"},{"line_number":30,"context_line":"    the test suite in keystone audit_middleware."},{"line_number":31,"context_line":"    \"\"\""},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"5a5ae5dd_c7fbbe77","line":29,"range":{"start_line":29,"start_character":7,"end_line":29,"end_character":13},"updated":"2016-02-08 13:34:44.000000000","message":"s/active/called/","commit_id":"7000bc2884b97c89c2be558ce558abe1592564e9"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"b5104c31fc7989e4a97b582e0b0185549b2c28e3","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    \"\"\"Provide a basic smoke test to ensure AUDIT middleware is active."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    The tests below provide minimal confirmation that the AUDIT middleware"},{"line_number":29,"context_line":"    is active, and may be configured. For comprehensive tests, please consult"},{"line_number":30,"context_line":"    the test suite in keystone audit_middleware."},{"line_number":31,"context_line":"    \"\"\""},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"3a57f1b5_d1090133","line":29,"range":{"start_line":29,"start_character":7,"end_line":29,"end_character":13},"in_reply_to":"5a5ae5dd_c7fbbe77","updated":"2016-02-10 06:32:38.000000000","message":"Done","commit_id":"7000bc2884b97c89c2be558ce558abe1592564e9"},{"author":{"_account_id":18893,"name":"Miles Gould","email":"mgould@redhat.com","username":"pozorvlak"},"change_message_id":"2c03b9bd2fd6389261e6b6818d1b3c4b92e07147","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":"Tests to assert that  audit middleware works as expected."},{"line_number":17,"context_line":"\"\"\""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import mock"}],"source_content_type":"text/x-python","patch_set":16,"id":"dae33548_b413b565","line":16,"updated":"2016-02-16 17:15:49.000000000","message":"Replace the double-space between \"that\" and \"audit\" with a single space.","commit_id":"4d90d10feb9fb0802d660c7f9e215b292760200c"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"9ce02a7d5f142076ed6e0202effd17e7b0adfff9","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":"Tests to assert that  audit middleware works as expected."},{"line_number":17,"context_line":"\"\"\""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import mock"}],"source_content_type":"text/x-python","patch_set":16,"id":"dae33548_8060a7d0","line":16,"in_reply_to":"dae33548_b413b565","updated":"2016-02-17 17:28:39.000000000","message":"Done","commit_id":"4d90d10feb9fb0802d660c7f9e215b292760200c"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"93cfffd19f5c4d3ceed171959f65f8c5dfb9b529","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    def test_disable__audit_request(self, mock_audit):"},{"line_number":44,"context_line":"        cfg.CONF.set_override(\"enable_audit\", \"True\")"},{"line_number":45,"context_line":"        mock_audit.AuditMiddleware(self.app)"},{"line_number":46,"context_line":"        mock_audit.AuditMiddleware.assert_called_with(self.app)"}],"source_content_type":"text/x-python","patch_set":18,"id":"bae84128_2828efe1","line":46,"updated":"2016-02-22 10:06:30.000000000","message":"s/assert_called_with/assert_called_once_with\n \nIs this tests doing something? \n\nI mean you are manually instantiating the object and then asserting it\u0027s being instantiated. Also, in the setup_app() function (module api/app.py) the AuditMiddleware is instantiated with the audit_map_file argument, it feels to me that the code is not actually testing the code path that it should be testing.\n\nSame for the test above (L36).","commit_id":"e61245c1d0291ddecb888aaaa82b797ba4243dc2"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"d1b7ab6c1edec241854165c6b3dd0a757c5ecd2d","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    def test_disable__audit_request(self, mock_audit):"},{"line_number":44,"context_line":"        cfg.CONF.set_override(\"enable_audit\", \"True\")"},{"line_number":45,"context_line":"        mock_audit.AuditMiddleware(self.app)"},{"line_number":46,"context_line":"        mock_audit.AuditMiddleware.assert_called_with(self.app)"}],"source_content_type":"text/x-python","patch_set":18,"id":"7af24918_18fdf36d","line":46,"in_reply_to":"bae84128_2828efe1","updated":"2016-03-04 13:16:02.000000000","message":"Done","commit_id":"e61245c1d0291ddecb888aaaa82b797ba4243dc2"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"8a69e5c08a1da8c7f5e8ee2c7f40e9fb393413f5","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    def test_enable_audit_request(self, mock_audit):"},{"line_number":40,"context_line":"        cfg.CONF.set_override(\"enable_audit\", True)"},{"line_number":41,"context_line":"        self._make_app(enable_acl\u003dTrue)"},{"line_number":42,"context_line":"        self.assertTrue(mock_audit.called)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    @mock.patch.object(keystonemiddleware.audit, \u0027AuditMiddleware\u0027)"},{"line_number":45,"context_line":"    def test_disable_audit_request(self, mock_audit):"}],"source_content_type":"text/x-python","patch_set":23,"id":"fa0719c6_015eb375","line":42,"updated":"2016-03-22 14:45:35.000000000","message":"Better to use mock_audit.assert_called_once_with() here and test that config options are passed correctly.","commit_id":"b9eaf7e84179783cbaab96cdadb743681eaae0e5"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"b2bc9c71cbadd5c3fd14d1409a3e90f4c79e47f3","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    def test_enable_audit_request(self, mock_audit):"},{"line_number":40,"context_line":"        cfg.CONF.set_override(\"enable_audit\", True)"},{"line_number":41,"context_line":"        self._make_app(enable_acl\u003dTrue)"},{"line_number":42,"context_line":"        self.assertTrue(mock_audit.called)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    @mock.patch.object(keystonemiddleware.audit, \u0027AuditMiddleware\u0027)"},{"line_number":45,"context_line":"    def test_disable_audit_request(self, mock_audit):"}],"source_content_type":"text/x-python","patch_set":23,"id":"fa0719c6_d3cf597d","line":42,"in_reply_to":"fa0719c6_015eb375","updated":"2016-03-22 23:04:38.000000000","message":"+1","commit_id":"b9eaf7e84179783cbaab96cdadb743681eaae0e5"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"233c67e9c3eb9b5af22ca24a7d82ef68a3b6802a","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    def test_enable_audit_request(self, mock_audit):"},{"line_number":40,"context_line":"        cfg.CONF.set_override(\"enable_audit\", True)"},{"line_number":41,"context_line":"        self._make_app(enable_acl\u003dTrue)"},{"line_number":42,"context_line":"        self.assertTrue(mock_audit.called)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    @mock.patch.object(keystonemiddleware.audit, \u0027AuditMiddleware\u0027)"},{"line_number":45,"context_line":"    def test_disable_audit_request(self, mock_audit):"}],"source_content_type":"text/x-python","patch_set":23,"id":"9a061dce_dd2132b6","line":42,"in_reply_to":"fa0719c6_d3cf597d","updated":"2016-04-05 21:25:16.000000000","message":"Done","commit_id":"b9eaf7e84179783cbaab96cdadb743681eaae0e5"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"640530a36338dae6d7e3f238df4f3b0c3e5489fa","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from ironic.common import exception"},{"line_number":24,"context_line":"from ironic.tests.unit.api import base"},{"line_number":25,"context_line":"from oslo_config import cfg"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":25,"id":"9a061dce_c7a92f92","line":25,"updated":"2016-04-06 17:11:35.000000000","message":"Should be in the upper group of imports.","commit_id":"029c12ac9d64b06840d379b9e1ab0e69b2927823"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"b126d6f9db428d57dd21c4bfd22155d648131226","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from ironic.common import exception"},{"line_number":24,"context_line":"from ironic.tests.unit.api import base"},{"line_number":25,"context_line":"from oslo_config import cfg"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":25,"id":"9a061dce_665024d5","line":25,"in_reply_to":"9a061dce_c7a92f92","updated":"2016-04-06 17:41:59.000000000","message":"Done","commit_id":"029c12ac9d64b06840d379b9e1ab0e69b2927823"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"9b370af1bffb85565751225e08a9c1df8fac247f","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    def test_enable_audit_request(self, mock_audit):"},{"line_number":44,"context_line":"        cfg.CONF.set_override(\"enable_audit\", True)"},{"line_number":45,"context_line":"        self._make_app(enable_acl\u003dTrue)"},{"line_number":46,"context_line":"        conf_ignore_list \u003d CONF.ignore_req_list"},{"line_number":47,"context_line":"        mock_audit.assert_called_once_with(mock.ANY,"},{"line_number":48,"context_line":"                                           audit_map_file\u003dCONF.audit_map_file,"},{"line_number":49,"context_line":"                                           ignore_req_list\u003dconf_ignore_list,"}],"source_content_type":"text/x-python","patch_set":32,"id":"5a18252c_2afbc7c2","line":46,"range":{"start_line":46,"start_character":27,"end_line":46,"end_character":31},"updated":"2016-04-13 14:54:14.000000000","message":"s/CONF/CONF.audit/","commit_id":"619e9ed03de452bd16c39c067fc1dcc8fcf36bfa"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"073f053c9c1f3e39dd5ef787e1ca274732b0c7e7","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        self._make_app(enable_acl\u003dTrue)"},{"line_number":46,"context_line":"        conf_ignore_list \u003d CONF.ignore_req_list"},{"line_number":47,"context_line":"        mock_audit.assert_called_once_with(mock.ANY,"},{"line_number":48,"context_line":"                                           audit_map_file\u003dCONF.audit_map_file,"},{"line_number":49,"context_line":"                                           ignore_req_list\u003dconf_ignore_list,"},{"line_number":50,"context_line":"                                           service_name\u003dCONF.service_name)"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":32,"id":"5a18252c_20baec6e","line":48,"range":{"start_line":48,"start_character":58,"end_line":48,"end_character":78},"updated":"2016-04-13 02:04:39.000000000","message":"s/CONF.audit_map_file/CONF.audit.audit_map_file","commit_id":"619e9ed03de452bd16c39c067fc1dcc8fcf36bfa"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"073f053c9c1f3e39dd5ef787e1ca274732b0c7e7","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        mock_audit.assert_called_once_with(mock.ANY,"},{"line_number":48,"context_line":"                                           audit_map_file\u003dCONF.audit_map_file,"},{"line_number":49,"context_line":"                                           ignore_req_list\u003dconf_ignore_list,"},{"line_number":50,"context_line":"                                           service_name\u003dCONF.service_name)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @mock.patch.object(keystonemiddleware.audit, \u0027AuditMiddleware\u0027)"},{"line_number":53,"context_line":"    def test_enable_audit_request_error(self, mock_audit):"}],"source_content_type":"text/x-python","patch_set":32,"id":"5a18252c_60ace435","line":50,"range":{"start_line":50,"start_character":56,"end_line":50,"end_character":73},"updated":"2016-04-13 02:04:39.000000000","message":"s/CONF.service_name/CONF.audit.service_name","commit_id":"619e9ed03de452bd16c39c067fc1dcc8fcf36bfa"},{"author":{"_account_id":11650,"name":"Tom Cammann","email":"tom.cammann@hpe.com","username":"cammann"},"change_message_id":"ccd72e649f198bef4b5b27b19cb79e002acd271c","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        self._make_app(enable_acl\u003dTrue)"},{"line_number":46,"context_line":"        # so we pass pep8"},{"line_number":47,"context_line":"        co \u003d CONF.audit"},{"line_number":48,"context_line":"        mock_audit.assert_called_once_with(mock.ANY,"},{"line_number":49,"context_line":"                                           audit_map_file\u003dco.audit_map_file,"},{"line_number":50,"context_line":"                                           ignore_req_list\u003dco.ignore_req_list,"},{"line_number":51,"context_line":"                                           service_name\u003dco.service_name)"}],"source_content_type":"text/x-python","patch_set":33,"id":"5a18252c_de6f70c3","line":48,"range":{"start_line":48,"start_character":19,"end_line":48,"end_character":42},"updated":"2016-04-13 16:23:40.000000000","message":"prefer:\n\n        mock_audit.assert_called_once_with(\n            mock.ANY, audit_map_file\u003dCONF.audit.audit_map_file,\n            ignore_req_list\u003dCONF.audit.ignore_req_list,\n            service_name\u003dCONF.audit.service_name)","commit_id":"9e0c82080f486ca8d2d6fdae1f4de6e2f27d04da"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"d02b2975911b84d634060a007026b6387da8b78f","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        self._make_app(enable_acl\u003dTrue)"},{"line_number":46,"context_line":"        # so we pass pep8"},{"line_number":47,"context_line":"        co \u003d CONF.audit"},{"line_number":48,"context_line":"        mock_audit.assert_called_once_with(mock.ANY,"},{"line_number":49,"context_line":"                                           audit_map_file\u003dco.audit_map_file,"},{"line_number":50,"context_line":"                                           ignore_req_list\u003dco.ignore_req_list,"},{"line_number":51,"context_line":"                                           service_name\u003dco.service_name)"}],"source_content_type":"text/x-python","patch_set":33,"id":"5a18252c_7e93bc4f","line":48,"range":{"start_line":48,"start_character":19,"end_line":48,"end_character":42},"in_reply_to":"5a18252c_de6f70c3","updated":"2016-04-13 16:31:34.000000000","message":"Done","commit_id":"9e0c82080f486ca8d2d6fdae1f4de6e2f27d04da"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e46dc50b81dde71c92df3ebdbcf2c5d2c82d5115","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# -*- encoding: utf-8 -*-"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":49,"id":"7aa08908_6fc1d44d","line":1,"updated":"2016-06-15 01:20:45.000000000","message":"please remove this unless you have utf-8 strings.","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"eabb5fc2c2817f8fa95ce152e18e34a150fb3f85","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# -*- encoding: utf-8 -*-"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":49,"id":"7aa08908_b4bdcb69","line":1,"in_reply_to":"7aa08908_6fc1d44d","updated":"2016-06-15 06:45:45.000000000","message":"Done","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e46dc50b81dde71c92df3ebdbcf2c5d2c82d5115","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":"#        cfg.CONF.set_override(\"enable_audit\", \"True\")"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"Tests to assert that audit middleware works as expected."}],"source_content_type":"text/x-python","patch_set":49,"id":"7aa08908_0fa93090","line":14,"updated":"2016-06-15 01:20:45.000000000","message":"What is this for ?","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"eabb5fc2c2817f8fa95ce152e18e34a150fb3f85","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":"#        cfg.CONF.set_override(\"enable_audit\", \"True\")"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"Tests to assert that audit middleware works as expected."}],"source_content_type":"text/x-python","patch_set":49,"id":"7aa08908_548c67d6","line":14,"in_reply_to":"7aa08908_0fa93090","updated":"2016-06-15 06:45:45.000000000","message":"Done","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":18893,"name":"Miles Gould","email":"mgould@redhat.com","username":"pozorvlak"},"change_message_id":"bf0698393c3427d68798ac22676bbb429db7f2c4","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class TestAuditMiddleware(base.BaseApiTest):"},{"line_number":28,"context_line":"    \"\"\"Provide a basic smoke test to ensure AUDIT middleware is active."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    The tests below provide minimal confirmation that the AUDIT middleware"},{"line_number":31,"context_line":"    is called, and may be configured. For comprehensive tests, please consult"}],"source_content_type":"text/x-python","patch_set":62,"id":"1aa78d24_5144c619","line":28,"updated":"2016-07-06 16:42:02.000000000","message":"AUDIT -\u003e audit","commit_id":"d4cd441fd33fa8979c21e84df3b08947c02c7eab"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"b0a4312aa355ea2c4e3be33c58ee0cabbd28593a","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class TestAuditMiddleware(base.BaseApiTest):"},{"line_number":28,"context_line":"    \"\"\"Provide a basic smoke test to ensure AUDIT middleware is active."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    The tests below provide minimal confirmation that the AUDIT middleware"},{"line_number":31,"context_line":"    is called, and may be configured. For comprehensive tests, please consult"}],"source_content_type":"text/x-python","patch_set":62,"id":"1aa78d24_e6819bfc","line":28,"in_reply_to":"1aa78d24_5144c619","updated":"2016-07-07 06:54:48.000000000","message":"Done","commit_id":"d4cd441fd33fa8979c21e84df3b08947c02c7eab"},{"author":{"_account_id":18893,"name":"Miles Gould","email":"mgould@redhat.com","username":"pozorvlak"},"change_message_id":"bf0698393c3427d68798ac22676bbb429db7f2c4","unresolved":false,"context_lines":[{"line_number":27,"context_line":"class TestAuditMiddleware(base.BaseApiTest):"},{"line_number":28,"context_line":"    \"\"\"Provide a basic smoke test to ensure AUDIT middleware is active."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    The tests below provide minimal confirmation that the AUDIT middleware"},{"line_number":31,"context_line":"    is called, and may be configured. For comprehensive tests, please consult"},{"line_number":32,"context_line":"    the test suite in keystone audit_middleware."},{"line_number":33,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":62,"id":"1aa78d24_b14d2a40","line":30,"updated":"2016-07-06 16:42:02.000000000","message":"As above.","commit_id":"d4cd441fd33fa8979c21e84df3b08947c02c7eab"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"b0a4312aa355ea2c4e3be33c58ee0cabbd28593a","unresolved":false,"context_lines":[{"line_number":27,"context_line":"class TestAuditMiddleware(base.BaseApiTest):"},{"line_number":28,"context_line":"    \"\"\"Provide a basic smoke test to ensure AUDIT middleware is active."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    The tests below provide minimal confirmation that the AUDIT middleware"},{"line_number":31,"context_line":"    is called, and may be configured. For comprehensive tests, please consult"},{"line_number":32,"context_line":"    the test suite in keystone audit_middleware."},{"line_number":33,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":62,"id":"1aa78d24_86953734","line":30,"in_reply_to":"1aa78d24_b14d2a40","updated":"2016-07-07 06:54:48.000000000","message":"Done","commit_id":"d4cd441fd33fa8979c21e84df3b08947c02c7eab"}],"releasenotes/notes/adding-audit-middleware-b95f2a00baed9750.yaml":[{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"3520c74c423862fa843fad0347cb16e8d32f0f3f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Ironic-api service now provides logging audit messages to"},{"line_number":4,"context_line":"    api calls."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"5a5ae5dd_32cf2db2","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":14},"updated":"2016-02-03 16:06:29.000000000","message":"You also need to mention the new Ironic configuration parameters being added.","commit_id":"cf73b14952e76d7a4478286062cbe930fcaf973b"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"85fc7e31ec94b4994d20bdba139ed2cab970ded3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Ironic-api service now provides logging audit messages to"},{"line_number":4,"context_line":"    api calls."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"5a5ae5dd_ec9f5601","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":14},"in_reply_to":"5a5ae5dd_32cf2db2","updated":"2016-02-04 16:26:34.000000000","message":"Done","commit_id":"cf73b14952e76d7a4478286062cbe930fcaf973b"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d5a9b908a80493e5d56fc194f57b916e61ae34e5","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Ironic-api service now provides logging audit messages to"},{"line_number":4,"context_line":"    api calls. Adding new parameters enable_audit and audit_map_file"},{"line_number":5,"context_line":"    to configuration file."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5a5ae5dd_c21455a1","line":5,"updated":"2016-02-05 14:03:34.000000000","message":"May be useful to include a link to the pycadf project.  Does anyone have any thoughts on this?","commit_id":"e54d8eb705afa5c5fc4e6a657b7c1e3584a68e6a"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"8fa27aa20d97b078fa9a0fa581bb5639e3db206b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Ironic-api service now provides logging audit messages to"},{"line_number":4,"context_line":"    api calls. Adding new parameters enable_audit and audit_map_file"},{"line_number":5,"context_line":"    to configuration file."}],"source_content_type":"text/x-yaml","patch_set":17,"id":"bae84128_417c7e72","line":3,"updated":"2016-02-19 14:39:23.000000000","message":"s/provides/supports/ is better as we don\u0027t enable it by default","commit_id":"5461639abd75d94ffdc2002fddeee9c8951eabbe"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"5639401dfbae5ea7f5b9197e4a4c83386b82664a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Ironic-api service now provides logging audit messages to"},{"line_number":4,"context_line":"    api calls. Adding new parameters enable_audit and audit_map_file"},{"line_number":5,"context_line":"    to configuration file."}],"source_content_type":"text/x-yaml","patch_set":17,"id":"bae84128_33d4f71e","line":3,"in_reply_to":"bae84128_417c7e72","updated":"2016-02-21 09:54:54.000000000","message":"Done","commit_id":"5461639abd75d94ffdc2002fddeee9c8951eabbe"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"f10ee604fc67717259c4d9b74ab717c2df3fe140","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Ironic-api service now supports logging audit messages to"},{"line_number":4,"context_line":"    api calls. Adding new parameters enable_audit and audit_map_file"},{"line_number":5,"context_line":"    to configuration file."}],"source_content_type":"text/x-yaml","patch_set":21,"id":"5aef4532_0e46774e","line":4,"range":{"start_line":4,"start_character":37,"end_line":4,"end_character":68},"updated":"2016-03-10 05:40:51.000000000","message":"Add config variables under single quote.\n\u0027enable_audit\u0027 and \u0027audit_map_file\u0027","commit_id":"c6fea1d0d545776d5be4a9d864471946a6ce11c6"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"f10ee604fc67717259c4d9b74ab717c2df3fe140","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Ironic-api service now supports logging audit messages to"},{"line_number":4,"context_line":"    api calls. Adding new parameters enable_audit and audit_map_file"},{"line_number":5,"context_line":"    to configuration file."}],"source_content_type":"text/x-yaml","patch_set":21,"id":"5aef4532_4e7a3f89","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":25},"updated":"2016-03-10 05:40:51.000000000","message":"Also update with \u0027service_name\u0027 and \u0027ignore_req_list\u0027","commit_id":"c6fea1d0d545776d5be4a9d864471946a6ce11c6"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"e2e02a436e58d64c5352ad4875e403a9ad42e3d6","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - Ironic-api service now supports logging audit messages to"},{"line_number":4,"context_line":"    api calls. Adding new parameters \u0027enable_audit\u0027,"},{"line_number":5,"context_line":"    \u0027service_name\u0027, \u0027ignore_req_list\u0027 and \u0027audit_map_file\u0027"},{"line_number":6,"context_line":"    to configuration file."}],"source_content_type":"text/x-yaml","patch_set":24,"id":"9a061dce_33e7bab1","line":6,"range":{"start_line":6,"start_character":4,"end_line":6,"end_character":26},"updated":"2016-04-06 02:24:22.000000000","message":"Better to add:-\nAdded new configuration file ironic_api_audit_map.conf as part of this feature.","commit_id":"a23345f0983d22c1d25b14bca1d0632a60e87bd7"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"2b2f6027d47d7d64a547efddc74371cc477a0012","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - Ironic-api service now supports logging audit messages to"},{"line_number":4,"context_line":"    api calls. Adding new parameters \u0027enable_audit\u0027,"},{"line_number":5,"context_line":"    \u0027service_name\u0027, \u0027ignore_req_list\u0027 and \u0027audit_map_file\u0027"},{"line_number":6,"context_line":"    to configuration file."}],"source_content_type":"text/x-yaml","patch_set":24,"id":"9a061dce_36a65f53","line":6,"range":{"start_line":6,"start_character":4,"end_line":6,"end_character":26},"in_reply_to":"9a061dce_33e7bab1","updated":"2016-04-06 16:15:26.000000000","message":"Done","commit_id":"a23345f0983d22c1d25b14bca1d0632a60e87bd7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"23553e05d5265819faa068cf5dff1853dc4cad19","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Ironic-api service now supports logging audit messages to"},{"line_number":4,"context_line":"    api calls. Adding new configuration parameters: \u0027enable_audit\u0027,"},{"line_number":5,"context_line":"    \u0027service_name\u0027, \u0027ignore_req_list\u0027 and \u0027audit_map_file\u0027."},{"line_number":6,"context_line":"    Also adds new ironic_api_audit_map.conf file as part of this feature."}],"source_content_type":"text/x-yaml","patch_set":26,"id":"9a061dce_52ddd6de","line":4,"range":{"start_line":4,"start_character":50,"end_line":4,"end_character":51},"updated":"2016-04-06 19:16:32.000000000","message":"You can\u0027t have colon characters inside release notes like this as it breaks yaml validation.","commit_id":"799da7066fd4c43fb9d3fcb36aa99a36fab864a1"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"66f12d4c5f4c781b966a090b55a963f6fc2f9d79","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - Ironic-api service now supports logging audit messages to"},{"line_number":4,"context_line":"    api calls. Adding new configuration parameters \u0027enable_audit\u0027,"},{"line_number":5,"context_line":"    \u0027service_name\u0027, \u0027ignore_req_list\u0027 and \u0027audit_map_file\u0027."},{"line_number":6,"context_line":"    Also adds new ironic_api_audit_map.conf file as part of this feature."}],"source_content_type":"text/x-yaml","patch_set":27,"id":"7a1b2928_3c18671d","line":6,"range":{"start_line":6,"start_character":4,"end_line":6,"end_character":73},"updated":"2016-04-11 19:56:30.000000000","message":"This feels like it should be a line-item for operators/users who are upgrading who need to make sure the file is present should they choose to leverage auditing.","commit_id":"00c068bfb596853efafae201a90cca61797a8523"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"b8db0001619a851301d296fbb497159779f05ce7","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - Ironic-api service now supports logging audit messages to"},{"line_number":4,"context_line":"    api calls. Adding new configuration parameters \u0027enable_audit\u0027,"},{"line_number":5,"context_line":"    \u0027service_name\u0027, \u0027ignore_req_list\u0027 and \u0027audit_map_file\u0027."},{"line_number":6,"context_line":"    Also adds new ironic_api_audit_map.conf file as part of this feature."}],"source_content_type":"text/x-yaml","patch_set":27,"id":"5a18252c_d5021c6f","line":6,"range":{"start_line":6,"start_character":4,"end_line":6,"end_character":73},"in_reply_to":"7a1b2928_3c18671d","updated":"2016-04-11 21:10:11.000000000","message":"Done","commit_id":"00c068bfb596853efafae201a90cca61797a8523"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"fffcc2906dd09776061430db99d41f1f9432123a","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - Ironic-api service now supports logging audit messages to"},{"line_number":4,"context_line":"    api calls. Adding new configuration parameters \u0027enable_audit\u0027,"},{"line_number":5,"context_line":"    \u0027service_name\u0027, \u0027ignore_req_list\u0027 and \u0027audit_map_file\u0027."},{"line_number":6,"context_line":"upgrades:"},{"line_number":7,"context_line":"  - Adds new ironic_api_audit_map.conf file as part of this feature."}],"source_content_type":"text/x-yaml","patch_set":29,"id":"5a18252c_b8b955ef","line":6,"range":{"start_line":6,"start_character":7,"end_line":6,"end_character":8},"updated":"2016-04-11 21:32:56.000000000","message":"should be just upgrade:","commit_id":"cdc942a56a88b7baff5a441df067c435b9a4a147"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"4e3b287771219ab891d5447fc058199d76caf79d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Ironic-api service now supports logging audit messages to"},{"line_number":4,"context_line":"    api calls. Adding new configuration parameters \u0027enable_audit\u0027,"},{"line_number":5,"context_line":"    \u0027service_name\u0027, \u0027ignore_req_list\u0027 and \u0027audit_map_file\u0027."},{"line_number":6,"context_line":"upgrade:"}],"source_content_type":"text/x-yaml","patch_set":34,"id":"5a18252c_6305dc78","line":3,"updated":"2016-04-13 19:07:13.000000000","message":"s/Ironic-api/ironic-api/","commit_id":"72d4e712a01646ed0f39eafa8bcf4c0084134a4f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"f61b29cdc447cdf62f4f8a2c00b6fd1b443342ec","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Ironic-api service now supports logging audit messages to"},{"line_number":4,"context_line":"    api calls. Adding new configuration parameters \u0027enable_audit\u0027,"},{"line_number":5,"context_line":"    \u0027service_name\u0027, \u0027ignore_req_list\u0027 and \u0027audit_map_file\u0027."},{"line_number":6,"context_line":"upgrade:"}],"source_content_type":"text/x-yaml","patch_set":34,"id":"5a18252c_bb50b85f","line":3,"in_reply_to":"5a18252c_6305dc78","updated":"2016-04-13 21:11:15.000000000","message":"If we change that, then we likely need to start the release note with \u0027The\u0027","commit_id":"72d4e712a01646ed0f39eafa8bcf4c0084134a4f"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"fd37544713623f0e920885396f239d00163f7642","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Ironic-api service now supports logging audit messages to"},{"line_number":4,"context_line":"    api calls. Adding new configuration parameters \u0027enable_audit\u0027,"},{"line_number":5,"context_line":"    \u0027service_name\u0027, \u0027ignore_req_list\u0027 and \u0027audit_map_file\u0027."},{"line_number":6,"context_line":"upgrade:"}],"source_content_type":"text/x-yaml","patch_set":34,"id":"5a18252c_22be35d4","line":3,"in_reply_to":"5a18252c_bb50b85f","updated":"2016-04-13 23:29:56.000000000","message":"Done","commit_id":"72d4e712a01646ed0f39eafa8bcf4c0084134a4f"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"4e3b287771219ab891d5447fc058199d76caf79d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Ironic-api service now supports logging audit messages to"},{"line_number":4,"context_line":"    api calls. Adding new configuration parameters \u0027enable_audit\u0027,"},{"line_number":5,"context_line":"    \u0027service_name\u0027, \u0027ignore_req_list\u0027 and \u0027audit_map_file\u0027."},{"line_number":6,"context_line":"upgrade:"},{"line_number":7,"context_line":"  - Adds new ironic_api_audit_map.conf file as part of this feature."}],"source_content_type":"text/x-yaml","patch_set":34,"id":"5a18252c_83391844","line":4,"updated":"2016-04-13 19:07:13.000000000","message":"What does \u0027logging audit messages to api calls\u0027 mean? The commit mentions \u0027sending notifications\u0027, which is different from logging, isn\u0027t it?","commit_id":"72d4e712a01646ed0f39eafa8bcf4c0084134a4f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"f61b29cdc447cdf62f4f8a2c00b6fd1b443342ec","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Ironic-api service now supports logging audit messages to"},{"line_number":4,"context_line":"    api calls. Adding new configuration parameters \u0027enable_audit\u0027,"},{"line_number":5,"context_line":"    \u0027service_name\u0027, \u0027ignore_req_list\u0027 and \u0027audit_map_file\u0027."},{"line_number":6,"context_line":"upgrade:"},{"line_number":7,"context_line":"  - Adds new ironic_api_audit_map.conf file as part of this feature."}],"source_content_type":"text/x-yaml","patch_set":34,"id":"5a18252c_db5f743f","line":4,"in_reply_to":"5a18252c_83391844","updated":"2016-04-13 21:11:15.000000000","message":"If I\u0027m correctly remembering how the middleware works, it is sticking notifications back in RabbitMQ to be picked up for auditing logging, so it is logging in a sense, just not to a text file.","commit_id":"72d4e712a01646ed0f39eafa8bcf4c0084134a4f"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"4e3b287771219ab891d5447fc058199d76caf79d","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Ironic-api service now supports logging audit messages to"},{"line_number":4,"context_line":"    api calls. Adding new configuration parameters \u0027enable_audit\u0027,"},{"line_number":5,"context_line":"    \u0027service_name\u0027, \u0027ignore_req_list\u0027 and \u0027audit_map_file\u0027."},{"line_number":6,"context_line":"upgrade:"},{"line_number":7,"context_line":"  - Adds new ironic_api_audit_map.conf file as part of this feature."}],"source_content_type":"text/x-yaml","patch_set":34,"id":"5a18252c_23a124a4","line":5,"updated":"2016-04-13 19:07:13.000000000","message":"you should probably mention the group that these configs are in. eg \u0027[audit]/...\u0027\n\nTake a look at http://docs.openstack.org/releasenotes/ironic/current-series.html for examples.","commit_id":"72d4e712a01646ed0f39eafa8bcf4c0084134a4f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"f61b29cdc447cdf62f4f8a2c00b6fd1b443342ec","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Ironic-api service now supports logging audit messages to"},{"line_number":4,"context_line":"    api calls. Adding new configuration parameters \u0027enable_audit\u0027,"},{"line_number":5,"context_line":"    \u0027service_name\u0027, \u0027ignore_req_list\u0027 and \u0027audit_map_file\u0027."},{"line_number":6,"context_line":"upgrade:"},{"line_number":7,"context_line":"  - Adds new ironic_api_audit_map.conf file as part of this feature."}],"source_content_type":"text/x-yaml","patch_set":34,"id":"5a18252c_5b640421","line":5,"in_reply_to":"5a18252c_23a124a4","updated":"2016-04-13 21:11:15.000000000","message":"++, effect we didn\u0027t think about of changing location. :(","commit_id":"72d4e712a01646ed0f39eafa8bcf4c0084134a4f"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"fd37544713623f0e920885396f239d00163f7642","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Ironic-api service now supports logging audit messages to"},{"line_number":4,"context_line":"    api calls. Adding new configuration parameters \u0027enable_audit\u0027,"},{"line_number":5,"context_line":"    \u0027service_name\u0027, \u0027ignore_req_list\u0027 and \u0027audit_map_file\u0027."},{"line_number":6,"context_line":"upgrade:"},{"line_number":7,"context_line":"  - Adds new ironic_api_audit_map.conf file as part of this feature."}],"source_content_type":"text/x-yaml","patch_set":34,"id":"5a18252c_825bc986","line":5,"in_reply_to":"5a18252c_5b640421","updated":"2016-04-13 23:29:56.000000000","message":"Done","commit_id":"72d4e712a01646ed0f39eafa8bcf4c0084134a4f"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"6719ee5cb888f75c7fb0e84bde765fe5d2bb7620","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - The ironic-api service now supports logging audit messages to"},{"line_number":4,"context_line":"    api calls. Adding new configuration parameters "},{"line_number":5,"context_line":"    - [DEFAULT] \u0027enable_api_audit_middleware\u0027"},{"line_number":6,"context_line":"    - [audit] \u0027service_name\u0027"},{"line_number":7,"context_line":"    - [audit] \u0027ignore_req_list\u0027"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"5a18252c_e2e1dd9b","line":4,"range":{"start_line":4,"start_character":50,"end_line":4,"end_character":51},"updated":"2016-04-13 23:32:17.000000000","message":"white space","commit_id":"0a766711f052d3e58bf88e7aaa80a56c96393049"},{"author":{"_account_id":7080,"name":"Mathieu Mitchell","email":"mat128@gmail.com","username":"mat128"},"change_message_id":"0b7afa74bb257a5bc3da412be59c468360865246","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - The ironic-api service now supports logging audit messages to"},{"line_number":4,"context_line":"    api calls. Adding new configuration parameters"},{"line_number":5,"context_line":"    - [DEFAULT] \u0027enable_api_audit_middleware\u0027"},{"line_number":6,"context_line":"    - [audit] \u0027service_name\u0027"},{"line_number":7,"context_line":"    - [audit] \u0027ignore_req_list\u0027"}],"source_content_type":"text/x-yaml","patch_set":40,"id":"dab17558_dd84a50c","line":4,"updated":"2016-05-13 13:43:45.000000000","message":"Given that this is \"customer-facing\" documentation, I would rephrase this something like \"The following configuration parameters have been added: \". Otherwise, the tense clashes with the first sentence (\"now supports\")","commit_id":"033560f6eeafeaca99f49b524bc683c43979e160"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"f04f52ce97047b8058b6a8a8fe9375c3b32234ac","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - The ironic-api service now supports logging audit messages to"},{"line_number":4,"context_line":"    api calls. Adding new configuration parameters"},{"line_number":5,"context_line":"    - [DEFAULT] \u0027enable_api_audit_middleware\u0027"},{"line_number":6,"context_line":"    - [audit] \u0027service_name\u0027"},{"line_number":7,"context_line":"    - [audit] \u0027ignore_req_list\u0027"}],"source_content_type":"text/x-yaml","patch_set":40,"id":"dab17558_a6cf0eb2","line":4,"in_reply_to":"dab17558_dd84a50c","updated":"2016-05-13 14:27:00.000000000","message":"Done","commit_id":"033560f6eeafeaca99f49b524bc683c43979e160"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"40c35817e4702e18e0e45462866ddc08c7999c57","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - The ironic-api service now supports logging audit messages to"},{"line_number":4,"context_line":"    api calls. The following configuration parameters had been added"},{"line_number":5,"context_line":"    - [DEFAULT] \u0027enable_api_audit_middleware\u0027"}],"source_content_type":"text/x-yaml","patch_set":41,"id":"dab17558_5faed785","line":2,"updated":"2016-05-13 20:29:28.000000000","message":"I would like to suggest the following for better formatting:\n\nfeatures:\n  - |","commit_id":"8dc04f46f9ff11bcdcc0041ecd3acb404419d191"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"cef144dc6402fb9d039abacea3d945622a9496e6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - The ironic-api service now supports logging audit messages to"},{"line_number":4,"context_line":"    api calls. The following configuration parameters had been added"},{"line_number":5,"context_line":"    - [DEFAULT] \u0027enable_api_audit_middleware\u0027"}],"source_content_type":"text/x-yaml","patch_set":41,"id":"dab17558_74c6dd9a","line":2,"in_reply_to":"dab17558_5faed785","updated":"2016-05-17 16:16:46.000000000","message":"Actually, it doesn\u0027t show the bullet points without adding \u0027  - |\u0027 under \u0027features:\u0027. You can see it here: http://docs-draft.openstack.org/58/272658/42/check/gate-ironic-releasenotes/29bc66f//releasenotes/build/html/current-series.html\n\nHere is information about formatting releasenotes, hope this helps: http://docs.openstack.org/developer/reno/usage.html#creating-new-release-notes","commit_id":"8dc04f46f9ff11bcdcc0041ecd3acb404419d191"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"40c35817e4702e18e0e45462866ddc08c7999c57","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - The ironic-api service now supports logging audit messages to"},{"line_number":4,"context_line":"    api calls. The following configuration parameters had been added"},{"line_number":5,"context_line":"    - [DEFAULT] \u0027enable_api_audit_middleware\u0027"},{"line_number":6,"context_line":"    - [audit] \u0027service_name\u0027"},{"line_number":7,"context_line":"    - [audit] \u0027ignore_req_list\u0027"},{"line_number":8,"context_line":"    - [audit] \u0027audit_map_file\u0027"}],"source_content_type":"text/x-yaml","patch_set":41,"id":"dab17558_fff34b9d","line":5,"updated":"2016-05-13 20:29:28.000000000","message":"This will show as a bullet point and it follows [group]/option convention, in my opinion:\n\n* [DEFAULT]/enable_api_audit_middleware","commit_id":"8dc04f46f9ff11bcdcc0041ecd3acb404419d191"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"4dac237e53ac2dbb702d12b040829d8031ed4378","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - The ironic-api service now supports logging audit messages to"},{"line_number":4,"context_line":"    api calls. The following configuration parameters had been added"},{"line_number":5,"context_line":"    - [DEFAULT] \u0027enable_api_audit_middleware\u0027"},{"line_number":6,"context_line":"    - [audit] \u0027service_name\u0027"},{"line_number":7,"context_line":"    - [audit] \u0027ignore_req_list\u0027"},{"line_number":8,"context_line":"    - [audit] \u0027audit_map_file\u0027"}],"source_content_type":"text/x-yaml","patch_set":41,"id":"dab17558_a70791c8","line":5,"in_reply_to":"dab17558_fff34b9d","updated":"2016-05-17 09:24:25.000000000","message":"Done","commit_id":"8dc04f46f9ff11bcdcc0041ecd3acb404419d191"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"40c35817e4702e18e0e45462866ddc08c7999c57","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    - [audit] \u0027ignore_req_list\u0027"},{"line_number":8,"context_line":"    - [audit] \u0027audit_map_file\u0027"},{"line_number":9,"context_line":"upgrade:"},{"line_number":10,"context_line":"  - Adds new ironic_api_audit_map.conf file as part of this feature."}],"source_content_type":"text/x-yaml","patch_set":41,"id":"dab17558_bf854308","line":10,"updated":"2016-05-13 20:29:28.000000000","message":"I would like to suggest:\n\ns/this feature/support for audit middleware","commit_id":"8dc04f46f9ff11bcdcc0041ecd3acb404419d191"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"4dac237e53ac2dbb702d12b040829d8031ed4378","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    - [audit] \u0027ignore_req_list\u0027"},{"line_number":8,"context_line":"    - [audit] \u0027audit_map_file\u0027"},{"line_number":9,"context_line":"upgrade:"},{"line_number":10,"context_line":"  - Adds new ironic_api_audit_map.conf file as part of this feature."}],"source_content_type":"text/x-yaml","patch_set":41,"id":"dab17558_870a4dd0","line":10,"in_reply_to":"dab17558_bf854308","updated":"2016-05-17 09:24:25.000000000","message":"Done","commit_id":"8dc04f46f9ff11bcdcc0041ecd3acb404419d191"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"cefb9f0dbe50a7d6666c2d024eade4e72e47c163","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - The ironic-api service now supports logging audit messages to"},{"line_number":4,"context_line":"    api calls. The following configuration parameters had been added"},{"line_number":5,"context_line":"  "},{"line_number":6,"context_line":"    - [DEFAULT]/enable_api_audit_middleware"},{"line_number":7,"context_line":"    - [audit]/service_name"},{"line_number":8,"context_line":"    - [audit]/ignore_req_list"}],"source_content_type":"text/x-yaml","patch_set":43,"id":"dab17558_f713efb5","line":5,"updated":"2016-05-17 16:55:18.000000000","message":"I was suggesting something like this:\n\n---\nfeatures:\n  - |\n    Ironic-api service now supports logging audit messages to\n    api calls. The following configuration parameters had been added.\n\n    * [DEFAULT]/enable_api_audit_middleware\n    * [audit]/service_name\n    * [audit]/ignore_req_list\n    * [audit]/audit_map_file\nupgrade:\n  - Adds new ironic_api_audit_map.conf file as part of support for\n    audit middleware.","commit_id":"89e3f3a27e46274e72500fda3345ec07f7503eeb"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"17eb1018820db4237f1400da0abe72682a995a98","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - The ironic-api service now supports logging audit messages to"},{"line_number":4,"context_line":"    api calls. The following configuration parameters had been added"},{"line_number":5,"context_line":"  "},{"line_number":6,"context_line":"    - [DEFAULT]/enable_api_audit_middleware"},{"line_number":7,"context_line":"    - [audit]/service_name"},{"line_number":8,"context_line":"    - [audit]/ignore_req_list"}],"source_content_type":"text/x-yaml","patch_set":43,"id":"dab17558_b2ea15d6","line":5,"in_reply_to":"dab17558_f713efb5","updated":"2016-05-17 17:06:59.000000000","message":"yup thank you. wanted to remove service_name option and it went in as wrong patch.","commit_id":"89e3f3a27e46274e72500fda3345ec07f7503eeb"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"c13e18347dd0ff604005fcfff938f7db048ba0a6","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ironic-api service now supports logging audit messages to"},{"line_number":5,"context_line":"    api calls. The following configuration parameters had been added."},{"line_number":6,"context_line":"    * [DEFAULT]/enable_api_audit_middleware"},{"line_number":7,"context_line":"    * [audit]/ignore_req_list"},{"line_number":8,"context_line":"    * [audit]/audit_map_file"}],"source_content_type":"text/x-yaml","patch_set":45,"id":"7aa08908_3caa48d5","line":5,"updated":"2016-06-06 04:58:45.000000000","message":". -\u003e :\n\nalso this does not render well, probably needs a newline before the list. Please investigate.","commit_id":"53791e85c9260bfc42dc655b247a9ad3fc3b7e14"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"ccf49d08244aa355d1f8adf29147a5c0df4ec041","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ironic-api service now supports logging audit messages to"},{"line_number":5,"context_line":"    api calls. The following configuration parameters had been added."},{"line_number":6,"context_line":"    * [DEFAULT]/enable_api_audit_middleware"},{"line_number":7,"context_line":"    * [audit]/ignore_req_list"},{"line_number":8,"context_line":"    * [audit]/audit_map_file"}],"source_content_type":"text/x-yaml","patch_set":45,"id":"7aa08908_b848fd2e","line":5,"in_reply_to":"7aa08908_3caa48d5","updated":"2016-06-06 08:32:36.000000000","message":"Done","commit_id":"53791e85c9260bfc42dc655b247a9ad3fc3b7e14"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"c13e18347dd0ff604005fcfff938f7db048ba0a6","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ironic-api service now supports logging audit messages to"},{"line_number":5,"context_line":"    api calls. The following configuration parameters had been added."},{"line_number":6,"context_line":"    * [DEFAULT]/enable_api_audit_middleware"},{"line_number":7,"context_line":"    * [audit]/ignore_req_list"},{"line_number":8,"context_line":"    * [audit]/audit_map_file"},{"line_number":9,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":45,"id":"7aa08908_9caffce2","line":6,"updated":"2016-06-06 04:58:45.000000000","message":"as explained above, I\u0027d prefer [audit]enabled","commit_id":"53791e85c9260bfc42dc655b247a9ad3fc3b7e14"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"ccf49d08244aa355d1f8adf29147a5c0df4ec041","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ironic-api service now supports logging audit messages to"},{"line_number":5,"context_line":"    api calls. The following configuration parameters had been added."},{"line_number":6,"context_line":"    * [DEFAULT]/enable_api_audit_middleware"},{"line_number":7,"context_line":"    * [audit]/ignore_req_list"},{"line_number":8,"context_line":"    * [audit]/audit_map_file"},{"line_number":9,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":45,"id":"7aa08908_185671d2","line":6,"in_reply_to":"7aa08908_9caffce2","updated":"2016-06-06 08:32:36.000000000","message":"Done","commit_id":"53791e85c9260bfc42dc655b247a9ad3fc3b7e14"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"c13e18347dd0ff604005fcfff938f7db048ba0a6","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    * [audit]/audit_map_file"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"upgrade:"},{"line_number":11,"context_line":"  - Adds new ironic_api_audit_map.conf file as part of support for audit middleware."}],"source_content_type":"text/x-yaml","patch_set":45,"id":"7aa08908_7cacd0ed","line":11,"updated":"2016-06-06 04:58:45.000000000","message":"it\u0027s not an upgrade consideration, as it does not affect existing deployments. please remove.","commit_id":"53791e85c9260bfc42dc655b247a9ad3fc3b7e14"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"ccf49d08244aa355d1f8adf29147a5c0df4ec041","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    * [audit]/audit_map_file"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"upgrade:"},{"line_number":11,"context_line":"  - Adds new ironic_api_audit_map.conf file as part of support for audit middleware."}],"source_content_type":"text/x-yaml","patch_set":45,"id":"7aa08908_f85285dc","line":11,"in_reply_to":"7aa08908_7cacd0ed","updated":"2016-06-06 08:32:36.000000000","message":"Done","commit_id":"53791e85c9260bfc42dc655b247a9ad3fc3b7e14"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"dd46a16ed10ca5e361c41966662bd1d5b71537ab","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ironic-api service now supports logging audit messages to"},{"line_number":5,"context_line":"    api calls. The following configuration parameters had been added."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    * [audit]/enabled"},{"line_number":8,"context_line":"    * [audit]/ignore_req_list"}],"source_content_type":"text/x-yaml","patch_set":49,"id":"7aa08908_c93dc4de","line":5,"range":{"start_line":5,"start_character":54,"end_line":5,"end_character":57},"updated":"2016-06-13 13:07:37.000000000","message":"nit: s/had/have/","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e46dc50b81dde71c92df3ebdbcf2c5d2c82d5115","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ironic-api service now supports logging audit messages to"},{"line_number":5,"context_line":"    api calls. The following configuration parameters had been added."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    * [audit]/enabled"},{"line_number":8,"context_line":"    * [audit]/ignore_req_list"}],"source_content_type":"text/x-yaml","patch_set":49,"id":"7aa08908_cf90c845","line":5,"range":{"start_line":5,"start_character":54,"end_line":5,"end_character":57},"in_reply_to":"7aa08908_c93dc4de","updated":"2016-06-15 01:20:45.000000000","message":"I think it is worth noting that by default, it is turned off.","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"eabb5fc2c2817f8fa95ce152e18e34a150fb3f85","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ironic-api service now supports logging audit messages to"},{"line_number":5,"context_line":"    api calls. The following configuration parameters had been added."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    * [audit]/enabled"},{"line_number":8,"context_line":"    * [audit]/ignore_req_list"}],"source_content_type":"text/x-yaml","patch_set":49,"id":"7aa08908_f4411364","line":5,"range":{"start_line":5,"start_character":54,"end_line":5,"end_character":57},"in_reply_to":"7aa08908_cf90c845","updated":"2016-06-15 06:45:45.000000000","message":"Done","commit_id":"f3270db6451b11c51a9dcbb2b2826bdfc76a8f1e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"7cda78d9c57313fb64764a79fcf757cd5231f3aa","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ironic-api service now supports logging audit messages to"},{"line_number":5,"context_line":"    api calls. The following configuration parameters have been added."},{"line_number":6,"context_line":"    By default auditing of ironic-api service is turned off."},{"line_number":7,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":53,"id":"7aa08908_d4cbe6a2","line":4,"updated":"2016-06-16 13:28:43.000000000","message":"nit s/to/of/","commit_id":"a24ef24eea929d2b35a788bd0ad715be82bd7572"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"0ec23eaf4fec5473ba0b18a08227dee7bf615780","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ironic-api service now supports logging audit messages to"},{"line_number":5,"context_line":"    api calls. The following configuration parameters have been added."},{"line_number":6,"context_line":"    By default auditing of ironic-api service is turned off."},{"line_number":7,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":53,"id":"7aa08908_1453953a","line":4,"in_reply_to":"7aa08908_d4cbe6a2","updated":"2016-06-16 20:57:05.000000000","message":"Done","commit_id":"a24ef24eea929d2b35a788bd0ad715be82bd7572"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"1a6f60a66d11362dd79eda33742bf8696e031204","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ironic-api service now supports logging audit messages of"},{"line_number":5,"context_line":"    api calls. The following configuration parameters have been added."},{"line_number":6,"context_line":"    By default auditing of ironic-api service is turned off."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    * [audit]/enabled"},{"line_number":9,"context_line":"    * [audit]/ignore_req_list"}],"source_content_type":"text/x-yaml","patch_set":71,"id":"dada55a8_b8e4d70c","line":6,"range":{"start_line":6,"start_character":15,"end_line":6,"end_character":26},"updated":"2016-07-27 11:54:00.000000000","message":"nit: s/auditing of/audit logging for/","commit_id":"295b35c48f7dcc2983a19d4114254bea85239b3a"}]}
