)]}'
{"tempest/api/compute/base.py":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"81f70a53aae19ce06af6020eee5b8332b85e6cf8","unresolved":false,"context_lines":[{"line_number":227,"context_line":"        cls.password \u003d server[\u0027adminPass\u0027]"},{"line_number":228,"context_line":"        return server[\u0027id\u0027]"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"    def _delete_volume(self, volume_id):"},{"line_number":231,"context_line":"        \"\"\"Deletes the given volume and waits for it to be gone.\"\"\""},{"line_number":232,"context_line":"        resp, _ \u003d self.volumes_extensions_client.delete_volume(volume_id)"},{"line_number":233,"context_line":"        # TODO(mriedem): We should move the wait_for_resource_deletion"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2BWPA%3D","line":230,"updated":"2014-01-27 20:10:19.000000000","message":"because we\u0027ve seen issues where this blows up, can we put this in a try block?","commit_id":"45cad9bd11a7276bcae5e218dac3012bad48a819"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"57cf24edb77741cd09eac173f16ff9089f537907","unresolved":false,"context_lines":[{"line_number":238,"context_line":"            self.volumes_extensions_client.wait_for_resource_deletion("},{"line_number":239,"context_line":"                                                                    volume_id)"},{"line_number":240,"context_line":"        except exceptions.NotFound:"},{"line_number":241,"context_line":"            LOG.warn(\u0027Failed to delete volume %s\u0027 % volume_id)"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"class BaseV2ComputeAdminTest(BaseV2ComputeTest):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2BV40%3D","line":241,"updated":"2014-01-27 21:16:03.000000000","message":"I think this message is a bit misleading. It failed to delete the volume because it doesn\u0027t exist. Most like meaning that it was deleted elsewhere and that this teardown raced with an async delete called without a wait. (or it wasn\u0027t removed from the list looped over in tearDown.\n\nI think something like \"Can\u0027t delete volume: %s it was already deleted\" or something like that. I\u0027m not really being too helpful here I guess. I just think this is a bit to vague.","commit_id":"55b4ff7676bbf60e0e670d9185d0c3bbaec88d4a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"784af5e1170b1632ed5b31d2cd88eed62ed5eae4","unresolved":false,"context_lines":[{"line_number":238,"context_line":"            self.volumes_extensions_client.wait_for_resource_deletion("},{"line_number":239,"context_line":"                                                                    volume_id)"},{"line_number":240,"context_line":"        except exceptions.NotFound:"},{"line_number":241,"context_line":"            LOG.warn(\u0027Failed to delete volume %s\u0027 % volume_id)"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"class BaseV2ComputeAdminTest(BaseV2ComputeTest):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2BVv4%3D","line":241,"in_reply_to":"AAAAUH%2F%2BV40%3D","updated":"2014-01-27 21:37:17.000000000","message":"OK, how about something like this:\n\n\"Unable to delete volume \u0027%s\u0027 since it was not found.\"\n\nThought about putting something in there to suggest the code needs work, but not sure what that would be.  Maybe:\n\n\"Check the cleanup/tearDown code in the related test to make sure there isn\u0027t a race or optimization that needs to be made.\"","commit_id":"55b4ff7676bbf60e0e670d9185d0c3bbaec88d4a"}],"tempest/api/compute/volumes/test_volumes_get.py":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"2fa5f1afc5ef2217792fda2bb7982f0d96161ed7","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        resp, volume \u003d self.client.create_volume(size\u003d1,"},{"line_number":42,"context_line":"                                                 display_name\u003dv_name,"},{"line_number":43,"context_line":"                                                 metadata\u003dmetadata)"},{"line_number":44,"context_line":"        self.addCleanup(self._delete_volume, volume[\u0027id\u0027])"},{"line_number":45,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":46,"context_line":"        self.assertIn(\u0027id\u0027, volume)"},{"line_number":47,"context_line":"        self.assertIn(\u0027displayName\u0027, volume)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2BVNI%3D","line":44,"updated":"2014-01-27 23:10:02.000000000","message":"you need to pass self explicitly\n\nself.addCleanup(self._delete_volume, self, volume[\u0027id\u0027])\n\naddCleanup doesn\u0027t think about things in terms of objects.","commit_id":"55b4ff7676bbf60e0e670d9185d0c3bbaec88d4a"}],"tempest/api/compute/volumes/test_volumes_list.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"318fcda65eff0120f3a07b845b1cb532b279c7de","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    def tearDownClass(cls):"},{"line_number":72,"context_line":"        # Delete the created Volumes"},{"line_number":73,"context_line":"        for volume in cls.volume_list:"},{"line_number":74,"context_line":"            cls._delete_volume(cls, volume[\u0027id\u0027])"},{"line_number":75,"context_line":"        super(VolumesTestJSON, cls).tearDownClass()"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    @attr(type\u003d\u0027gate\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2BUIo%3D","line":74,"updated":"2014-01-28 02:48:20.000000000","message":"derp, yeah, this isn\u0027t going to work, class method can\u0027t call instance method.  I need to make _delete_volume a class method.","commit_id":"d82517aee270b28700ea2394883ac883e1bc8850"}]}
