)]}'
{"HACKING.rst":[{"author":{"_account_id":17896,"name":"Rick Bartra","email":"rickbartra@microsoft.com","username":"rb560u"},"change_message_id":"1502ed6a86cbc057161308be34da798fa6cb7f2a","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"When adding tests for new policies that were not in previous releases of the"},{"line_number":81,"context_line":"projects, the new test must be properly skipped with a feature flag. This"},{"line_number":82,"context_line":"invovles using the ``testtools.skip(Unless|If)`` decorator above the test"},{"line_number":83,"context_line":"to check if the required policy is enabled. Similarly, a feature flag must"},{"line_number":84,"context_line":"be whenever an OpenStack service covered by Patrole changes one of its"},{"line_number":85,"context_line":"policies in a backwards-incompatible way. If there isn\u0027t a method of selecting"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5f7c97a3_5d4dd838","line":82,"range":{"start_line":82,"start_character":0,"end_line":82,"end_character":8},"updated":"2018-05-31 16:43:26.000000000","message":"nit: involves","commit_id":"db144f0911c4966c26f34da7cf5f3825235b0030"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"0da09fd6de4849043d5dfb70f77c23e6e406c4db","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"When adding tests for new policies that were not in previous releases of the"},{"line_number":81,"context_line":"projects, the new test must be properly skipped with a feature flag. This"},{"line_number":82,"context_line":"invovles using the ``testtools.skip(Unless|If)`` decorator above the test"},{"line_number":83,"context_line":"to check if the required policy is enabled. Similarly, a feature flag must"},{"line_number":84,"context_line":"be whenever an OpenStack service covered by Patrole changes one of its"},{"line_number":85,"context_line":"policies in a backwards-incompatible way. If there isn\u0027t a method of selecting"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5f7c97a3_d841f60b","line":82,"range":{"start_line":82,"start_character":0,"end_line":82,"end_character":8},"in_reply_to":"5f7c97a3_5d4dd838","updated":"2018-05-31 17:37:15.000000000","message":"Done","commit_id":"db144f0911c4966c26f34da7cf5f3825235b0030"},{"author":{"_account_id":17896,"name":"Rick Bartra","email":"rickbartra@microsoft.com","username":"rb560u"},"change_message_id":"1502ed6a86cbc057161308be34da798fa6cb7f2a","unresolved":false,"context_lines":[{"line_number":81,"context_line":"projects, the new test must be properly skipped with a feature flag. This"},{"line_number":82,"context_line":"invovles using the ``testtools.skip(Unless|If)`` decorator above the test"},{"line_number":83,"context_line":"to check if the required policy is enabled. Similarly, a feature flag must"},{"line_number":84,"context_line":"be whenever an OpenStack service covered by Patrole changes one of its"},{"line_number":85,"context_line":"policies in a backwards-incompatible way. If there isn\u0027t a method of selecting"},{"line_number":86,"context_line":"the new policy from the config file then there won\u0027t be a mechanism to disable"},{"line_number":87,"context_line":"the test with older stable releases and the new test won\u0027t be able to merge."}],"source_content_type":"text/x-rst","patch_set":7,"id":"5f7c97a3_dd5a48f0","line":84,"range":{"start_line":84,"start_character":0,"end_line":84,"end_character":11},"updated":"2018-05-31 16:43:26.000000000","message":"nit: must \"be\" used","commit_id":"db144f0911c4966c26f34da7cf5f3825235b0030"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"0da09fd6de4849043d5dfb70f77c23e6e406c4db","unresolved":false,"context_lines":[{"line_number":81,"context_line":"projects, the new test must be properly skipped with a feature flag. This"},{"line_number":82,"context_line":"invovles using the ``testtools.skip(Unless|If)`` decorator above the test"},{"line_number":83,"context_line":"to check if the required policy is enabled. Similarly, a feature flag must"},{"line_number":84,"context_line":"be whenever an OpenStack service covered by Patrole changes one of its"},{"line_number":85,"context_line":"policies in a backwards-incompatible way. If there isn\u0027t a method of selecting"},{"line_number":86,"context_line":"the new policy from the config file then there won\u0027t be a mechanism to disable"},{"line_number":87,"context_line":"the test with older stable releases and the new test won\u0027t be able to merge."}],"source_content_type":"text/x-rst","patch_set":7,"id":"5f7c97a3_784c6241","line":84,"range":{"start_line":84,"start_character":0,"end_line":84,"end_character":11},"in_reply_to":"5f7c97a3_dd5a48f0","updated":"2018-05-31 17:37:15.000000000","message":"Done","commit_id":"db144f0911c4966c26f34da7cf5f3825235b0030"}],"doc/source/configuration.rst":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"70bbbbc682d26e445874a7696a53bff9841ce19e","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Patrole\u0027s ``[policy-feature-enabled]`` configuration group includes one option"},{"line_number":63,"context_line":"per supported policy feature flag. These feature flags are introduced when an"},{"line_number":64,"context_line":"OpenStack service renames or removes a policy in a backwards-incompatible way."},{"line_number":65,"context_line":"Since Patrole is branchless, it copes with the unexpected policy change by"},{"line_number":66,"context_line":"making the relevant policy rename/removal as well, but also introduces a new"},{"line_number":67,"context_line":"policy feature flag so that the test won\u0027t break N-1/N-2 releases where N is"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_46659ee0","line":64,"range":{"start_line":64,"start_character":17,"end_line":64,"end_character":36},"updated":"2018-03-27 03:00:32.000000000","message":"changes","commit_id":"127f54fe654ac4afc203faa92af63754b2533884"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"70bbbbc682d26e445874a7696a53bff9841ce19e","unresolved":false,"context_lines":[{"line_number":63,"context_line":"per supported policy feature flag. These feature flags are introduced when an"},{"line_number":64,"context_line":"OpenStack service renames or removes a policy in a backwards-incompatible way."},{"line_number":65,"context_line":"Since Patrole is branchless, it copes with the unexpected policy change by"},{"line_number":66,"context_line":"making the relevant policy rename/removal as well, but also introduces a new"},{"line_number":67,"context_line":"policy feature flag so that the test won\u0027t break N-1/N-2 releases where N is"},{"line_number":68,"context_line":"the currently supported release."},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_266aeab2","line":66,"range":{"start_line":66,"start_character":27,"end_line":66,"end_character":41},"updated":"2018-03-27 03:00:32.000000000","message":"change","commit_id":"127f54fe654ac4afc203faa92af63754b2533884"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"70bbbbc682d26e445874a7696a53bff9841ce19e","unresolved":false,"context_lines":[{"line_number":67,"context_line":"policy feature flag so that the test won\u0027t break N-1/N-2 releases where N is"},{"line_number":68,"context_line":"the currently supported release."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"The default value for the feature flag is set to ``True`` for N and is set"},{"line_number":71,"context_line":"to ``False`` for N-1 and N-2 by overriding the default feature flag value"},{"line_number":72,"context_line":"in DevStack\u0027s ``lib/tempest`` installation script. The change is made"},{"line_number":73,"context_line":"in Tempest because Patrole\u0027s DevStack plugin is hosted in repo, which"},{"line_number":74,"context_line":"is branchless (whereas DevStack is branched)."},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_065fa60e","line":72,"range":{"start_line":70,"start_character":0,"end_line":72,"end_character":50},"updated":"2018-03-27 03:00:32.000000000","message":"True and False here is too implementation specific. Need to generalize.","commit_id":"127f54fe654ac4afc203faa92af63754b2533884"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8c16137fc52daaa2d3d80a8e7920f1ff8046ed43","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Patrole\u0027s ``[policy-feature-enabled]`` configuration group includes one option"},{"line_number":63,"context_line":"per supported policy feature flag. These feature flags are introduced when an"},{"line_number":64,"context_line":"OpenStack service changes a policy in a backwards-incompatible way. Since"},{"line_number":65,"context_line":"Patrole is branchless, it copes with the unexpected policy change by making"},{"line_number":66,"context_line":"the relevant policy change as well, but also introduces a new policy feature"},{"line_number":67,"context_line":"flag so that the test won\u0027t break N-1/N-2 releases where N is the currently"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9f6a8fd7_1eeeed87","line":64,"range":{"start_line":64,"start_character":66,"end_line":64,"end_character":67},"updated":"2018-04-19 02:46:23.000000000","message":"or newly introduced policy.","commit_id":"fad1af075699a8b7d1b3f497b9db9fccde9d1dc4"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"221fee79c6445fa755ddb5bcbf92d2013a45c7da","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Patrole\u0027s ``[policy-feature-enabled]`` configuration group includes one option"},{"line_number":63,"context_line":"per supported policy feature flag. These feature flags are introduced when an"},{"line_number":64,"context_line":"OpenStack service changes a policy in a backwards-incompatible way. Since"},{"line_number":65,"context_line":"Patrole is branchless, it copes with the unexpected policy change by making"},{"line_number":66,"context_line":"the relevant policy change as well, but also introduces a new policy feature"},{"line_number":67,"context_line":"flag so that the test won\u0027t break N-1/N-2 releases where N is the currently"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_ed216eb5","line":64,"range":{"start_line":64,"start_character":66,"end_line":64,"end_character":67},"in_reply_to":"9f6a8fd7_1eeeed87","updated":"2018-05-16 17:45:26.000000000","message":"Done","commit_id":"fad1af075699a8b7d1b3f497b9db9fccde9d1dc4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8c16137fc52daaa2d3d80a8e7920f1ff8046ed43","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"The default value for the feature flag is enabled for N and disabled for any"},{"line_number":71,"context_line":"releases prior to N in which the feature is not available. This is done by"},{"line_number":72,"context_line":"overriding the default value of the feature flag in DevStack\u0027s ``lib/tempest``"},{"line_number":73,"context_line":"installation script. The change is made in Tempest\u0027s DevStack script because"},{"line_number":74,"context_line":"Patrole\u0027s DevStack plugin is hosted in-repo, which is branch-less (whereas"},{"line_number":75,"context_line":"the former is branched)."}],"source_content_type":"text/x-rst","patch_set":4,"id":"9f6a8fd7_5e99c51c","line":72,"range":{"start_line":72,"start_character":65,"end_line":72,"end_character":76},"updated":"2018-04-19 02:46:23.000000000","message":"tempest/lib is not good place to configure tempest. as tempest member i will not like this :)\n\nBut i am thinking we can have patrole/lib in devstack. We can propose the idea and check other feedback.","commit_id":"fad1af075699a8b7d1b3f497b9db9fccde9d1dc4"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"2bf8e60c7c7dbe349420265e0fc42b6571a4cdc1","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"The default value for the feature flag is enabled for N and disabled for any"},{"line_number":71,"context_line":"releases prior to N in which the feature is not available. This is done by"},{"line_number":72,"context_line":"overriding the default value of the feature flag in DevStack\u0027s ``lib/tempest``"},{"line_number":73,"context_line":"installation script. The change is made in Tempest\u0027s DevStack script because"},{"line_number":74,"context_line":"Patrole\u0027s DevStack plugin is hosted in-repo, which is branch-less (whereas"},{"line_number":75,"context_line":"the former is branched)."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_0ffff934","line":72,"range":{"start_line":72,"start_character":65,"end_line":72,"end_character":76},"in_reply_to":"5f7c97a3_ede3ae03","updated":"2018-05-17 01:09:57.000000000","message":"I added patches to add patrole to devstack:\n* https://review.openstack.org/#/c/568951/\n* https://review.openstack.org/#/c/568950/","commit_id":"fad1af075699a8b7d1b3f497b9db9fccde9d1dc4"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"221fee79c6445fa755ddb5bcbf92d2013a45c7da","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"The default value for the feature flag is enabled for N and disabled for any"},{"line_number":71,"context_line":"releases prior to N in which the feature is not available. This is done by"},{"line_number":72,"context_line":"overriding the default value of the feature flag in DevStack\u0027s ``lib/tempest``"},{"line_number":73,"context_line":"installation script. The change is made in Tempest\u0027s DevStack script because"},{"line_number":74,"context_line":"Patrole\u0027s DevStack plugin is hosted in-repo, which is branch-less (whereas"},{"line_number":75,"context_line":"the former is branched)."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_ede3ae03","line":72,"range":{"start_line":72,"start_character":65,"end_line":72,"end_character":76},"in_reply_to":"9f6a8fd7_5e99c51c","updated":"2018-05-16 17:45:26.000000000","message":"Ok, we can discuss further at PTG and I can propose a PS to devstack.","commit_id":"fad1af075699a8b7d1b3f497b9db9fccde9d1dc4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8c16137fc52daaa2d3d80a8e7920f1ff8046ed43","unresolved":false,"context_lines":[{"line_number":77,"context_line":"After the backwards-incompatible change no longer affects any supported"},{"line_number":78,"context_line":"release, then the corresponding policy feature flag is removed."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"For more information on feature flags, reference the relevant"},{"line_number":81,"context_line":"`Tempest documentation`_."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":".. _Tempest documentation: https://docs.openstack.org/tempest/latest/HACKING.html#1-new-tests-for-new-features"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Sample Configuration File"},{"line_number":86,"context_line":"-------------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9f6a8fd7_7eacc933","line":83,"range":{"start_line":80,"start_character":0,"end_line":83,"end_character":110},"updated":"2018-04-19 02:46:23.000000000","message":"ref is good but let\u0027s have hacking guide for patrole also which should explain branchless patrole considerations similar to  [1]\n\nThat section can explain\n1. why patrole is branchless\n2. when project want to change/remove policy or newly introduce policy and patrole gate is stopping them to do, then what are the step they can do. those can be same as tempest [2]\n\n..1 https://docs.openstack.org/tempest/latest/HACKING.html#branchless-tempest-considerations\n\n..2 https://docs.openstack.org/tempest/latest/HACKING.html#bug-fix-on-core-project-needing-tempest-changes","commit_id":"fad1af075699a8b7d1b3f497b9db9fccde9d1dc4"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"221fee79c6445fa755ddb5bcbf92d2013a45c7da","unresolved":false,"context_lines":[{"line_number":77,"context_line":"After the backwards-incompatible change no longer affects any supported"},{"line_number":78,"context_line":"release, then the corresponding policy feature flag is removed."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"For more information on feature flags, reference the relevant"},{"line_number":81,"context_line":"`Tempest documentation`_."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":".. _Tempest documentation: https://docs.openstack.org/tempest/latest/HACKING.html#1-new-tests-for-new-features"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Sample Configuration File"},{"line_number":86,"context_line":"-------------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_2d3c46df","line":83,"range":{"start_line":80,"start_character":0,"end_line":83,"end_character":110},"in_reply_to":"9f6a8fd7_7eacc933","updated":"2018-05-16 17:45:26.000000000","message":"Done","commit_id":"fad1af075699a8b7d1b3f497b9db9fccde9d1dc4"}]}
