)]}'
{"HACKING.rst":[{"author":{"_account_id":23185,"name":"Samantha Blanco","email":"samantha.blanco@att.com","username":"sblanco"},"change_message_id":"e4e9fc6526c14c7b386552d5c515d5b925352334","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7ffa3b31_4987abb6","line":5,"updated":"2017-04-20 20:51:24.000000000","message":"We should also include a link to Tempest\u0027s guide: https://docs.openstack.org/developer/tempest/HACKING.html","commit_id":"62c50e9731fd2a86e04019cb1fd33f171695ccf8"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"68591be1d1473674396dd846275fe0c1e8342c23","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7ffa3b31_d4647224","line":5,"in_reply_to":"7ffa3b31_4987abb6","updated":"2017-04-20 21:20:39.000000000","message":"Done","commit_id":"62c50e9731fd2a86e04019cb1fd33f171695ccf8"}],"README.rst":[{"author":{"_account_id":23185,"name":"Samantha Blanco","email":"samantha.blanco@att.com","username":"sblanco"},"change_message_id":"e4e9fc6526c14c7b386552d5c515d5b925352334","unresolved":false,"context_lines":[{"line_number":49,"context_line":"determine whether a given role is allowed to perform a policy action given a"},{"line_number":50,"context_line":"specific rule and OpenStack service. This is done before test execution inside"},{"line_number":51,"context_line":"the ``rbac_rule_validation.action`` decorator. Then, inside the test, the API"},{"line_number":52,"context_line":"that presumably does the policy enforcement for the same rule is called. The"},{"line_number":53,"context_line":"outcome of which is compared against the result from oslo_policy. A consistent"},{"line_number":54,"context_line":"result is a pass and an inconsistent result is a failure."},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ffa3b31_89481387","line":52,"range":{"start_line":52,"start_character":5,"end_line":52,"end_character":15},"updated":"2017-04-20 20:51:24.000000000","message":"I would remove this; it makes it sound like we\u0027re just guessing.","commit_id":"62c50e9731fd2a86e04019cb1fd33f171695ccf8"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"68591be1d1473674396dd846275fe0c1e8342c23","unresolved":false,"context_lines":[{"line_number":49,"context_line":"determine whether a given role is allowed to perform a policy action given a"},{"line_number":50,"context_line":"specific rule and OpenStack service. This is done before test execution inside"},{"line_number":51,"context_line":"the ``rbac_rule_validation.action`` decorator. Then, inside the test, the API"},{"line_number":52,"context_line":"that presumably does the policy enforcement for the same rule is called. The"},{"line_number":53,"context_line":"outcome of which is compared against the result from oslo_policy. A consistent"},{"line_number":54,"context_line":"result is a pass and an inconsistent result is a failure."},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ffa3b31_b469e6f9","line":52,"range":{"start_line":52,"start_character":5,"end_line":52,"end_character":15},"in_reply_to":"7ffa3b31_89481387","updated":"2017-04-20 21:20:39.000000000","message":"Done","commit_id":"62c50e9731fd2a86e04019cb1fd33f171695ccf8"},{"author":{"_account_id":23185,"name":"Samantha Blanco","email":"samantha.blanco@att.com","username":"sblanco"},"change_message_id":"e4e9fc6526c14c7b386552d5c515d5b925352334","unresolved":false,"context_lines":[{"line_number":50,"context_line":"specific rule and OpenStack service. This is done before test execution inside"},{"line_number":51,"context_line":"the ``rbac_rule_validation.action`` decorator. Then, inside the test, the API"},{"line_number":52,"context_line":"that presumably does the policy enforcement for the same rule is called. The"},{"line_number":53,"context_line":"outcome of which is compared against the result from oslo_policy. A consistent"},{"line_number":54,"context_line":"result is a pass and an inconsistent result is a failure."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"The workflow is as follows:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ffa3b31_69614705","line":53,"range":{"start_line":53,"start_character":8,"end_line":53,"end_character":16},"updated":"2017-04-20 20:51:24.000000000","message":"rm","commit_id":"62c50e9731fd2a86e04019cb1fd33f171695ccf8"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"68591be1d1473674396dd846275fe0c1e8342c23","unresolved":false,"context_lines":[{"line_number":50,"context_line":"specific rule and OpenStack service. This is done before test execution inside"},{"line_number":51,"context_line":"the ``rbac_rule_validation.action`` decorator. Then, inside the test, the API"},{"line_number":52,"context_line":"that presumably does the policy enforcement for the same rule is called. The"},{"line_number":53,"context_line":"outcome of which is compared against the result from oslo_policy. A consistent"},{"line_number":54,"context_line":"result is a pass and an inconsistent result is a failure."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"The workflow is as follows:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ffa3b31_946a6aea","line":53,"range":{"start_line":53,"start_character":8,"end_line":53,"end_character":16},"in_reply_to":"7ffa3b31_69614705","updated":"2017-04-20 21:20:39.000000000","message":"Done","commit_id":"62c50e9731fd2a86e04019cb1fd33f171695ccf8"},{"author":{"_account_id":23185,"name":"Samantha Blanco","email":"samantha.blanco@att.com","username":"sblanco"},"change_message_id":"e4e9fc6526c14c7b386552d5c515d5b925352334","unresolved":false,"context_lines":[{"line_number":50,"context_line":"specific rule and OpenStack service. This is done before test execution inside"},{"line_number":51,"context_line":"the ``rbac_rule_validation.action`` decorator. Then, inside the test, the API"},{"line_number":52,"context_line":"that presumably does the policy enforcement for the same rule is called. The"},{"line_number":53,"context_line":"outcome of which is compared against the result from oslo_policy. A consistent"},{"line_number":54,"context_line":"result is a pass and an inconsistent result is a failure."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"The workflow is as follows:"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ffa3b31_09540320","line":54,"range":{"start_line":53,"start_character":66,"end_line":54,"end_character":57},"updated":"2017-04-20 20:51:24.000000000","message":"I would rephrase this? (In)Consistent doesn\u0027t seem like the right word to use here.","commit_id":"62c50e9731fd2a86e04019cb1fd33f171695ccf8"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"68591be1d1473674396dd846275fe0c1e8342c23","unresolved":false,"context_lines":[{"line_number":50,"context_line":"specific rule and OpenStack service. This is done before test execution inside"},{"line_number":51,"context_line":"the ``rbac_rule_validation.action`` decorator. Then, inside the test, the API"},{"line_number":52,"context_line":"that presumably does the policy enforcement for the same rule is called. The"},{"line_number":53,"context_line":"outcome of which is compared against the result from oslo_policy. A consistent"},{"line_number":54,"context_line":"result is a pass and an inconsistent result is a failure."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"The workflow is as follows:"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ffa3b31_746fdefb","line":54,"range":{"start_line":53,"start_character":66,"end_line":54,"end_character":57},"in_reply_to":"7ffa3b31_09540320","updated":"2017-04-20 21:20:39.000000000","message":"Done","commit_id":"62c50e9731fd2a86e04019cb1fd33f171695ccf8"},{"author":{"_account_id":23185,"name":"Samantha Blanco","email":"samantha.blanco@att.com","username":"sblanco"},"change_message_id":"e4e9fc6526c14c7b386552d5c515d5b925352334","unresolved":false,"context_lines":[{"line_number":129,"context_line":"   And in nova ``context.can`` does policy enforcement for"},{"line_number":130,"context_line":"   ``os_compute_api:servers:stop``."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"#. Now that the API is made to \"stop_server\" with the primary credentials having"},{"line_number":133,"context_line":"   role specified by ``rbac_test_role``, either the nova contoller will allow"},{"line_number":134,"context_line":"   or disallow the API to be performed. Since the \"stop_server\" policy action in"},{"line_number":135,"context_line":"   nova is defined as \"base.RULE_ADMIN_OR_OWNER\", the API should most likely"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ffa3b31_d429128a","line":132,"range":{"start_line":132,"start_character":19,"end_line":132,"end_character":20},"updated":"2017-04-20 20:51:24.000000000","message":"Is a word missing here?","commit_id":"62c50e9731fd2a86e04019cb1fd33f171695ccf8"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"68591be1d1473674396dd846275fe0c1e8342c23","unresolved":false,"context_lines":[{"line_number":129,"context_line":"   And in nova ``context.can`` does policy enforcement for"},{"line_number":130,"context_line":"   ``os_compute_api:servers:stop``."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"#. Now that the API is made to \"stop_server\" with the primary credentials having"},{"line_number":133,"context_line":"   role specified by ``rbac_test_role``, either the nova contoller will allow"},{"line_number":134,"context_line":"   or disallow the API to be performed. Since the \"stop_server\" policy action in"},{"line_number":135,"context_line":"   nova is defined as \"base.RULE_ADMIN_OR_OWNER\", the API should most likely"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ffa3b31_547862c2","line":132,"range":{"start_line":132,"start_character":19,"end_line":132,"end_character":20},"in_reply_to":"7ffa3b31_d429128a","updated":"2017-04-20 21:20:39.000000000","message":"Done","commit_id":"62c50e9731fd2a86e04019cb1fd33f171695ccf8"},{"author":{"_account_id":23185,"name":"Samantha Blanco","email":"samantha.blanco@att.com","username":"sblanco"},"change_message_id":"e4e9fc6526c14c7b386552d5c515d5b925352334","unresolved":false,"context_lines":[{"line_number":129,"context_line":"   And in nova ``context.can`` does policy enforcement for"},{"line_number":130,"context_line":"   ``os_compute_api:servers:stop``."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"#. Now that the API is made to \"stop_server\" with the primary credentials having"},{"line_number":133,"context_line":"   role specified by ``rbac_test_role``, either the nova contoller will allow"},{"line_number":134,"context_line":"   or disallow the API to be performed. Since the \"stop_server\" policy action in"},{"line_number":135,"context_line":"   nova is defined as \"base.RULE_ADMIN_OR_OWNER\", the API should most likely"},{"line_number":136,"context_line":"   return a successful status code. For more information about this policy action,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ffa3b31_74247eaf","line":133,"range":{"start_line":132,"start_character":74,"end_line":133,"end_character":7},"updated":"2017-04-20 20:51:24.000000000","message":"\"having the role\" maybe?","commit_id":"62c50e9731fd2a86e04019cb1fd33f171695ccf8"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"68591be1d1473674396dd846275fe0c1e8342c23","unresolved":false,"context_lines":[{"line_number":129,"context_line":"   And in nova ``context.can`` does policy enforcement for"},{"line_number":130,"context_line":"   ``os_compute_api:servers:stop``."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"#. Now that the API is made to \"stop_server\" with the primary credentials having"},{"line_number":133,"context_line":"   role specified by ``rbac_test_role``, either the nova contoller will allow"},{"line_number":134,"context_line":"   or disallow the API to be performed. Since the \"stop_server\" policy action in"},{"line_number":135,"context_line":"   nova is defined as \"base.RULE_ADMIN_OR_OWNER\", the API should most likely"},{"line_number":136,"context_line":"   return a successful status code. For more information about this policy action,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ffa3b31_3475d6cb","line":133,"range":{"start_line":132,"start_character":74,"end_line":133,"end_character":7},"in_reply_to":"7ffa3b31_74247eaf","updated":"2017-04-20 21:20:39.000000000","message":"Done","commit_id":"62c50e9731fd2a86e04019cb1fd33f171695ccf8"}],"doc/source/usage.rst":[{"author":{"_account_id":23185,"name":"Samantha Blanco","email":"samantha.blanco@att.com","username":"sblanco"},"change_message_id":"e4e9fc6526c14c7b386552d5c515d5b925352334","unresolved":false,"context_lines":[{"line_number":8,"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"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"If Patrole is installed correctly, then the API tests can be executed"},{"line_number":11,"context_line":"(from inside the tempest root directory) as follows: ::"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    tox -eall-plugin -- patrole_tempest_plugin.tests.api"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ffa3b31_b47c4683","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":1},"updated":"2017-04-20 20:51:24.000000000","message":"Remove parentheses","commit_id":"62c50e9731fd2a86e04019cb1fd33f171695ccf8"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"68591be1d1473674396dd846275fe0c1e8342c23","unresolved":false,"context_lines":[{"line_number":8,"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"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"If Patrole is installed correctly, then the API tests can be executed"},{"line_number":11,"context_line":"(from inside the tempest root directory) as follows: ::"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    tox -eall-plugin -- patrole_tempest_plugin.tests.api"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ffa3b31_147e5aae","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":1},"in_reply_to":"7ffa3b31_b47c4683","updated":"2017-04-20 21:20:39.000000000","message":"Done","commit_id":"62c50e9731fd2a86e04019cb1fd33f171695ccf8"}]}
