)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"70f50d13d3276e70a5a0ab0721f7a2acf0e05864","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change lifts an earlier limitation that explicitely did"},{"line_number":10,"context_line":"not extend a volume if snapshots of that volume exist. This"},{"line_number":11,"context_line":"limitation was liftet on the glusterfs driver and this change"},{"line_number":12,"context_line":"mirrors that behaviour."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I75d25f6829d41ee2569ca3eaff63627f7c3876e0"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5ff73747_86120761","line":11,"range":{"start_line":11,"start_character":15,"end_line":11,"end_character":21},"updated":"2017-05-01 19:19:35.000000000","message":"lifted","commit_id":"1c50d51be97fc2dd0e5fbfc3b4aade771175501b"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"56b9dd051f1d407a73126b78f1abb1bb69fd7e4a","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change lifts an earlier limitation that explicitely did"},{"line_number":10,"context_line":"not extend a volume if snapshots of that volume exist. This"},{"line_number":11,"context_line":"limitation was liftet on the glusterfs driver and this change"},{"line_number":12,"context_line":"mirrors that behaviour."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-bug: #1687048"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5ff73747_941463ea","line":11,"range":{"start_line":11,"start_character":15,"end_line":11,"end_character":21},"updated":"2017-05-02 08:47:48.000000000","message":"lifted","commit_id":"556b68962fc057402804273e5b7199b694add8b8"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"0e0bd84f57f18cc0c0146cb21295bb1ac95b3020","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change lifts an earlier limitation that explicitely did"},{"line_number":10,"context_line":"not extend a volume if snapshots of that volume exist. This"},{"line_number":11,"context_line":"limitation was liftet on the glusterfs driver and this change"},{"line_number":12,"context_line":"mirrors that behaviour."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-bug: #1687048"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5ff73747_6f91fe46","line":11,"range":{"start_line":11,"start_character":15,"end_line":11,"end_character":21},"in_reply_to":"5ff73747_941463ea","updated":"2017-05-02 09:32:14.000000000","message":"Done","commit_id":"556b68962fc057402804273e5b7199b694add8b8"}],"cinder/tests/unit/volume/drivers/test_vzstorage.py":[{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"56b9dd051f1d407a73126b78f1abb1bb69fd7e4a","unresolved":false,"context_lines":[{"line_number":251,"context_line":"            drv._check_extend_volume_support(self.vol, 2)"},{"line_number":252,"context_line":"            drv._is_share_eligible.assert_called_once_with(self._FAKE_SHARE, 1)"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"    def test_check_extend_support(self):"},{"line_number":255,"context_line":"        self._test_check_extend_support()"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"    def test_check_extend_volume_with_snapshots(self):"},{"line_number":258,"context_line":"        self._test_check_extend_support(has_snapshots\u003dTrue)"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"    def test_check_extend_volume_uneligible_share(self):"},{"line_number":261,"context_line":"        self._test_check_extend_support(is_eligible\u003dFalse)"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"    @mock.patch.object(image_utils, \u0027convert_image\u0027)"},{"line_number":264,"context_line":"    def test_copy_volume_from_snapshot(self, mock_convert_image):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5ff73747_d4cd4b5d","side":"PARENT","line":261,"range":{"start_line":254,"start_character":4,"end_line":261,"end_character":58},"updated":"2017-05-02 08:47:48.000000000","message":"It\u0027s an opportunity to refactor these three testcases with ddt, which is more clear and simple.","commit_id":"f1dfad46188427f88f5d92807532d721dc45ec20"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"0e0bd84f57f18cc0c0146cb21295bb1ac95b3020","unresolved":false,"context_lines":[{"line_number":251,"context_line":"            drv._check_extend_volume_support(self.vol, 2)"},{"line_number":252,"context_line":"            drv._is_share_eligible.assert_called_once_with(self._FAKE_SHARE, 1)"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"    def test_check_extend_support(self):"},{"line_number":255,"context_line":"        self._test_check_extend_support()"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"    def test_check_extend_volume_with_snapshots(self):"},{"line_number":258,"context_line":"        self._test_check_extend_support(has_snapshots\u003dTrue)"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"    def test_check_extend_volume_uneligible_share(self):"},{"line_number":261,"context_line":"        self._test_check_extend_support(is_eligible\u003dFalse)"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"    @mock.patch.object(image_utils, \u0027convert_image\u0027)"},{"line_number":264,"context_line":"    def test_copy_volume_from_snapshot(self, mock_convert_image):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5ff73747_4f51a235","side":"PARENT","line":261,"range":{"start_line":254,"start_character":4,"end_line":261,"end_character":58},"in_reply_to":"5ff73747_d4cd4b5d","updated":"2017-05-02 09:32:14.000000000","message":"I did a quick implementation of this but the @ddt decorator caused general test setup issues with the FAKE_VZ_CONFIG variables. At this point i reverted the ddt integration as this change is about fixing the bug and not refactoring the driver tests.\nThe idea was good and the code looked better but running the tests showed that there\u0027s a more general issue with ddt and the way the TestCase is setup in here.","commit_id":"f1dfad46188427f88f5d92807532d721dc45ec20"}],"cinder/volume/drivers/quobyte.py":[{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"56b9dd051f1d407a73126b78f1abb1bb69fd7e4a","unresolved":false,"context_lines":[{"line_number":306,"context_line":"        # Ensure no snapshots exist for the volume"},{"line_number":307,"context_line":"        active_image \u003d self.get_active_image_from_info(volume)"},{"line_number":308,"context_line":"        if volume_filename !\u003d active_image:"},{"line_number":309,"context_line":"            msg \u003d _(\u0027Extend volume is only supported for this\u0027"},{"line_number":310,"context_line":"                    \u0027 driver when no snapshots exist.\u0027)"},{"line_number":311,"context_line":"            raise exception.InvalidVolume(msg)"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"        info \u003d self._qemu_img_info(volume_path, volume.name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5ff73747_f4d16724","side":"PARENT","line":310,"range":{"start_line":309,"start_character":18,"end_line":310,"end_character":55},"updated":"2017-05-02 08:47:48.000000000","message":"msg \u003d _(\u0027Extend volume is only supported for this \u0027\n       ‘driver when no snapshots exist.\u0027)","commit_id":"f1dfad46188427f88f5d92807532d721dc45ec20"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"0e0bd84f57f18cc0c0146cb21295bb1ac95b3020","unresolved":false,"context_lines":[{"line_number":306,"context_line":"        # Ensure no snapshots exist for the volume"},{"line_number":307,"context_line":"        active_image \u003d self.get_active_image_from_info(volume)"},{"line_number":308,"context_line":"        if volume_filename !\u003d active_image:"},{"line_number":309,"context_line":"            msg \u003d _(\u0027Extend volume is only supported for this\u0027"},{"line_number":310,"context_line":"                    \u0027 driver when no snapshots exist.\u0027)"},{"line_number":311,"context_line":"            raise exception.InvalidVolume(msg)"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"        info \u003d self._qemu_img_info(volume_path, volume.name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5ff73747_ef7f4e12","side":"PARENT","line":310,"range":{"start_line":309,"start_character":18,"end_line":310,"end_character":55},"in_reply_to":"5ff73747_f4d16724","updated":"2017-05-02 09:32:14.000000000","message":"As this part is removed from the driver I\u0027m not updating, ok?","commit_id":"f1dfad46188427f88f5d92807532d721dc45ec20"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"cdf2c9aeb58ba869c7a08f19ada5226fb09e60aa","unresolved":false,"context_lines":[{"line_number":318,"context_line":"            raise exception.InvalidVolume(msg % backing_fmt)"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"        # qemu-img can resize both raw and qcow2 files"},{"line_number":321,"context_line":"        image_utils.resize_image(volume_path, size_gb)"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"    def _do_create_volume(self, volume):"},{"line_number":324,"context_line":"        \"\"\"Create a volume on given Quobyte volume."}],"source_content_type":"text/x-python","patch_set":5,"id":"3f044301_54087790","side":"PARENT","line":321,"range":{"start_line":321,"start_character":8,"end_line":321,"end_character":54},"updated":"2017-05-11 08:57:57.000000000","message":"As pointed out in the bug report, I think the latest image from the chain is the one that we want to resize. Basically, the \u0027active image\u0027.","commit_id":"2161f4a450987561f197bbc6dddc3eb7df5e4552"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"22080efb936b6d489444e0fea77abc7d15a2f411","unresolved":false,"context_lines":[{"line_number":318,"context_line":"            raise exception.InvalidVolume(msg % backing_fmt)"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"        # qemu-img can resize both raw and qcow2 files"},{"line_number":321,"context_line":"        image_utils.resize_image(volume_path, size_gb)"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"    def _do_create_volume(self, volume):"},{"line_number":324,"context_line":"        \"\"\"Create a volume on given Quobyte volume."}],"source_content_type":"text/x-python","patch_set":5,"id":"5f201791_10f9354c","side":"PARENT","line":321,"range":{"start_line":321,"start_character":8,"end_line":321,"end_character":54},"in_reply_to":"3f044301_54087790","updated":"2017-06-22 15:32:36.000000000","message":"I took some time to look at things today, you\u0027re right. New patch version coming up.","commit_id":"2161f4a450987561f197bbc6dddc3eb7df5e4552"}]}
