)]}'
{"tempest/api/volume/test_volumes_negative.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"d66461db61c4d3c4da2d092e923712ebd88a8cc2","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        resp, cls.volume \u003d cls.client.create_volume(size\u003d1,"},{"line_number":44,"context_line":"                                                    display_name\u003dvol_name)"},{"line_number":45,"context_line":"        cls.client.wait_for_volume_status(cls.volume[\u0027id\u0027], \u0027available\u0027)"},{"line_number":46,"context_line":"        cls.mountpoint \u003d \"/dev/vdc\""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    @classmethod"},{"line_number":49,"context_line":"    def tearDownClass(cls):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAASn%2F%2FEJU%3D","line":46,"updated":"2013-09-12 16:51:30.000000000","message":"Shouldn\u0027t the above add cleanups for the created server and volume? Or use the create_server and create_volume @classmethods of the base test case class, which auto-clean on teardownclass?","commit_id":"7edeef003da516f10d47e629ae38e58b7a01e065"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"aaf31cf251f6e52c12f3ae52bffe0ae7356c2385","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        resp, cls.volume \u003d cls.client.create_volume(size\u003d1,"},{"line_number":44,"context_line":"                                                    display_name\u003dvol_name)"},{"line_number":45,"context_line":"        cls.client.wait_for_volume_status(cls.volume[\u0027id\u0027], \u0027available\u0027)"},{"line_number":46,"context_line":"        cls.mountpoint \u003d \"/dev/vdc\""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    @classmethod"},{"line_number":49,"context_line":"    def tearDownClass(cls):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAASn%2F%2FAGk%3D","line":46,"in_reply_to":"AAAASn%2F%2FEJU%3D","updated":"2013-09-13 18:08:07.000000000","message":"+1","commit_id":"7edeef003da516f10d47e629ae38e58b7a01e065"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"5854feabfeb5b6bbd6ca9e17a46afe56ba779fc6","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        resp, cls.volume \u003d cls.client.create_volume(size\u003d1,"},{"line_number":44,"context_line":"                                                    display_name\u003dvol_name)"},{"line_number":45,"context_line":"        cls.client.wait_for_volume_status(cls.volume[\u0027id\u0027], \u0027available\u0027)"},{"line_number":46,"context_line":"        cls.mountpoint \u003d \"/dev/vdc\""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    @classmethod"},{"line_number":49,"context_line":"    def tearDownClass(cls):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAS3%2F%2F53g%3D","line":46,"in_reply_to":"AAAASn%2F%2FEJU%3D","updated":"2013-09-17 12:52:52.000000000","message":"Done","commit_id":"7edeef003da516f10d47e629ae38e58b7a01e065"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"e153bda675f4b01ee1d6e667935fa0dcda93c76f","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    def get_nonexistent_server_id(self):"},{"line_number":60,"context_line":"        while True:"},{"line_number":61,"context_line":"            server_id \u003d str(uuid.uuid4())"},{"line_number":62,"context_line":"            try:"},{"line_number":63,"context_line":"                resp, server \u003d self.servers_client.get_server(server_id)"},{"line_number":64,"context_line":"            except exceptions.NotFound:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAASn%2F%2B%2FXA%3D","line":61,"updated":"2013-09-14 02:01:41.000000000","message":"I don\u0027t think uuid.uuid4() create the duplicated IDs, so how about just calling uuid.uuid4() like test_volume_types_negative.py?","commit_id":"7edeef003da516f10d47e629ae38e58b7a01e065"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"5854feabfeb5b6bbd6ca9e17a46afe56ba779fc6","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    def get_nonexistent_server_id(self):"},{"line_number":60,"context_line":"        while True:"},{"line_number":61,"context_line":"            server_id \u003d str(uuid.uuid4())"},{"line_number":62,"context_line":"            try:"},{"line_number":63,"context_line":"                resp, server \u003d self.servers_client.get_server(server_id)"},{"line_number":64,"context_line":"            except exceptions.NotFound:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAS3%2F%2F53c%3D","line":61,"in_reply_to":"AAAASn%2F%2B%2FXA%3D","updated":"2013-09-17 12:52:52.000000000","message":"Done","commit_id":"7edeef003da516f10d47e629ae38e58b7a01e065"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"4f21e4eb463b0975f0d98314b3c69897c4989cbe","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        # Should not be able to delete volume when empty ID is passed"},{"line_number":139,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.delete_volume, \u0027\u0027)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"    @testtools.skip(\u0027Until Bug #1223189 is dealt with.\u0027)"},{"line_number":142,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":143,"context_line":"    def test_attach_volumes_with_invalid_server_id(self):"},{"line_number":144,"context_line":"        self.assertRaises(exceptions.BadRequest,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAASn%2F%2B%2FsI%3D","line":141,"updated":"2013-09-13 21:48:55.000000000","message":"Same as below.","commit_id":"7edeef003da516f10d47e629ae38e58b7a01e065"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"aaf31cf251f6e52c12f3ae52bffe0ae7356c2385","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        # Should not be able to delete volume when empty ID is passed"},{"line_number":139,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.delete_volume, \u0027\u0027)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"    @testtools.skip(\u0027Until Bug #1223189 is dealt with.\u0027)"},{"line_number":142,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":143,"context_line":"    def test_attach_volumes_with_invalid_server_id(self):"},{"line_number":144,"context_line":"        self.assertRaises(exceptions.BadRequest,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAASn%2F%2FAIc%3D","line":141,"updated":"2013-09-13 18:08:07.000000000","message":"all of these strings should be changed to read as: \"Skipped until the Bug #XYZ is resolved\"; while not yet enforced by checks.py the other strings have been uniformed to make the skips count work eventually with multiline skips","commit_id":"7edeef003da516f10d47e629ae38e58b7a01e065"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"5854feabfeb5b6bbd6ca9e17a46afe56ba779fc6","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        # Should not be able to delete volume when empty ID is passed"},{"line_number":139,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.delete_volume, \u0027\u0027)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"    @testtools.skip(\u0027Until Bug #1223189 is dealt with.\u0027)"},{"line_number":142,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":143,"context_line":"    def test_attach_volumes_with_invalid_server_id(self):"},{"line_number":144,"context_line":"        self.assertRaises(exceptions.BadRequest,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAS3%2F%2F53Q%3D","line":141,"in_reply_to":"AAAASn%2F%2FAIc%3D","updated":"2013-09-17 12:52:52.000000000","message":"remove these tests until the bug is fixed.","commit_id":"7edeef003da516f10d47e629ae38e58b7a01e065"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"4f21e4eb463b0975f0d98314b3c69897c4989cbe","unresolved":false,"context_lines":[{"line_number":147,"context_line":"                          \u0027xxx\u0027,"},{"line_number":148,"context_line":"                          self.mountpoint)"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    @testtools.skip(\u0027Until Bug #1223201 is dealt with.\u0027)"},{"line_number":151,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":152,"context_line":"    def test_attach_volumes_with_nonexistent_server_id(self):"},{"line_number":153,"context_line":"        non_existent_id \u003d self.get_nonexistent_server_id()"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAASn%2F%2B%2FsE%3D","line":150,"updated":"2013-09-13 21:48:55.000000000","message":"Same as below","commit_id":"7edeef003da516f10d47e629ae38e58b7a01e065"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"4f21e4eb463b0975f0d98314b3c69897c4989cbe","unresolved":false,"context_lines":[{"line_number":166,"context_line":"                          self.server[\u0027id\u0027],"},{"line_number":167,"context_line":"                          self.mountpoint)"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    @testtools.skip(\u0027Until Bug #1223191 is dealt with.\u0027)"},{"line_number":170,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":171,"context_line":"    def test_attach_volumes_with_invalid_device(self):"},{"line_number":172,"context_line":"        mountpoint \u003d \u0027/nodev\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAASn%2F%2B%2FsM%3D","line":169,"updated":"2013-09-13 21:48:55.000000000","message":"Also per the hacking file tests with skips in them will not be merged please remove this test until the bug is fixed.","commit_id":"7edeef003da516f10d47e629ae38e58b7a01e065"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"d66461db61c4d3c4da2d092e923712ebd88a8cc2","unresolved":false,"context_lines":[{"line_number":186,"context_line":"        self.addCleanup(self.client.wait_for_volume_status,"},{"line_number":187,"context_line":"                        self.volume[\u0027id\u0027],"},{"line_number":188,"context_line":"                        \u0027available\u0027)"},{"line_number":189,"context_line":"        self.addCleanup(self.client.detach_volume, self.volume[\u0027id\u0027])"},{"line_number":190,"context_line":"        self.assertRaises(exceptions.NotFound,"},{"line_number":191,"context_line":"                          self.client.detach_volume,"},{"line_number":192,"context_line":"                          \u0027xxx\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAASn%2F%2FEIw%3D","line":189,"updated":"2013-09-12 16:51:30.000000000","message":"Why is any of the above volume attach and detach needed if the test is just to verify that passing \u0027xxx\u0027 to detach_volume fails with a NotFound?","commit_id":"7edeef003da516f10d47e629ae38e58b7a01e065"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"aaf31cf251f6e52c12f3ae52bffe0ae7356c2385","unresolved":false,"context_lines":[{"line_number":186,"context_line":"        self.addCleanup(self.client.wait_for_volume_status,"},{"line_number":187,"context_line":"                        self.volume[\u0027id\u0027],"},{"line_number":188,"context_line":"                        \u0027available\u0027)"},{"line_number":189,"context_line":"        self.addCleanup(self.client.detach_volume, self.volume[\u0027id\u0027])"},{"line_number":190,"context_line":"        self.assertRaises(exceptions.NotFound,"},{"line_number":191,"context_line":"                          self.client.detach_volume,"},{"line_number":192,"context_line":"                          \u0027xxx\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAASn%2F%2FAGo%3D","line":189,"in_reply_to":"AAAASn%2F%2FEIw%3D","updated":"2013-09-13 18:08:07.000000000","message":"+1","commit_id":"7edeef003da516f10d47e629ae38e58b7a01e065"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"5854feabfeb5b6bbd6ca9e17a46afe56ba779fc6","unresolved":false,"context_lines":[{"line_number":186,"context_line":"        self.addCleanup(self.client.wait_for_volume_status,"},{"line_number":187,"context_line":"                        self.volume[\u0027id\u0027],"},{"line_number":188,"context_line":"                        \u0027available\u0027)"},{"line_number":189,"context_line":"        self.addCleanup(self.client.detach_volume, self.volume[\u0027id\u0027])"},{"line_number":190,"context_line":"        self.assertRaises(exceptions.NotFound,"},{"line_number":191,"context_line":"                          self.client.detach_volume,"},{"line_number":192,"context_line":"                          \u0027xxx\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAS3%2F%2F53I%3D","line":189,"in_reply_to":"AAAASn%2F%2FEIw%3D","updated":"2013-09-17 12:52:52.000000000","message":"Done","commit_id":"7edeef003da516f10d47e629ae38e58b7a01e065"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"257ef68d012d748a35bb8d43f3c98ef80e295852","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    @attr(type\u003d\u0027gate\u0027)"},{"line_number":42,"context_line":"    def test_volume_get_nonexistant_volume_id(self):"},{"line_number":43,"context_line":"        # Should not be able to get a nonexistant volume"},{"line_number":44,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.get_volume,"},{"line_number":45,"context_line":"                          str(uuid.uuid4()))"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAS3%2F%2F5gA%3D","line":43,"updated":"2013-09-17 14:22:47.000000000","message":"s/nonexistant/non-existent/ because of I062b60e6b20bb116547f613556cf976d58f81d40 .","commit_id":"346263d286e3e15ecd07696ece39f621461df07b"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"257ef68d012d748a35bb8d43f3c98ef80e295852","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    @attr(type\u003d\u0027gate\u0027)"},{"line_number":48,"context_line":"    def test_volume_delete_nonexistant_volume_id(self):"},{"line_number":49,"context_line":"        # Should not be able to delete a nonexistant Volume"},{"line_number":50,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.delete_volume,"},{"line_number":51,"context_line":"                          str(uuid.uuid4()))"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAS3%2F%2F5gI%3D","line":49,"updated":"2013-09-17 14:22:47.000000000","message":"ditto","commit_id":"346263d286e3e15ecd07696ece39f621461df07b"}],"tempest/services/compute/json/servers_client.py":[{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"2d3b7c8d6e7dfcdec9b6927bbf005417fa7ba443","unresolved":false,"context_lines":[{"line_number":291,"context_line":"                                 (server_id, volume_id))"},{"line_number":292,"context_line":"        return resp, body"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"    def get_volume(self, server_id, volume_id):"},{"line_number":295,"context_line":"        \"\"\"Gets an attached volume from a server instance.\"\"\""},{"line_number":296,"context_line":"        resp, body \u003d self.get(\u0027servers/%s/os-volume_attachments/%s\u0027"},{"line_number":297,"context_line":"                              % (server_id, volume_id),"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAS3%2F%2F5mY%3D","line":294,"updated":"2013-09-17 13:53:19.000000000","message":"I don\u0027t seem to find any test using this?","commit_id":"346263d286e3e15ecd07696ece39f621461df07b"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"cec837d9d44e985087efaaed6f537fa8f1936cce","unresolved":false,"context_lines":[{"line_number":291,"context_line":"                                 (server_id, volume_id))"},{"line_number":292,"context_line":"        return resp, body"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"    def get_volume(self, server_id, volume_id):"},{"line_number":295,"context_line":"        \"\"\"Gets an attached volume from a server instance.\"\"\""},{"line_number":296,"context_line":"        resp, body \u003d self.get(\u0027servers/%s/os-volume_attachments/%s\u0027"},{"line_number":297,"context_line":"                              % (server_id, volume_id),"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAS3%2F%2Fvcw%3D","line":294,"in_reply_to":"AAAAS3%2F%2F5mY%3D","updated":"2013-09-20 06:59:49.000000000","message":"Agreed, shouldn\u0027t add this until there is a test that uses it.","commit_id":"346263d286e3e15ecd07696ece39f621461df07b"}]}
