)]}'
{"cinder/tests/test_glusterfs.py":[{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"4a47945146ea477499cec02d2e61015b6b9e4fc6","unresolved":false,"context_lines":[{"line_number":1022,"context_line":""},{"line_number":1023,"context_line":"        volume_filename \u003d \u0027volume-%s\u0027 % self.VOLUME_UUID"},{"line_number":1024,"context_line":""},{"line_number":1025,"context_line":"        snap_path \u003d \u0027%s.%s\u0027 % (volume_path, self.SNAP_UUID)"},{"line_number":1026,"context_line":"        snap_path_2 \u003d \u0027%s.%s\u0027 % (volume_path, self.SNAP_UUID_2)"},{"line_number":1027,"context_line":"        snap_file \u003d \u0027%s.%s\u0027 % (volume_filename, self.SNAP_UUID)"},{"line_number":1028,"context_line":"        snap_file_2 \u003d \u0027%s.%s\u0027 % (volume_filename, self.SNAP_UUID_2)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2BKp8%3D","line":1025,"updated":"2013-11-30 04:56:54.000000000","message":"snap_path is never used.","commit_id":"be222fa793dceca3b6ca2fa9d2311fe0fe95b420"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"228f869be908255052216b59f0ca0e55364d1652","unresolved":false,"context_lines":[{"line_number":1022,"context_line":""},{"line_number":1023,"context_line":"        volume_filename \u003d \u0027volume-%s\u0027 % self.VOLUME_UUID"},{"line_number":1024,"context_line":""},{"line_number":1025,"context_line":"        snap_path \u003d \u0027%s.%s\u0027 % (volume_path, self.SNAP_UUID)"},{"line_number":1026,"context_line":"        snap_path_2 \u003d \u0027%s.%s\u0027 % (volume_path, self.SNAP_UUID_2)"},{"line_number":1027,"context_line":"        snap_file \u003d \u0027%s.%s\u0027 % (volume_filename, self.SNAP_UUID)"},{"line_number":1028,"context_line":"        snap_file_2 \u003d \u0027%s.%s\u0027 % (volume_filename, self.SNAP_UUID_2)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2BF2E%3D","line":1025,"in_reply_to":"AAAATn%2F%2BKp8%3D","updated":"2013-12-02 17:05:23.000000000","message":"Thanks Mike... had some copy/paste go awry it seems. :)","commit_id":"be222fa793dceca3b6ca2fa9d2311fe0fe95b420"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"4a47945146ea477499cec02d2e61015b6b9e4fc6","unresolved":false,"context_lines":[{"line_number":1023,"context_line":"        volume_filename \u003d \u0027volume-%s\u0027 % self.VOLUME_UUID"},{"line_number":1024,"context_line":""},{"line_number":1025,"context_line":"        snap_path \u003d \u0027%s.%s\u0027 % (volume_path, self.SNAP_UUID)"},{"line_number":1026,"context_line":"        snap_path_2 \u003d \u0027%s.%s\u0027 % (volume_path, self.SNAP_UUID_2)"},{"line_number":1027,"context_line":"        snap_file \u003d \u0027%s.%s\u0027 % (volume_filename, self.SNAP_UUID)"},{"line_number":1028,"context_line":"        snap_file_2 \u003d \u0027%s.%s\u0027 % (volume_filename, self.SNAP_UUID_2)"},{"line_number":1029,"context_line":"        info_path \u003d \u0027%s%s\u0027 % (volume_path, \u0027.info\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2BKp4%3D","line":1026,"updated":"2013-11-30 04:56:54.000000000","message":"snap_path_2 is never used.","commit_id":"be222fa793dceca3b6ca2fa9d2311fe0fe95b420"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"4a47945146ea477499cec02d2e61015b6b9e4fc6","unresolved":false,"context_lines":[{"line_number":1044,"context_line":"        mox.StubOutWithMock(drv, \u0027_ensure_share_writable\u0027)"},{"line_number":1045,"context_line":"        mox.StubOutWithMock(image_utils, \u0027qemu_img_info\u0027)"},{"line_number":1046,"context_line":""},{"line_number":1047,"context_line":"        img_info \u003d imageutils.QemuImgInfo(qemu_img_info_output)"},{"line_number":1048,"context_line":""},{"line_number":1049,"context_line":"        info_file_dict \u003d {\u0027active\u0027: volume_filename}"},{"line_number":1050,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2BKp0%3D","line":1047,"updated":"2013-11-30 04:56:54.000000000","message":"img_info is never used.","commit_id":"be222fa793dceca3b6ca2fa9d2311fe0fe95b420"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"4a47945146ea477499cec02d2e61015b6b9e4fc6","unresolved":false,"context_lines":[{"line_number":1046,"context_line":""},{"line_number":1047,"context_line":"        img_info \u003d imageutils.QemuImgInfo(qemu_img_info_output)"},{"line_number":1048,"context_line":""},{"line_number":1049,"context_line":"        info_file_dict \u003d {\u0027active\u0027: volume_filename}"},{"line_number":1050,"context_line":""},{"line_number":1051,"context_line":"        snap_ref \u003d {\u0027name\u0027: \u0027test snap\u0027,"},{"line_number":1052,"context_line":"                    \u0027volume_id\u0027: self.VOLUME_UUID,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2BKpw%3D","line":1049,"updated":"2013-11-30 04:56:54.000000000","message":"info_file_dict is never used.","commit_id":"be222fa793dceca3b6ca2fa9d2311fe0fe95b420"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"4a47945146ea477499cec02d2e61015b6b9e4fc6","unresolved":false,"context_lines":[{"line_number":1053,"context_line":"                    \u0027volume\u0027: self._simple_volume(),"},{"line_number":1054,"context_line":"                    \u0027id\u0027: self.SNAP_UUID_2}"},{"line_number":1055,"context_line":""},{"line_number":1056,"context_line":"        snap_path_2_chain \u003d [{self.SNAP_UUID_2: snap_file_2},"},{"line_number":1057,"context_line":"                             {self.SNAP_UUID: snap_file},"},{"line_number":1058,"context_line":"                             {\u0027active\u0027: snap_file_2}]"},{"line_number":1059,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2BKps%3D","line":1056,"updated":"2013-11-30 04:56:54.000000000","message":"snap_path_2_chain is never used.","commit_id":"be222fa793dceca3b6ca2fa9d2311fe0fe95b420"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"4a47945146ea477499cec02d2e61015b6b9e4fc6","unresolved":false,"context_lines":[{"line_number":1057,"context_line":"                             {self.SNAP_UUID: snap_file},"},{"line_number":1058,"context_line":"                             {\u0027active\u0027: snap_file_2}]"},{"line_number":1059,"context_line":""},{"line_number":1060,"context_line":"        snap_path_chain \u003d [{self.SNAP_UUID: snap_file},"},{"line_number":1061,"context_line":"                           {\u0027active\u0027: snap_file}]"},{"line_number":1062,"context_line":""},{"line_number":1063,"context_line":"        drv._ensure_share_writable(volume_dir)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2BKpo%3D","line":1060,"updated":"2013-11-30 04:56:54.000000000","message":"snap_path_chain is never used.","commit_id":"be222fa793dceca3b6ca2fa9d2311fe0fe95b420"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"69057fffd4713d2595a0687b076754e8b9d4792f","unresolved":false,"context_lines":[{"line_number":1012,"context_line":""},{"line_number":1013,"context_line":"        (Scenario: Snapshot object created in Cinder db but not"},{"line_number":1014,"context_line":"         on backing storage.)"},{"line_number":1015,"context_line":""},{"line_number":1016,"context_line":"        \"\"\""},{"line_number":1017,"context_line":"        (mox, drv) \u003d self._mox, self._driver"},{"line_number":1018,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F9R2E%3D","line":1015,"updated":"2013-12-13 05:52:45.000000000","message":"Remove this new line.","commit_id":"d8a11168c908fe6c6a07fbb30a5bc88a6df6e939"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"69057fffd4713d2595a0687b076754e8b9d4792f","unresolved":false,"context_lines":[{"line_number":1014,"context_line":"         on backing storage.)"},{"line_number":1015,"context_line":""},{"line_number":1016,"context_line":"        \"\"\""},{"line_number":1017,"context_line":"        (mox, drv) \u003d self._mox, self._driver"},{"line_number":1018,"context_line":""},{"line_number":1019,"context_line":"        hashed \u003d drv._get_hash_str(self.TEST_EXPORT1)"},{"line_number":1020,"context_line":"        volume_dir \u003d os.path.join(self.TEST_MNT_POINT_BASE, hashed)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F9R10%3D","line":1017,"updated":"2013-12-13 05:52:45.000000000","message":"So this was uploaded before the mox to mock discussion in a couple of cinder meetings ago... We said that it was for all new tests when possible. Where do we see this stand?","commit_id":"d8a11168c908fe6c6a07fbb30a5bc88a6df6e939"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"d83a8e7184048d4eec2f34b544b32e99620c5476","unresolved":false,"context_lines":[{"line_number":1014,"context_line":"         on backing storage.)"},{"line_number":1015,"context_line":""},{"line_number":1016,"context_line":"        \"\"\""},{"line_number":1017,"context_line":"        (mox, drv) \u003d self._mox, self._driver"},{"line_number":1018,"context_line":""},{"line_number":1019,"context_line":"        hashed \u003d drv._get_hash_str(self.TEST_EXPORT1)"},{"line_number":1020,"context_line":"        volume_dir \u003d os.path.join(self.TEST_MNT_POINT_BASE, hashed)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F9M9Q%3D","line":1017,"in_reply_to":"AAAATn%2F9PtA%3D","updated":"2013-12-14 07:43:00.000000000","message":"Works for me.","commit_id":"d8a11168c908fe6c6a07fbb30a5bc88a6df6e939"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"b1973dda55abe7cf211a2aa6eeb5d43b9b9cbe02","unresolved":false,"context_lines":[{"line_number":1014,"context_line":"         on backing storage.)"},{"line_number":1015,"context_line":""},{"line_number":1016,"context_line":"        \"\"\""},{"line_number":1017,"context_line":"        (mox, drv) \u003d self._mox, self._driver"},{"line_number":1018,"context_line":""},{"line_number":1019,"context_line":"        hashed \u003d drv._get_hash_str(self.TEST_EXPORT1)"},{"line_number":1020,"context_line":"        volume_dir \u003d os.path.join(self.TEST_MNT_POINT_BASE, hashed)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F9PtA%3D","line":1017,"in_reply_to":"AAAATn%2F9R10%3D","updated":"2013-12-13 15:10:12.000000000","message":"My plan was to do a wholesale conversion of tests in this file at some point, since many of them follow a very similar structure.  Since this patch will probably also aim for stable/havana I wasn\u0027t wanting to anything too different yet.","commit_id":"d8a11168c908fe6c6a07fbb30a5bc88a6df6e939"}],"cinder/volume/drivers/glusterfs.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"50eb94b95041815ac75cd3c8dbd910579e8021e6","unresolved":false,"context_lines":[{"line_number":560,"context_line":"            # exist, do not attempt to delete."},{"line_number":561,"context_line":"            # (This happens, for example, if snapshot_create failed due to lack"},{"line_number":562,"context_line":"            # of permission to write to the share.)"},{"line_number":563,"context_line":"            LOG.info(_(\u0027snapshot record for %s is not present, allowing \u0027"},{"line_number":564,"context_line":"                       \u0027snapshot_delete to proceed.\u0027) % snapshot[\u0027id\u0027])"},{"line_number":565,"context_line":"            return"},{"line_number":566,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2Bp3I%3D","line":563,"updated":"2013-11-21 23:35:36.000000000","message":"Should start with a capital \u0027S\u0027 since this is a sentence.","commit_id":"93be4d116b0f208533c045c48f1513dd1a8e39c0"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"affbd94693566bde47b2bb83ab6ef3af9fe3351a","unresolved":false,"context_lines":[{"line_number":560,"context_line":"            # exist, do not attempt to delete."},{"line_number":561,"context_line":"            # (This happens, for example, if snapshot_create failed due to lack"},{"line_number":562,"context_line":"            # of permission to write to the share.)"},{"line_number":563,"context_line":"            LOG.info(_(\u0027snapshot record for %s is not present, allowing \u0027"},{"line_number":564,"context_line":"                       \u0027snapshot_delete to proceed.\u0027) % snapshot[\u0027id\u0027])"},{"line_number":565,"context_line":"            return"},{"line_number":566,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2BlfY%3D","line":563,"in_reply_to":"AAAATn%2F%2Bp3I%3D","updated":"2013-11-22 19:34:01.000000000","message":"Done","commit_id":"93be4d116b0f208533c045c48f1513dd1a8e39c0"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"affbd94693566bde47b2bb83ab6ef3af9fe3351a","unresolved":false,"context_lines":[{"line_number":564,"context_line":"                       \u0027snapshot_delete to proceed.\u0027) % snapshot[\u0027id\u0027])"},{"line_number":565,"context_line":"            return"},{"line_number":566,"context_line":""},{"line_number":567,"context_line":"        self._ensure_share_writable(snapshot[\u0027volume\u0027])"},{"line_number":568,"context_line":""},{"line_number":569,"context_line":"        snapshot_file \u003d snap_info[snapshot[\u0027id\u0027]]"},{"line_number":570,"context_line":"        LOG.debug(_(\u0027snapshot_file for this snap is %s\u0027) % snapshot_file)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2Blfc%3D","line":567,"updated":"2013-11-22 19:34:01.000000000","message":"Wrong parameter.","commit_id":"93be4d116b0f208533c045c48f1513dd1a8e39c0"},{"author":{"_account_id":8574,"name":"Qin Zhao","username":"zhaoqin","inactive":true},"change_message_id":"d0aba260707641ce42203f990ee6454ad7618642","unresolved":false,"context_lines":[{"line_number":573,"context_line":"            # exist, do not attempt to delete."},{"line_number":574,"context_line":"            # (This happens, for example, if snapshot_create failed due to lack"},{"line_number":575,"context_line":"            # of permission to write to the share.)"},{"line_number":576,"context_line":"            LOG.info(_(\u0027Snapshot record for %s is not present, allowing \u0027"},{"line_number":577,"context_line":"                       \u0027snapshot_delete to proceed.\u0027) % snapshot[\u0027id\u0027])"},{"line_number":578,"context_line":"            return"},{"line_number":579,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2BCPc%3D","line":576,"updated":"2013-12-03 07:51:29.000000000","message":"Personally, I feel logging it as a warning seems more accurate.","commit_id":"d8a11168c908fe6c6a07fbb30a5bc88a6df6e939"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"168353f51cffb28e1667eaf1bb288901ada66835","unresolved":false,"context_lines":[{"line_number":573,"context_line":"            # exist, do not attempt to delete."},{"line_number":574,"context_line":"            # (This happens, for example, if snapshot_create failed due to lack"},{"line_number":575,"context_line":"            # of permission to write to the share.)"},{"line_number":576,"context_line":"            LOG.info(_(\u0027Snapshot record for %s is not present, allowing \u0027"},{"line_number":577,"context_line":"                       \u0027snapshot_delete to proceed.\u0027) % snapshot[\u0027id\u0027])"},{"line_number":578,"context_line":"            return"},{"line_number":579,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F9nDg%3D","line":576,"in_reply_to":"AAAATn%2F%2BCPc%3D","updated":"2013-12-09 17:25:08.000000000","message":"A warning when there\u0027s nothing to fix and nothing you can do about it? I\u0027m not sure I see the point... I think we should move towards warnings being things you can/should fix, so that ops get in the habit of noticing and acting on them, like deprecation warnings and similar.","commit_id":"d8a11168c908fe6c6a07fbb30a5bc88a6df6e939"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"69057fffd4713d2595a0687b076754e8b9d4792f","unresolved":false,"context_lines":[{"line_number":573,"context_line":"            # exist, do not attempt to delete."},{"line_number":574,"context_line":"            # (This happens, for example, if snapshot_create failed due to lack"},{"line_number":575,"context_line":"            # of permission to write to the share.)"},{"line_number":576,"context_line":"            LOG.info(_(\u0027Snapshot record for %s is not present, allowing \u0027"},{"line_number":577,"context_line":"                       \u0027snapshot_delete to proceed.\u0027) % snapshot[\u0027id\u0027])"},{"line_number":578,"context_line":"            return"},{"line_number":579,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F9R2I%3D","line":576,"in_reply_to":"AAAATn%2F9nDg%3D","updated":"2013-12-13 05:52:45.000000000","message":"In previous cases like this, we\u0027ve gone with info.","commit_id":"d8a11168c908fe6c6a07fbb30a5bc88a6df6e939"}]}
