)]}'
{"patrole_tempest_plugin/tests/api/compute/test_assisted_volume_snapshot_rbac.py":[{"author":{"_account_id":23184,"name":"DavidPurcell","email":"d.purcell222@gmail.com","username":"DavidPurcell"},"change_message_id":"ddd2c36cfd43e9b6b7b470fcc0f6f272143d06fb","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"\"\"\"RBAC tests for assisted volume snapshot.\"\"\""},{"line_number":16,"context_line":"import logging"},{"line_number":17,"context_line":"import uuid"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from patrole_tempest_plugin import rbac_rule_validation"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_3e50ef31","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":14},"updated":"2017-02-24 19:13:30.000000000","message":"Is this used anywhere?","commit_id":"279aea47d1cde417ed5e55d7d17b1d18042d31f8"},{"author":{"_account_id":20809,"name":"Adnan Khan","email":"rk221s@att.com","username":"rao.adnan.khan"},"change_message_id":"54b7f6e5d8c7493dab0546fab63b2893d68ad750","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"\"\"\"RBAC tests for assisted volume snapshot.\"\"\""},{"line_number":16,"context_line":"import logging"},{"line_number":17,"context_line":"import uuid"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from patrole_tempest_plugin import rbac_rule_validation"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_0e6214d8","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":14},"in_reply_to":"da36d5c6_3e50ef31","updated":"2017-02-24 21:22:02.000000000","message":"will take it out!","commit_id":"279aea47d1cde417ed5e55d7d17b1d18042d31f8"},{"author":{"_account_id":23184,"name":"DavidPurcell","email":"d.purcell222@gmail.com","username":"DavidPurcell"},"change_message_id":"ddd2c36cfd43e9b6b7b470fcc0f6f272143d06fb","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"\"\"\"RBAC tests for assisted volume snapshot.\"\"\""},{"line_number":16,"context_line":"import logging"},{"line_number":17,"context_line":"import uuid"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from patrole_tempest_plugin import rbac_rule_validation"},{"line_number":20,"context_line":"from patrole_tempest_plugin.rbac_utils import rbac_utils"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_a99907c6","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":11},"updated":"2017-02-24 19:13:30.000000000","message":"Don\u0027t use this, use tempest.lib.data_utils for generating UUIDs.","commit_id":"279aea47d1cde417ed5e55d7d17b1d18042d31f8"},{"author":{"_account_id":20809,"name":"Adnan Khan","email":"rk221s@att.com","username":"rao.adnan.khan"},"change_message_id":"54b7f6e5d8c7493dab0546fab63b2893d68ad750","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"\"\"\"RBAC tests for assisted volume snapshot.\"\"\""},{"line_number":16,"context_line":"import logging"},{"line_number":17,"context_line":"import uuid"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from patrole_tempest_plugin import rbac_rule_validation"},{"line_number":20,"context_line":"from patrole_tempest_plugin.rbac_utils import rbac_utils"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_ce6b9cb5","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":11},"in_reply_to":"da36d5c6_a99907c6","updated":"2017-02-24 21:22:02.000000000","message":"Other patrole commits still use it, such as 202fa201029d01fa32ac354f3bda216751403932","commit_id":"279aea47d1cde417ed5e55d7d17b1d18042d31f8"},{"author":{"_account_id":23184,"name":"DavidPurcell","email":"d.purcell222@gmail.com","username":"DavidPurcell"},"change_message_id":"ae9f8e5ba9b09f07ebe0538de0c65fe4972a465b","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"\"\"\"RBAC tests for assisted volume snapshot.\"\"\""},{"line_number":16,"context_line":"import logging"},{"line_number":17,"context_line":"import uuid"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from patrole_tempest_plugin import rbac_rule_validation"},{"line_number":20,"context_line":"from patrole_tempest_plugin.rbac_utils import rbac_utils"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_6e7f10e0","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":11},"in_reply_to":"da36d5c6_ce6b9cb5","updated":"2017-02-24 21:39:02.000000000","message":"This is a link to this patch?","commit_id":"279aea47d1cde417ed5e55d7d17b1d18042d31f8"},{"author":{"_account_id":23184,"name":"DavidPurcell","email":"d.purcell222@gmail.com","username":"DavidPurcell"},"change_message_id":"ddd2c36cfd43e9b6b7b470fcc0f6f272143d06fb","unresolved":false,"context_lines":[{"line_number":16,"context_line":"import logging"},{"line_number":17,"context_line":"import uuid"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from patrole_tempest_plugin import rbac_rule_validation"},{"line_number":20,"context_line":"from patrole_tempest_plugin.rbac_utils import rbac_utils"},{"line_number":21,"context_line":"from patrole_tempest_plugin.tests.api.compute import rbac_base"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from tempest import config"},{"line_number":24,"context_line":"from tempest.lib import decorators"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"from tempest.lib.common.utils import data_utils"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"CONF \u003d config.CONF"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_1e340bfa","line":26,"range":{"start_line":19,"start_character":0,"end_line":26,"end_character":47},"updated":"2017-02-24 19:13:30.000000000","message":"Please group imports correctly: https://docs.openstack.org/developer/hacking/#import-order-template","commit_id":"279aea47d1cde417ed5e55d7d17b1d18042d31f8"},{"author":{"_account_id":20809,"name":"Adnan Khan","email":"rk221s@att.com","username":"rao.adnan.khan"},"change_message_id":"54b7f6e5d8c7493dab0546fab63b2893d68ad750","unresolved":false,"context_lines":[{"line_number":16,"context_line":"import logging"},{"line_number":17,"context_line":"import uuid"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from patrole_tempest_plugin import rbac_rule_validation"},{"line_number":20,"context_line":"from patrole_tempest_plugin.rbac_utils import rbac_utils"},{"line_number":21,"context_line":"from patrole_tempest_plugin.tests.api.compute import rbac_base"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from tempest import config"},{"line_number":24,"context_line":"from tempest.lib import decorators"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"from tempest.lib.common.utils import data_utils"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"CONF \u003d config.CONF"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_0e1db465","line":26,"range":{"start_line":19,"start_character":0,"end_line":26,"end_character":47},"in_reply_to":"da36d5c6_1e340bfa","updated":"2017-02-24 21:22:02.000000000","message":"flake8 complained when I grouped them together. Anyway, if that\u0027s how it should be the will do.","commit_id":"279aea47d1cde417ed5e55d7d17b1d18042d31f8"},{"author":{"_account_id":23184,"name":"DavidPurcell","email":"d.purcell222@gmail.com","username":"DavidPurcell"},"change_message_id":"ddd2c36cfd43e9b6b7b470fcc0f6f272143d06fb","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"CONF \u003d config.CONF"},{"line_number":30,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"class RbacAssistedVolumesSnapshotV21Test(rbac_base.BaseV2ComputeRbacTest):"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_5e43e36b","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":33},"updated":"2017-02-24 19:13:30.000000000","message":"See L16","commit_id":"279aea47d1cde417ed5e55d7d17b1d18042d31f8"},{"author":{"_account_id":23185,"name":"Samantha Blanco","email":"samantha.blanco@att.com","username":"sblanco"},"change_message_id":"3e3a0bb774a65e648edd34939b71b173c6ab6f96","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    Assisted volume Test class"},{"line_number":37,"context_line":"    \"\"\""},{"line_number":38,"context_line":"    _api_version \u003d 2.1"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    @classmethod"},{"line_number":41,"context_line":"    def setup_clients(cls):"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_7e731516","line":38,"range":{"start_line":38,"start_character":4,"end_line":38,"end_character":22},"updated":"2017-02-27 16:20:56.000000000","message":"This isn\u0027t necessary","commit_id":"279aea47d1cde417ed5e55d7d17b1d18042d31f8"},{"author":{"_account_id":23184,"name":"DavidPurcell","email":"d.purcell222@gmail.com","username":"DavidPurcell"},"change_message_id":"ddd2c36cfd43e9b6b7b470fcc0f6f272143d06fb","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        \"\"\"Setup clients.\"\"\""},{"line_number":43,"context_line":"        super(RbacAssistedVolumesSnapshotV21Test, cls).setup_clients()"},{"line_number":44,"context_line":"        cls.client \u003d cls.servers_client"},{"line_number":45,"context_line":"        cls.admin_client \u003d cls.os_adm.agents_client"},{"line_number":46,"context_line":"        cls.auth_provider \u003d cls.os.auth_provider"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def tearDown(self):"},{"line_number":49,"context_line":"        \"\"\"Cleanup and reset RBAC role.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_de051314","line":46,"range":{"start_line":45,"start_character":8,"end_line":46,"end_character":48},"updated":"2017-02-24 19:13:30.000000000","message":"I believe these are in the BaseV2ComputeRbacTest","commit_id":"279aea47d1cde417ed5e55d7d17b1d18042d31f8"},{"author":{"_account_id":23184,"name":"DavidPurcell","email":"d.purcell222@gmail.com","username":"DavidPurcell"},"change_message_id":"ddd2c36cfd43e9b6b7b470fcc0f6f272143d06fb","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        rbac_utils.switch_role(self, switchToRbacRole\u003dFalse)"},{"line_number":51,"context_line":"        super(RbacAssistedVolumesSnapshotV21Test, self).tearDown()"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def _create_and_attach(self):"},{"line_number":54,"context_line":"        self.server \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":55,"context_line":"        self.addCleanup(self.delete_server, self.server[\u0027id\u0027])"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_696d4fcb","line":53,"range":{"start_line":53,"start_character":3,"end_line":53,"end_character":33},"updated":"2017-02-24 19:13:30.000000000","message":"We should try to use some of the functionality built into the tempest compute base class.  For example create_test_server or create_volume.","commit_id":"279aea47d1cde417ed5e55d7d17b1d18042d31f8"},{"author":{"_account_id":23185,"name":"Samantha Blanco","email":"samantha.blanco@att.com","username":"sblanco"},"change_message_id":"3e3a0bb774a65e648edd34939b71b173c6ab6f96","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def _create_and_attach(self):"},{"line_number":54,"context_line":"        self.server \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":55,"context_line":"        self.addCleanup(self.delete_server, self.server[\u0027id\u0027])"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        # Create a volume and wait for it to become ready"},{"line_number":58,"context_line":"        vol_name \u003d data_utils.rand_name(\u0027vol\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_3e50bd5e","line":55,"updated":"2017-02-27 16:20:56.000000000","message":"This isn\u0027t necessary; cleanup is already included in create_test_server","commit_id":"279aea47d1cde417ed5e55d7d17b1d18042d31f8"},{"author":{"_account_id":23184,"name":"DavidPurcell","email":"d.purcell222@gmail.com","username":"DavidPurcell"},"change_message_id":"ddd2c36cfd43e9b6b7b470fcc0f6f272143d06fb","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        self._create_and_attach()"},{"line_number":82,"context_line":"        rbac_utils.switch_role(self, switchToRbacRole\u003dTrue)"},{"line_number":83,"context_line":"        self.assisted_volume_snapshot_client.\\"},{"line_number":84,"context_line":"            create_volume_attachments(self.volume[\u0027id\u0027], uuid.uuid4())"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    @decorators.idempotent_id(\u002701323040-c5df-4e15-8b1a-3df98fa7d998\u0027)"},{"line_number":87,"context_line":"    @rbac_rule_validation.action("}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_49a16bf7","line":84,"range":{"start_line":84,"start_character":57,"end_line":84,"end_character":69},"updated":"2017-02-24 19:13:30.000000000","message":"Please use tempest/lib/data_utils.rand_uuid() instead.","commit_id":"279aea47d1cde417ed5e55d7d17b1d18042d31f8"},{"author":{"_account_id":20809,"name":"Adnan Khan","email":"rk221s@att.com","username":"rao.adnan.khan"},"change_message_id":"54b7f6e5d8c7493dab0546fab63b2893d68ad750","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        self._create_and_attach()"},{"line_number":82,"context_line":"        rbac_utils.switch_role(self, switchToRbacRole\u003dTrue)"},{"line_number":83,"context_line":"        self.assisted_volume_snapshot_client.\\"},{"line_number":84,"context_line":"            create_volume_attachments(self.volume[\u0027id\u0027], uuid.uuid4())"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    @decorators.idempotent_id(\u002701323040-c5df-4e15-8b1a-3df98fa7d998\u0027)"},{"line_number":87,"context_line":"    @rbac_rule_validation.action("}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_6ea1d0f7","line":84,"range":{"start_line":84,"start_character":57,"end_line":84,"end_character":69},"in_reply_to":"da36d5c6_49a16bf7","updated":"2017-02-24 21:22:02.000000000","message":"ok!","commit_id":"279aea47d1cde417ed5e55d7d17b1d18042d31f8"},{"author":{"_account_id":23184,"name":"DavidPurcell","email":"d.purcell222@gmail.com","username":"DavidPurcell"},"change_message_id":"ddd2c36cfd43e9b6b7b470fcc0f6f272143d06fb","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        RBAC test for assisted volume snapshot role-delete"},{"line_number":94,"context_line":"        \"\"\""},{"line_number":95,"context_line":"        self._create_and_attach()"},{"line_number":96,"context_line":"        snapshot_id \u003d uuid.uuid4()"},{"line_number":97,"context_line":"        self.assisted_volume_snapshot_client.\\"},{"line_number":98,"context_line":"            create_volume_attachments(self.volume[\u0027id\u0027], snapshot_id)"},{"line_number":99,"context_line":"        rbac_utils.switch_role(self, switchToRbacRole\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_c9ad5bea","line":96,"range":{"start_line":96,"start_character":8,"end_line":96,"end_character":34},"updated":"2017-02-24 19:13:30.000000000","message":"See L84","commit_id":"279aea47d1cde417ed5e55d7d17b1d18042d31f8"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"771297498d8ba049415b5883ffe57249f89678c6","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"\"\"\"RBAC tests for assisted volume snapshot.\"\"\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from patrole_tempest_plugin import rbac_rule_validation"},{"line_number":18,"context_line":"from patrole_tempest_plugin.rbac_utils import rbac_utils"}],"source_content_type":"text/x-python","patch_set":3,"id":"da36d5c6_e62e8ef9","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":46},"updated":"2017-02-27 22:01:24.000000000","message":"Not necessary.","commit_id":"2825e6ab28d821689f17187481860f6ec9c0fb47"},{"author":{"_account_id":20809,"name":"Adnan Khan","email":"rk221s@att.com","username":"rao.adnan.khan"},"change_message_id":"c1a4c64437faacfd4bb477aa0e720aa85275059b","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"\"\"\"RBAC tests for assisted volume snapshot.\"\"\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from patrole_tempest_plugin import rbac_rule_validation"},{"line_number":18,"context_line":"from patrole_tempest_plugin.rbac_utils import rbac_utils"}],"source_content_type":"text/x-python","patch_set":3,"id":"da36d5c6_46767ad9","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":46},"in_reply_to":"da36d5c6_e62e8ef9","updated":"2017-02-27 22:23:58.000000000","message":"flake8 was complaining otherwise; I will remove if that is fine!","commit_id":"2825e6ab28d821689f17187481860f6ec9c0fb47"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"771297498d8ba049415b5883ffe57249f89678c6","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from patrole_tempest_plugin.rbac_utils import rbac_utils"},{"line_number":19,"context_line":"from patrole_tempest_plugin.tests.api.compute import rbac_base"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from tempest import config"},{"line_number":22,"context_line":"from tempest.lib.common.utils import data_utils"},{"line_number":23,"context_line":"from tempest.lib import decorators"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da36d5c6_663b7e39","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":26},"updated":"2017-02-27 22:01:24.000000000","message":"Unused.","commit_id":"2825e6ab28d821689f17187481860f6ec9c0fb47"},{"author":{"_account_id":20809,"name":"Adnan Khan","email":"rk221s@att.com","username":"rao.adnan.khan"},"change_message_id":"c1a4c64437faacfd4bb477aa0e720aa85275059b","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from patrole_tempest_plugin.rbac_utils import rbac_utils"},{"line_number":19,"context_line":"from patrole_tempest_plugin.tests.api.compute import rbac_base"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from tempest import config"},{"line_number":22,"context_line":"from tempest.lib.common.utils import data_utils"},{"line_number":23,"context_line":"from tempest.lib import decorators"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da36d5c6_11811efc","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":26},"in_reply_to":"da36d5c6_663b7e39","updated":"2017-02-27 22:23:58.000000000","message":"Done","commit_id":"2825e6ab28d821689f17187481860f6ec9c0fb47"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"771297498d8ba049415b5883ffe57249f89678c6","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from tempest.lib import decorators"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"CONF \u003d config.CONF"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"class RbacAssistedVolumesSnapshotV21Test(rbac_base.BaseV2ComputeRbacTest):"}],"source_content_type":"text/x-python","patch_set":3,"id":"da36d5c6_463e7a2a","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":18},"updated":"2017-02-27 22:01:24.000000000","message":"Unused.","commit_id":"2825e6ab28d821689f17187481860f6ec9c0fb47"},{"author":{"_account_id":20809,"name":"Adnan Khan","email":"rk221s@att.com","username":"rao.adnan.khan"},"change_message_id":"c1a4c64437faacfd4bb477aa0e720aa85275059b","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from tempest.lib import decorators"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"CONF \u003d config.CONF"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"class RbacAssistedVolumesSnapshotV21Test(rbac_base.BaseV2ComputeRbacTest):"}],"source_content_type":"text/x-python","patch_set":3,"id":"da36d5c6_f18baa1c","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":18},"in_reply_to":"da36d5c6_463e7a2a","updated":"2017-02-27 22:23:58.000000000","message":"Done","commit_id":"2825e6ab28d821689f17187481860f6ec9c0fb47"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"771297498d8ba049415b5883ffe57249f89678c6","unresolved":false,"context_lines":[{"line_number":26,"context_line":"CONF \u003d config.CONF"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"class RbacAssistedVolumesSnapshotV21Test(rbac_base.BaseV2ComputeRbacTest):"},{"line_number":30,"context_line":"    \"\"\"Assisted volume snapshot tests."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    Assisted volume Test class for Create and Delete"}],"source_content_type":"text/x-python","patch_set":3,"id":"da36d5c6_66f45e87","line":29,"range":{"start_line":29,"start_character":6,"end_line":29,"end_character":40},"updated":"2017-02-27 22:01:24.000000000","message":"AssistedVolumeSnapshotRbacTest","commit_id":"2825e6ab28d821689f17187481860f6ec9c0fb47"},{"author":{"_account_id":20809,"name":"Adnan Khan","email":"rk221s@att.com","username":"rao.adnan.khan"},"change_message_id":"c1a4c64437faacfd4bb477aa0e720aa85275059b","unresolved":false,"context_lines":[{"line_number":26,"context_line":"CONF \u003d config.CONF"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"class RbacAssistedVolumesSnapshotV21Test(rbac_base.BaseV2ComputeRbacTest):"},{"line_number":30,"context_line":"    \"\"\"Assisted volume snapshot tests."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    Assisted volume Test class for Create and Delete"}],"source_content_type":"text/x-python","patch_set":3,"id":"da36d5c6_b19bf271","line":29,"range":{"start_line":29,"start_character":6,"end_line":29,"end_character":40},"in_reply_to":"da36d5c6_66f45e87","updated":"2017-02-27 22:23:58.000000000","message":"Done","commit_id":"2825e6ab28d821689f17187481860f6ec9c0fb47"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"771297498d8ba049415b5883ffe57249f89678c6","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    @classmethod"},{"line_number":36,"context_line":"    def setup_clients(cls):"},{"line_number":37,"context_line":"        \"\"\"Setup clients.\"\"\""},{"line_number":38,"context_line":"        super(RbacAssistedVolumesSnapshotV21Test, cls).setup_clients()"},{"line_number":39,"context_line":"        cls.client \u003d cls.servers_client"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def tearDown(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"da36d5c6_26eb46b2","line":38,"range":{"start_line":38,"start_character":14,"end_line":38,"end_character":48},"updated":"2017-02-27 22:01:24.000000000","message":"See above.","commit_id":"2825e6ab28d821689f17187481860f6ec9c0fb47"},{"author":{"_account_id":20809,"name":"Adnan Khan","email":"rk221s@att.com","username":"rao.adnan.khan"},"change_message_id":"c1a4c64437faacfd4bb477aa0e720aa85275059b","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    @classmethod"},{"line_number":36,"context_line":"    def setup_clients(cls):"},{"line_number":37,"context_line":"        \"\"\"Setup clients.\"\"\""},{"line_number":38,"context_line":"        super(RbacAssistedVolumesSnapshotV21Test, cls).setup_clients()"},{"line_number":39,"context_line":"        cls.client \u003d cls.servers_client"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def tearDown(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"da36d5c6_31862214","line":38,"range":{"start_line":38,"start_character":14,"end_line":38,"end_character":48},"in_reply_to":"da36d5c6_26eb46b2","updated":"2017-02-27 22:23:58.000000000","message":"Done","commit_id":"2825e6ab28d821689f17187481860f6ec9c0fb47"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"771297498d8ba049415b5883ffe57249f89678c6","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    def tearDown(self):"},{"line_number":42,"context_line":"        \"\"\"Cleanup and reset RBAC role.\"\"\""},{"line_number":43,"context_line":"        rbac_utils.switch_role(self, switchToRbacRole\u003dFalse)"},{"line_number":44,"context_line":"        super(RbacAssistedVolumesSnapshotV21Test, self).tearDown()"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def _create_and_attach(self):"},{"line_number":47,"context_line":"        self.server \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da36d5c6_86da3216","line":44,"range":{"start_line":44,"start_character":14,"end_line":44,"end_character":48},"updated":"2017-02-27 22:01:24.000000000","message":"See above.","commit_id":"2825e6ab28d821689f17187481860f6ec9c0fb47"},{"author":{"_account_id":20809,"name":"Adnan Khan","email":"rk221s@att.com","username":"rao.adnan.khan"},"change_message_id":"c1a4c64437faacfd4bb477aa0e720aa85275059b","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    def tearDown(self):"},{"line_number":42,"context_line":"        \"\"\"Cleanup and reset RBAC role.\"\"\""},{"line_number":43,"context_line":"        rbac_utils.switch_role(self, switchToRbacRole\u003dFalse)"},{"line_number":44,"context_line":"        super(RbacAssistedVolumesSnapshotV21Test, self).tearDown()"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def _create_and_attach(self):"},{"line_number":47,"context_line":"        self.server \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da36d5c6_517b9629","line":44,"range":{"start_line":44,"start_character":14,"end_line":44,"end_character":48},"in_reply_to":"da36d5c6_86da3216","updated":"2017-02-27 22:23:58.000000000","message":"Done","commit_id":"2825e6ab28d821689f17187481860f6ec9c0fb47"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"771297498d8ba049415b5883ffe57249f89678c6","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        \"\"\""},{"line_number":62,"context_line":"        self._create_and_attach()"},{"line_number":63,"context_line":"        rbac_utils.switch_role(self, switchToRbacRole\u003dTrue)"},{"line_number":64,"context_line":"        self.assisted_volume_snapshot_client.\\"},{"line_number":65,"context_line":"            create_volume_attachments(self.volume[\u0027id\u0027],"},{"line_number":66,"context_line":"                                      data_utils.rand_uuid())"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    @decorators.skip_because(bug\u003d\"1668407\")"},{"line_number":69,"context_line":"    @decorators.idempotent_id(\u002701323040-c5df-4e15-8b1a-3df98fa7d998\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da36d5c6_e68bee1c","line":66,"range":{"start_line":64,"start_character":0,"end_line":66,"end_character":61},"updated":"2017-02-27 22:01:24.000000000","message":"Need to add a cleanup after this.\n\nself.addCleanup(self.assisted_volume_snapshot_client.delete_volume_attachments, snapshot_id, self.volume[\u0027id\u0027])","commit_id":"2825e6ab28d821689f17187481860f6ec9c0fb47"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"4f641bd894cdd58572eb2212e4f476f70f7457c1","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        \"\"\""},{"line_number":62,"context_line":"        self._create_and_attach()"},{"line_number":63,"context_line":"        rbac_utils.switch_role(self, switchToRbacRole\u003dTrue)"},{"line_number":64,"context_line":"        self.assisted_volume_snapshot_client.\\"},{"line_number":65,"context_line":"            create_volume_attachments(self.volume[\u0027id\u0027],"},{"line_number":66,"context_line":"                                      data_utils.rand_uuid())"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    @decorators.skip_because(bug\u003d\"1668407\")"},{"line_number":69,"context_line":"    @decorators.idempotent_id(\u002701323040-c5df-4e15-8b1a-3df98fa7d998\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da36d5c6_914a6e54","line":66,"range":{"start_line":64,"start_character":0,"end_line":66,"end_character":61},"in_reply_to":"da36d5c6_e68bee1c","updated":"2017-02-27 22:13:57.000000000","message":"Disregard: this is instance-level, so it doesn\u0027t matter.","commit_id":"2825e6ab28d821689f17187481860f6ec9c0fb47"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"771297498d8ba049415b5883ffe57249f89678c6","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        \"\"\""},{"line_number":78,"context_line":"        self._create_and_attach()"},{"line_number":79,"context_line":"        snapshot_id \u003d data_utils.rand_uuid()"},{"line_number":80,"context_line":"        self.assisted_volume_snapshot_client.\\"},{"line_number":81,"context_line":"            create_volume_attachments(self.volume[\u0027id\u0027], snapshot_id)"},{"line_number":82,"context_line":"        rbac_utils.switch_role(self, switchToRbacRole\u003dTrue)"},{"line_number":83,"context_line":"        self.assisted_volume_snapshot_client.\\"},{"line_number":84,"context_line":"            delete_volume_attachments(snapshot_id, self.volume[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"da36d5c6_a69bb671","line":81,"range":{"start_line":80,"start_character":8,"end_line":81,"end_character":69},"updated":"2017-02-27 22:01:24.000000000","message":"Need to add a cleanup after this.\n\nself.addCleanup(test_utils.call_and_ignore_notfound_exc, self.assisted_volume_snapshot_client.delete_volume_attachments, snapshot_id, self.volume[\u0027id\u0027])\n\nInclude test_utils.call_and_ignore_notfound_exc in case successful deletion already occurred.","commit_id":"2825e6ab28d821689f17187481860f6ec9c0fb47"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"4f641bd894cdd58572eb2212e4f476f70f7457c1","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        \"\"\""},{"line_number":78,"context_line":"        self._create_and_attach()"},{"line_number":79,"context_line":"        snapshot_id \u003d data_utils.rand_uuid()"},{"line_number":80,"context_line":"        self.assisted_volume_snapshot_client.\\"},{"line_number":81,"context_line":"            create_volume_attachments(self.volume[\u0027id\u0027], snapshot_id)"},{"line_number":82,"context_line":"        rbac_utils.switch_role(self, switchToRbacRole\u003dTrue)"},{"line_number":83,"context_line":"        self.assisted_volume_snapshot_client.\\"},{"line_number":84,"context_line":"            delete_volume_attachments(snapshot_id, self.volume[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"da36d5c6_f1772a9d","line":81,"range":{"start_line":80,"start_character":8,"end_line":81,"end_character":69},"in_reply_to":"da36d5c6_a69bb671","updated":"2017-02-27 22:13:57.000000000","message":"Disregard: this is instance-level, so it doesn\u0027t matter.","commit_id":"2825e6ab28d821689f17187481860f6ec9c0fb47"}]}
