)]}'
{"cinder/tests/test_coraid.py":[{"author":{"_account_id":6798,"name":"Jean-Baptiste Ransy","email":"jean-baptiste.ransy@alyseo.com","username":"jean-baptiste-ransy"},"change_message_id":"aeaca2dd7f46e79352f0b6dc0b464547939347d2","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        setattr(self.esm_mock, \u0027resize_volume\u0027,"},{"line_number":137,"context_line":"                lambda *_: None)"},{"line_number":138,"context_line":"        self.stubs.Set(CoraidDriver, \u0027_get_repository\u0027,"},{"line_number":139,"context_line":"                       lambda *_: fake_repository_name)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"class TestCoraidRESTClient(test.TestCase):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOH%2F%2F1yg%3D","line":139,"updated":"2013-03-25 15:13:54.000000000","message":"OOPS, line removed ...\n        self.drv.create_volume_from_snapshot(fake_volume, fake_snapshot)","commit_id":"0942e624187076dd95515f74ef56e035349f3247"},{"author":{"_account_id":1773,"name":"oliver-leahy-l","email":"oliver.leahy@hpe.com","username":"oliver-leahy-l"},"change_message_id":"939d0b30aa611968a4b5afe16aeb01759d9be75b","unresolved":false,"context_lines":[{"line_number":137,"context_line":"                lambda *_: None)"},{"line_number":138,"context_line":"        self.stubs.Set(CoraidDriver, \u0027_get_repository\u0027,"},{"line_number":139,"context_line":"                       lambda *_: fake_repository_name)"},{"line_number":140,"context_line":"        self.drv.create_volume_from_snapshot(fake_volume, fake_snapshot)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"class TestCoraidRESTClient(test.TestCase):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOH%2F%2F0kQ%3D","line":140,"updated":"2013-03-26 08:58:05.000000000","message":"Since you\u0027ve added logic to create_volume_from_snapshot() to deal with different volume_sizes, should you add some test cases with created volume_size greater than and less than the snapshot volume_size","commit_id":"43d57c055ce9e10c69fde7ee7dfd758a953025e7"},{"author":{"_account_id":6798,"name":"Jean-Baptiste Ransy","email":"jean-baptiste.ransy@alyseo.com","username":"jean-baptiste-ransy"},"change_message_id":"e7079729df44a1c5c541cfdf74ae78e4fb6563ce","unresolved":false,"context_lines":[{"line_number":137,"context_line":"                lambda *_: None)"},{"line_number":138,"context_line":"        self.stubs.Set(CoraidDriver, \u0027_get_repository\u0027,"},{"line_number":139,"context_line":"                       lambda *_: fake_repository_name)"},{"line_number":140,"context_line":"        self.drv.create_volume_from_snapshot(fake_volume, fake_snapshot)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"class TestCoraidRESTClient(test.TestCase):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOH%2F%2Fz04%3D","line":140,"in_reply_to":"AAAAOH%2F%2F0kQ%3D","updated":"2013-03-26 18:03:07.000000000","message":"Done","commit_id":"43d57c055ce9e10c69fde7ee7dfd758a953025e7"},{"author":{"_account_id":4355,"name":"Avishay Traeger","email":"avishay@stratoscale.com","username":"avishay-il"},"change_message_id":"0b45968f93f563f4380a19af3abb05c1ed325c06","unresolved":false,"context_lines":[{"line_number":172,"context_line":"                              \"size\": 20,"},{"line_number":173,"context_line":"                              \"volume_type\": {\"id\": 1}}"},{"line_number":174,"context_line":"        self.drv.create_volume_from_snapshot(fake_volume_bigger,"},{"line_number":175,"context_line":"                                             fake_snapshot)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    def test_create_volume_from_snapshot_resize_lesser(self):"},{"line_number":178,"context_line":"        setattr(self.esm_mock, \u0027create_volume_from_snapshot\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOH%2F%2Fy%2Bg%3D","line":175,"updated":"2013-03-27 05:30:17.000000000","message":"Maybe assert that the volume has the bigger size?","commit_id":"862f74bccc707277f74ce7c78bbeab8a5e1c5b3c"},{"author":{"_account_id":6798,"name":"Jean-Baptiste Ransy","email":"jean-baptiste.ransy@alyseo.com","username":"jean-baptiste-ransy"},"change_message_id":"a5af4c6b392021211c05cff94734f2526af263d3","unresolved":false,"context_lines":[{"line_number":172,"context_line":"                              \"size\": 20,"},{"line_number":173,"context_line":"                              \"volume_type\": {\"id\": 1}}"},{"line_number":174,"context_line":"        self.drv.create_volume_from_snapshot(fake_volume_bigger,"},{"line_number":175,"context_line":"                                             fake_snapshot)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    def test_create_volume_from_snapshot_resize_lesser(self):"},{"line_number":178,"context_line":"        setattr(self.esm_mock, \u0027create_volume_from_snapshot\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOH%2F%2FyaA%3D","line":175,"in_reply_to":"AAAAOH%2F%2Fy%2Bg%3D","updated":"2013-03-27 14:57:34.000000000","message":"Done","commit_id":"862f74bccc707277f74ce7c78bbeab8a5e1c5b3c"},{"author":{"_account_id":4355,"name":"Avishay Traeger","email":"avishay@stratoscale.com","username":"avishay-il"},"change_message_id":"0b45968f93f563f4380a19af3abb05c1ed325c06","unresolved":false,"context_lines":[{"line_number":184,"context_line":"        fake_volume_lesser \u003d {\"name\": fake_volume_name,"},{"line_number":185,"context_line":"                              \"size\": 2,"},{"line_number":186,"context_line":"                              \"volume_type\": {\"id\": 1}}"},{"line_number":187,"context_line":"        self.assertRaises(CoraidException,"},{"line_number":188,"context_line":"                          self.drv.create_volume_from_snapshot,"},{"line_number":189,"context_line":"                          fake_volume_lesser,"},{"line_number":190,"context_line":"                          fake_snapshot)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOH%2F%2Fy%2Bc%3D","line":187,"updated":"2013-03-27 05:30:17.000000000","message":"Again, I\u0027m not a fan of CoraidException","commit_id":"862f74bccc707277f74ce7c78bbeab8a5e1c5b3c"},{"author":{"_account_id":6798,"name":"Jean-Baptiste Ransy","email":"jean-baptiste.ransy@alyseo.com","username":"jean-baptiste-ransy"},"change_message_id":"a5af4c6b392021211c05cff94734f2526af263d3","unresolved":false,"context_lines":[{"line_number":184,"context_line":"        fake_volume_lesser \u003d {\"name\": fake_volume_name,"},{"line_number":185,"context_line":"                              \"size\": 2,"},{"line_number":186,"context_line":"                              \"volume_type\": {\"id\": 1}}"},{"line_number":187,"context_line":"        self.assertRaises(CoraidException,"},{"line_number":188,"context_line":"                          self.drv.create_volume_from_snapshot,"},{"line_number":189,"context_line":"                          fake_volume_lesser,"},{"line_number":190,"context_line":"                          fake_snapshot)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOH%2F%2Fycw%3D","line":187,"in_reply_to":"AAAAOH%2F%2Fy%2Bc%3D","updated":"2013-03-27 14:57:34.000000000","message":"Done,\nReplaced by exception.InvalidVolume","commit_id":"862f74bccc707277f74ce7c78bbeab8a5e1c5b3c"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"8bba12eea8323cb2c4e03af9688909e36bf2f9dd","unresolved":false,"context_lines":[{"line_number":175,"context_line":"        self.drv.create_volume_from_snapshot(fake_volume_bigger,"},{"line_number":176,"context_line":"                                             fake_snapshot)"},{"line_number":177,"context_line":"        resize \u003d fake_volume_bigger[\u0027size\u0027] \u003e fake_snapshot[\u0027volume_size\u0027]"},{"line_number":178,"context_line":"        self.assertTrue(resize)"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    def test_extend_volume(self):"},{"line_number":181,"context_line":"        setattr(self.esm_mock, \u0027resize_volume\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAPn%2F%2FpnY%3D","line":178,"updated":"2013-06-25 22:52:21.000000000","message":"I don\u0027t think this is testing anything meaningful.  The create_volume_from_snapshot() logic doesn\u0027t update database record, so you are basically compare two fake structure that you made of.  I think it\u0027s better to use mox to verify the call sequence.","commit_id":"7cae4f72a3a934d2c816d0f64edad068f98a5447"},{"author":{"_account_id":6798,"name":"Jean-Baptiste Ransy","email":"jean-baptiste.ransy@alyseo.com","username":"jean-baptiste-ransy"},"change_message_id":"526396ce992416d810c798f1bf3a807513011420","unresolved":false,"context_lines":[{"line_number":175,"context_line":"        self.drv.create_volume_from_snapshot(fake_volume_bigger,"},{"line_number":176,"context_line":"                                             fake_snapshot)"},{"line_number":177,"context_line":"        resize \u003d fake_volume_bigger[\u0027size\u0027] \u003e fake_snapshot[\u0027volume_size\u0027]"},{"line_number":178,"context_line":"        self.assertTrue(resize)"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    def test_extend_volume(self):"},{"line_number":181,"context_line":"        setattr(self.esm_mock, \u0027resize_volume\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAPn%2F%2FhfY%3D","line":178,"in_reply_to":"AAAAPn%2F%2FpnY%3D","updated":"2013-06-28 15:23:59.000000000","message":"Done","commit_id":"7cae4f72a3a934d2c816d0f64edad068f98a5447"}],"cinder/volume/drivers/coraid.py":[{"author":{"_account_id":4355,"name":"Avishay Traeger","email":"avishay@stratoscale.com","username":"avishay-il"},"change_message_id":"0b45968f93f563f4380a19af3abb05c1ed325c06","unresolved":false,"context_lines":[{"line_number":367,"context_line":"            if too_small:"},{"line_number":368,"context_line":"                msg \u003d _(\u0027Error: The volume size cannot be smaller than \u0027"},{"line_number":369,"context_line":"                        \u0027the snapshot size\u0027)"},{"line_number":370,"context_line":"                raise CoraidException(msg)"},{"line_number":371,"context_line":"            repository \u003d self._get_repository(volume[\u0027volume_type\u0027])"},{"line_number":372,"context_line":"            self.esm.create_volume_from_snapshot(snapshot_name,"},{"line_number":373,"context_line":"                                                 volume[\u0027name\u0027],"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOH%2F%2Fy%2Bk%3D","line":370,"updated":"2013-03-27 05:30:17.000000000","message":"I would prefer using more specific exceptions (e.g., InvalidSnapshot) or VolumeBackendAPIException.","commit_id":"862f74bccc707277f74ce7c78bbeab8a5e1c5b3c"},{"author":{"_account_id":6798,"name":"Jean-Baptiste Ransy","email":"jean-baptiste.ransy@alyseo.com","username":"jean-baptiste-ransy"},"change_message_id":"a5af4c6b392021211c05cff94734f2526af263d3","unresolved":false,"context_lines":[{"line_number":367,"context_line":"            if too_small:"},{"line_number":368,"context_line":"                msg \u003d _(\u0027Error: The volume size cannot be smaller than \u0027"},{"line_number":369,"context_line":"                        \u0027the snapshot size\u0027)"},{"line_number":370,"context_line":"                raise CoraidException(msg)"},{"line_number":371,"context_line":"            repository \u003d self._get_repository(volume[\u0027volume_type\u0027])"},{"line_number":372,"context_line":"            self.esm.create_volume_from_snapshot(snapshot_name,"},{"line_number":373,"context_line":"                                                 volume[\u0027name\u0027],"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOH%2F%2Fyc4%3D","line":370,"in_reply_to":"AAAAOH%2F%2Fy%2Bk%3D","updated":"2013-03-27 14:57:34.000000000","message":"Done\nReplaced by exception.InvalidVolume(msg)","commit_id":"862f74bccc707277f74ce7c78bbeab8a5e1c5b3c"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"d6df63a686eadea155363b3faab738860a636d2c","unresolved":false,"context_lines":[{"line_number":363,"context_line":"        try:"},{"line_number":364,"context_line":"            snapshot_name \u003d (FLAGS.snapshot_name_template"},{"line_number":365,"context_line":"                             % snapshot[\u0027id\u0027])"},{"line_number":366,"context_line":"            too_small \u003d volume[\u0027size\u0027] \u003c snapshot[\u0027volume_size\u0027]"},{"line_number":367,"context_line":"            if too_small:"},{"line_number":368,"context_line":"                msg \u003d _(\u0027Error: The volume size cannot be smaller than \u0027"},{"line_number":369,"context_line":"                        \u0027the snapshot size\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAOH%2F%2FvrI%3D","line":366,"updated":"2013-03-29 16:40:18.000000000","message":"The validation is good, but this should happen sooner so others can benefit and we can speak back to clients before attempting creation.","commit_id":"c0e6b277af43eb0d3e31a1dbac03edef0728d06e"}]}
