)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":17896,"name":"Rick Bartra","email":"rickbartra@microsoft.com","username":"rb560u"},"change_message_id":"75f9858cfbdb0507f5b161fd4644398151913304","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Doug Schveninger \u003cds6901@att.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-08-28 16:36:29 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix Extension gates by supporting SKip Execption in test case."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The test test_delete_auto_allocated_topology is the only"},{"line_number":10,"context_line":"test in patrole that does a Skip test exception in the test_ method"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9f560f44_0b268469","line":7,"range":{"start_line":7,"start_character":34,"end_line":7,"end_character":48},"updated":"2020-08-31 18:37:01.000000000","message":"nit: Skip Exception","commit_id":"9425f9d13a3010989f658eb61467e0af1a5ba8a7"},{"author":{"_account_id":17887,"name":"Doug Schveninger","email":"ds6901@att.com","username":"Doug.Schveninger"},"change_message_id":"9707bcb5a11c683ba055849b87119860de729f79","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Doug Schveninger \u003cds6901@att.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-08-28 16:36:29 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix Extension gates by supporting SKip Execption in test case."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The test test_delete_auto_allocated_topology is the only"},{"line_number":10,"context_line":"test in patrole that does a Skip test exception in the test_ method"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9f560f44_e5c37c37","line":7,"range":{"start_line":7,"start_character":34,"end_line":7,"end_character":48},"in_reply_to":"9f560f44_0b268469","updated":"2020-08-31 23:48:18.000000000","message":"Done","commit_id":"9425f9d13a3010989f658eb61467e0af1a5ba8a7"},{"author":{"_account_id":17896,"name":"Rick Bartra","email":"rickbartra@microsoft.com","username":"rb560u"},"change_message_id":"75f9858cfbdb0507f5b161fd4644398151913304","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The test test_delete_auto_allocated_topology is the only"},{"line_number":10,"context_line":"test in patrole that does a Skip test exception in the test_ method"},{"line_number":11,"context_line":"so I had to add support to the rbac_rule_validation decorator"},{"line_number":12,"context_line":"so the framework would allow the skip execption to be thrown"},{"line_number":13,"context_line":"through the decorator and make it throught to the unittest"},{"line_number":14,"context_line":"framework as a skip. Let me know if anyone has a better"},{"line_number":15,"context_line":"way to do this.  I am just trying to get all of the gates running."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9f560f44_4b1fdc08","line":12,"range":{"start_line":12,"start_character":38,"end_line":12,"end_character":47},"updated":"2020-08-31 18:37:01.000000000","message":"nit: exception","commit_id":"9425f9d13a3010989f658eb61467e0af1a5ba8a7"},{"author":{"_account_id":17887,"name":"Doug Schveninger","email":"ds6901@att.com","username":"Doug.Schveninger"},"change_message_id":"9707bcb5a11c683ba055849b87119860de729f79","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The test test_delete_auto_allocated_topology is the only"},{"line_number":10,"context_line":"test in patrole that does a Skip test exception in the test_ method"},{"line_number":11,"context_line":"so I had to add support to the rbac_rule_validation decorator"},{"line_number":12,"context_line":"so the framework would allow the skip execption to be thrown"},{"line_number":13,"context_line":"through the decorator and make it throught to the unittest"},{"line_number":14,"context_line":"framework as a skip. Let me know if anyone has a better"},{"line_number":15,"context_line":"way to do this.  I am just trying to get all of the gates running."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9f560f44_c5c0f82d","line":12,"range":{"start_line":12,"start_character":38,"end_line":12,"end_character":47},"in_reply_to":"9f560f44_4b1fdc08","updated":"2020-08-31 23:48:18.000000000","message":"Done","commit_id":"9425f9d13a3010989f658eb61467e0af1a5ba8a7"},{"author":{"_account_id":17896,"name":"Rick Bartra","email":"rickbartra@microsoft.com","username":"rb560u"},"change_message_id":"75f9858cfbdb0507f5b161fd4644398151913304","unresolved":false,"context_lines":[{"line_number":10,"context_line":"test in patrole that does a Skip test exception in the test_ method"},{"line_number":11,"context_line":"so I had to add support to the rbac_rule_validation decorator"},{"line_number":12,"context_line":"so the framework would allow the skip execption to be thrown"},{"line_number":13,"context_line":"through the decorator and make it throught to the unittest"},{"line_number":14,"context_line":"framework as a skip. Let me know if anyone has a better"},{"line_number":15,"context_line":"way to do this.  I am just trying to get all of the gates running."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9f560f44_2b1c2812","line":13,"range":{"start_line":13,"start_character":34,"end_line":13,"end_character":42},"updated":"2020-08-31 18:37:01.000000000","message":"nit: through","commit_id":"9425f9d13a3010989f658eb61467e0af1a5ba8a7"},{"author":{"_account_id":17887,"name":"Doug Schveninger","email":"ds6901@att.com","username":"Doug.Schveninger"},"change_message_id":"9707bcb5a11c683ba055849b87119860de729f79","unresolved":false,"context_lines":[{"line_number":10,"context_line":"test in patrole that does a Skip test exception in the test_ method"},{"line_number":11,"context_line":"so I had to add support to the rbac_rule_validation decorator"},{"line_number":12,"context_line":"so the framework would allow the skip execption to be thrown"},{"line_number":13,"context_line":"through the decorator and make it throught to the unittest"},{"line_number":14,"context_line":"framework as a skip. Let me know if anyone has a better"},{"line_number":15,"context_line":"way to do this.  I am just trying to get all of the gates running."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9f560f44_65e5acdc","line":13,"range":{"start_line":13,"start_character":34,"end_line":13,"end_character":42},"in_reply_to":"9f560f44_2b1c2812","updated":"2020-08-31 23:48:18.000000000","message":"Done","commit_id":"9425f9d13a3010989f658eb61467e0af1a5ba8a7"},{"author":{"_account_id":17896,"name":"Rick Bartra","email":"rickbartra@microsoft.com","username":"rb560u"},"change_message_id":"75f9858cfbdb0507f5b161fd4644398151913304","unresolved":false,"context_lines":[{"line_number":14,"context_line":"framework as a skip. Let me know if anyone has a better"},{"line_number":15,"context_line":"way to do this.  I am just trying to get all of the gates running."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"FYI I am doown to one testing in multinode that is only"},{"line_number":18,"context_line":"supported by system scoped token in Nova so I think that"},{"line_number":19,"context_line":"we will have to wait until tempest supports scope token and"},{"line_number":20,"context_line":"then when patrole support them we should be able to get all"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9f560f44_6b1620f4","line":17,"range":{"start_line":17,"start_character":9,"end_line":17,"end_character":14},"updated":"2020-08-31 18:37:01.000000000","message":"nit: down","commit_id":"9425f9d13a3010989f658eb61467e0af1a5ba8a7"},{"author":{"_account_id":17887,"name":"Doug Schveninger","email":"ds6901@att.com","username":"Doug.Schveninger"},"change_message_id":"9707bcb5a11c683ba055849b87119860de729f79","unresolved":false,"context_lines":[{"line_number":14,"context_line":"framework as a skip. Let me know if anyone has a better"},{"line_number":15,"context_line":"way to do this.  I am just trying to get all of the gates running."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"FYI I am doown to one testing in multinode that is only"},{"line_number":18,"context_line":"supported by system scoped token in Nova so I think that"},{"line_number":19,"context_line":"we will have to wait until tempest supports scope token and"},{"line_number":20,"context_line":"then when patrole support them we should be able to get all"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9f560f44_45ea28ac","line":17,"range":{"start_line":17,"start_character":9,"end_line":17,"end_character":14},"in_reply_to":"9f560f44_6b1620f4","updated":"2020-08-31 23:48:18.000000000","message":"Done","commit_id":"9425f9d13a3010989f658eb61467e0af1a5ba8a7"},{"author":{"_account_id":17896,"name":"Rick Bartra","email":"rickbartra@microsoft.com","username":"rb560u"},"change_message_id":"75f9858cfbdb0507f5b161fd4644398151913304","unresolved":false,"context_lines":[{"line_number":17,"context_line":"FYI I am doown to one testing in multinode that is only"},{"line_number":18,"context_line":"supported by system scoped token in Nova so I think that"},{"line_number":19,"context_line":"we will have to wait until tempest supports scope token and"},{"line_number":20,"context_line":"then when patrole support them we should be able to get all"},{"line_number":21,"context_line":"gate and non voting gates to work."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"https://storyboard.openstack.org/#!/story/2008018"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9f560f44_abd5d81d","line":21,"range":{"start_line":20,"start_character":56,"end_line":21,"end_character":4},"updated":"2020-08-31 18:37:01.000000000","message":"nit: all voting*","commit_id":"9425f9d13a3010989f658eb61467e0af1a5ba8a7"},{"author":{"_account_id":17887,"name":"Doug Schveninger","email":"ds6901@att.com","username":"Doug.Schveninger"},"change_message_id":"9707bcb5a11c683ba055849b87119860de729f79","unresolved":false,"context_lines":[{"line_number":17,"context_line":"FYI I am doown to one testing in multinode that is only"},{"line_number":18,"context_line":"supported by system scoped token in Nova so I think that"},{"line_number":19,"context_line":"we will have to wait until tempest supports scope token and"},{"line_number":20,"context_line":"then when patrole support them we should be able to get all"},{"line_number":21,"context_line":"gate and non voting gates to work."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"https://storyboard.openstack.org/#!/story/2008018"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9f560f44_85cba048","line":21,"range":{"start_line":20,"start_character":56,"end_line":21,"end_character":4},"in_reply_to":"9f560f44_abd5d81d","updated":"2020-08-31 23:48:18.000000000","message":"Done","commit_id":"9425f9d13a3010989f658eb61467e0af1a5ba8a7"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"5a7323171069a95202264833ff76c86d11c8db18","unresolved":false,"context_lines":[{"line_number":23,"context_line":"https://storyboard.openstack.org/#!/story/2008018"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Change-Id: Id8a599c8754dfc10ffa5fa18c232a9afff180a8e"},{"line_number":26,"context_line":"Closes-Bug:2008018"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"9f560f44_b97b69bc","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":18},"updated":"2020-09-01 08:52:23.000000000","message":"I think that this should be like this:\nStory: 2008018\nTask: 40670\n\nassuming you wanna refer to this bug report https://storyboard.openstack.org/#!/story/2008018\n\nCloses-Bug automatically refers to launchpad","commit_id":"a8be9165159baf1d9b483ed516c9251a25f4c22e"}],"patrole_tempest_plugin/rbac_rule_validation.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"1e890b7e6f8f5c120c92d07b8994dc046551ca30","unresolved":false,"context_lines":[{"line_number":26,"context_line":"from tempest import test"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"from testtools.testcase import ("},{"line_number":29,"context_line":"    TestSkipped,"},{"line_number":30,"context_line":"    )"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"from patrole_tempest_plugin import policy_authority"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_2e5edf11","line":29,"updated":"2020-08-17 12:21:00.000000000","message":"pep8: H301: one import per line","commit_id":"029046a86291a9fb451c428f88d4bdc96cd983b6"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"24a16d519a65578c47c6b8af129be70dc7a15f6b","unresolved":false,"context_lines":[{"line_number":481,"context_line":""},{"line_number":482,"context_line":"    if not called:"},{"line_number":483,"context_line":"        if actual_exception is not None:"},{"line_number":484,"context_line":"            if isinstance(actual_exception, SkipTest):"},{"line_number":485,"context_line":"                return"},{"line_number":486,"context_line":"            msg \u003d (\u0027Caught exception (%s) but it was raised before the \u0027"},{"line_number":487,"context_line":"                   \u0027`override_role` context. \u0027 % actual_exception.__class__)"},{"line_number":488,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_d1725a7c","line":485,"range":{"start_line":484,"start_character":12,"end_line":485,"end_character":22},"updated":"2020-08-17 22:07:26.000000000","message":"This requires special treatment due to the following: https://opendev.org/openstack/tempest/src/branch/master/tempest/test.py#L152\n\nAt the very least we will need to do something like this: https://opendev.org/openstack/tempest/src/branch/master/tempest/lib/base.py#L24\n\nBut basically, we should be catching testtools.TestCase.skipException.","commit_id":"10140b269cb7965ff67af93a9941990cdccdedf8"},{"author":{"_account_id":17887,"name":"Doug Schveninger","email":"ds6901@att.com","username":"Doug.Schveninger"},"change_message_id":"1a3a43ef5dc8a064fe135e3800731fe6b7a1ce47","unresolved":false,"context_lines":[{"line_number":481,"context_line":""},{"line_number":482,"context_line":"    if not called:"},{"line_number":483,"context_line":"        if actual_exception is not None:"},{"line_number":484,"context_line":"            if isinstance(actual_exception, SkipTest):"},{"line_number":485,"context_line":"                return"},{"line_number":486,"context_line":"            msg \u003d (\u0027Caught exception (%s) but it was raised before the \u0027"},{"line_number":487,"context_line":"                   \u0027`override_role` context. \u0027 % actual_exception.__class__)"},{"line_number":488,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_b5038976","line":485,"range":{"start_line":484,"start_character":12,"end_line":485,"end_character":22},"in_reply_to":"9f560f44_34d5841c","updated":"2020-08-29 11:28:49.000000000","message":"I reviewed what test tools is doing and use that class attribute as the if compare since the loader will set that and this if should support any future changes","commit_id":"10140b269cb7965ff67af93a9941990cdccdedf8"},{"author":{"_account_id":17887,"name":"Doug Schveninger","email":"ds6901@att.com","username":"Doug.Schveninger"},"change_message_id":"bac11f4ac24195ff1e1a753a9022b11a42e0909c","unresolved":false,"context_lines":[{"line_number":481,"context_line":""},{"line_number":482,"context_line":"    if not called:"},{"line_number":483,"context_line":"        if actual_exception is not None:"},{"line_number":484,"context_line":"            if isinstance(actual_exception, SkipTest):"},{"line_number":485,"context_line":"                return"},{"line_number":486,"context_line":"            msg \u003d (\u0027Caught exception (%s) but it was raised before the \u0027"},{"line_number":487,"context_line":"                   \u0027`override_role` context. \u0027 % actual_exception.__class__)"},{"line_number":488,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_34d5841c","line":485,"range":{"start_line":484,"start_character":12,"end_line":485,"end_character":22},"in_reply_to":"9f560f44_d1725a7c","updated":"2020-08-18 00:09:09.000000000","message":"I am just checking for either unittest or unittest2 .  Let me know if i should do something else.","commit_id":"10140b269cb7965ff67af93a9941990cdccdedf8"},{"author":{"_account_id":17896,"name":"Rick Bartra","email":"rickbartra@microsoft.com","username":"rb560u"},"change_message_id":"75f9858cfbdb0507f5b161fd4644398151913304","unresolved":false,"context_lines":[{"line_number":482,"context_line":""},{"line_number":483,"context_line":"    if not called:"},{"line_number":484,"context_line":"        if actual_exception is not None:"},{"line_number":485,"context_line":"            # Use testtools skipexception in base TestCase"},{"line_number":486,"context_line":"            # to support different skip exceptions used."},{"line_number":487,"context_line":"            # Just return so the skip exception will go up"},{"line_number":488,"context_line":"            # the stack and be handled by the unit testing framework"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_8bee14eb","line":485,"range":{"start_line":485,"start_character":28,"end_line":485,"end_character":41},"updated":"2020-08-31 18:37:01.000000000","message":"nit: skipException","commit_id":"9425f9d13a3010989f658eb61467e0af1a5ba8a7"},{"author":{"_account_id":17887,"name":"Doug Schveninger","email":"ds6901@att.com","username":"Doug.Schveninger"},"change_message_id":"9707bcb5a11c683ba055849b87119860de729f79","unresolved":false,"context_lines":[{"line_number":482,"context_line":""},{"line_number":483,"context_line":"    if not called:"},{"line_number":484,"context_line":"        if actual_exception is not None:"},{"line_number":485,"context_line":"            # Use testtools skipexception in base TestCase"},{"line_number":486,"context_line":"            # to support different skip exceptions used."},{"line_number":487,"context_line":"            # Just return so the skip exception will go up"},{"line_number":488,"context_line":"            # the stack and be handled by the unit testing framework"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_25b614de","line":485,"range":{"start_line":485,"start_character":28,"end_line":485,"end_character":41},"in_reply_to":"9f560f44_8bee14eb","updated":"2020-08-31 23:48:18.000000000","message":"Done","commit_id":"9425f9d13a3010989f658eb61467e0af1a5ba8a7"}]}
