)]}'
{"patrole_tempest_plugin/tests/api/compute/test_server_volume_attachments_rbac.py":[{"author":{"_account_id":23185,"name":"Samantha Blanco","email":"samantha.blanco@att.com","username":"sblanco"},"change_message_id":"f5c303e3e146f4aff38efc9173eaa9189ab690dc","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    @classmethod"},{"line_number":50,"context_line":"    def resource_cleanup(cls):"},{"line_number":51,"context_line":"        super(ServerVolumeAttachmentRbacTest, cls).resource_cleanup()"},{"line_number":52,"context_line":"        test_utils.call_and_ignore_notfound_exc(cls.delete_server,"},{"line_number":53,"context_line":"                                                cls.server[\u0027id\u0027])"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    def tearDown(self):"},{"line_number":56,"context_line":"        rbac_utils.switch_role(self, switchToRbacRole\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a430d35_359067ec","line":53,"range":{"start_line":51,"start_character":8,"end_line":53,"end_character":65},"updated":"2017-02-06 18:56:29.000000000","message":"super cleanup should be called last","commit_id":"4a4b7cdd3b3a13648f25b4ea90c9fbacd1323cfc"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"594e61bcda502ce9f4dd42e9ddac088d4928b54e","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    @classmethod"},{"line_number":50,"context_line":"    def resource_cleanup(cls):"},{"line_number":51,"context_line":"        super(ServerVolumeAttachmentRbacTest, cls).resource_cleanup()"},{"line_number":52,"context_line":"        test_utils.call_and_ignore_notfound_exc(cls.delete_server,"},{"line_number":53,"context_line":"                                                cls.server[\u0027id\u0027])"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    def tearDown(self):"},{"line_number":56,"context_line":"        rbac_utils.switch_role(self, switchToRbacRole\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a430d35_3f75a197","line":53,"range":{"start_line":51,"start_character":8,"end_line":53,"end_character":65},"in_reply_to":"1a430d35_359067ec","updated":"2017-02-06 20:08:29.000000000","message":"Done","commit_id":"4a4b7cdd3b3a13648f25b4ea90c9fbacd1323cfc"},{"author":{"_account_id":23185,"name":"Samantha Blanco","email":"samantha.blanco@att.com","username":"sblanco"},"change_message_id":"f5c303e3e146f4aff38efc9173eaa9189ab690dc","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    def _create_and_attach(self):"},{"line_number":60,"context_line":"        # Create a volume and wait for it to become ready"},{"line_number":61,"context_line":"        self.volume \u003d self._create_volume()"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        # Attach volume to the server"},{"line_number":64,"context_line":"        self.attachment \u003d self._attach(self.server, self.volume)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a430d35_3555c71c","line":61,"range":{"start_line":61,"start_character":27,"end_line":61,"end_character":43},"updated":"2017-02-06 18:56:29.000000000","message":"Tempest compute base has a built-in create_volume, is there a reason you\u0027re not using that instead?","commit_id":"4a4b7cdd3b3a13648f25b4ea90c9fbacd1323cfc"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"594e61bcda502ce9f4dd42e9ddac088d4928b54e","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    def _create_and_attach(self):"},{"line_number":60,"context_line":"        # Create a volume and wait for it to become ready"},{"line_number":61,"context_line":"        self.volume \u003d self._create_volume()"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        # Attach volume to the server"},{"line_number":64,"context_line":"        self.attachment \u003d self._attach(self.server, self.volume)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a430d35_7f6f29c5","line":61,"range":{"start_line":61,"start_character":27,"end_line":61,"end_character":43},"in_reply_to":"1a430d35_3555c71c","updated":"2017-02-06 20:08:29.000000000","message":"Done","commit_id":"4a4b7cdd3b3a13648f25b4ea90c9fbacd1323cfc"},{"author":{"_account_id":23185,"name":"Samantha Blanco","email":"samantha.blanco@att.com","username":"sblanco"},"change_message_id":"f5c303e3e146f4aff38efc9173eaa9189ab690dc","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        self.volume \u003d self._create_volume()"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        # Attach volume to the server"},{"line_number":64,"context_line":"        self.attachment \u003d self._attach(self.server, self.volume)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    def _create_volume(self):"},{"line_number":67,"context_line":"        vol_name \u003d data_utils.rand_name(\u0027vol\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a430d35_75358ff5","line":64,"range":{"start_line":64,"start_character":31,"end_line":64,"end_character":38},"updated":"2017-02-06 18:56:29.000000000","message":"It also has a built-in attach_volume","commit_id":"4a4b7cdd3b3a13648f25b4ea90c9fbacd1323cfc"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"594e61bcda502ce9f4dd42e9ddac088d4928b54e","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        self.volume \u003d self._create_volume()"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        # Attach volume to the server"},{"line_number":64,"context_line":"        self.attachment \u003d self._attach(self.server, self.volume)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    def _create_volume(self):"},{"line_number":67,"context_line":"        vol_name \u003d data_utils.rand_name(\u0027vol\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a430d35_1fb6253d","line":64,"range":{"start_line":64,"start_character":31,"end_line":64,"end_character":38},"in_reply_to":"1a430d35_75358ff5","updated":"2017-02-06 20:08:29.000000000","message":"attach_volume in base compute class doesn\u0027t return the attachment that\u0027s created and it implicitly calls self.os.volumes_client.detach_volume, which results in a bad request error for test_update_volume_attachment, for the reason described on lines 87 - 89 in this patchset.","commit_id":"4a4b7cdd3b3a13648f25b4ea90c9fbacd1323cfc"},{"author":{"_account_id":23185,"name":"Samantha Blanco","email":"samantha.blanco@att.com","username":"sblanco"},"change_message_id":"1fa8724d28b2ddcf90ec6232f788323cb87a50c2","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def _create_and_attach(self):"},{"line_number":59,"context_line":"        self.volume \u003d self.create_volume()"},{"line_number":60,"context_line":"        self.attachment \u003d self._attach(self.server, self.volume)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def _attach(self, server, volume):"},{"line_number":63,"context_line":"        attachment \u003d self.client.attach_volume("}],"source_content_type":"text/x-python","patch_set":2,"id":"1a430d35_3f83e157","line":60,"range":{"start_line":60,"start_character":31,"end_line":60,"end_character":38},"updated":"2017-02-06 20:08:51.000000000","message":"Tempest compute base has a built-in create_volume, is there a reason you\u0027re not using that instead?","commit_id":"193c7e339e3a7230ed1d58c13d9c0443707cbb1d"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"5185492b077fbe22ae42a1ca46c52f3d3da68a75","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def _create_and_attach(self):"},{"line_number":59,"context_line":"        self.volume \u003d self.create_volume()"},{"line_number":60,"context_line":"        self.attachment \u003d self._attach(self.server, self.volume)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def _attach(self, server, volume):"},{"line_number":63,"context_line":"        attachment \u003d self.client.attach_volume("}],"source_content_type":"text/x-python","patch_set":2,"id":"1a430d35_bff99182","line":60,"range":{"start_line":60,"start_character":31,"end_line":60,"end_character":38},"in_reply_to":"1a430d35_3f83e157","updated":"2017-02-06 20:22:31.000000000","message":"Yes, I explained why in my previous reply.","commit_id":"193c7e339e3a7230ed1d58c13d9c0443707cbb1d"}]}
