)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"739166d63ff7fb9aef4bfaae7b9394df2081695b","unresolved":false,"context_lines":[{"line_number":15,"context_line":"a new cache entry when the limit reaches and not enforce the same"},{"line_number":16,"context_line":"for other drivers."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Related-Bug: #1519843"},{"line_number":19,"context_line":"Related-Bug: #1801595"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"[1] https://bugs.launchpad.net/cinder/+bug/1552734"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: I2bf964d5a7b2048db9be1ea3eb97cd517e112c5b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3fa7e38b_50bbcf73","line":21,"range":{"start_line":18,"start_character":0,"end_line":21,"end_character":50},"updated":"2020-01-02 20:13:15.000000000","message":"Given all these LP bugs, I think we should also have one for this issue.","commit_id":"233465b8c812d32c31bd1995aa618faf74e52c27"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"1b3d6bff7f80a1017b712a7e2738bf25fa856acd","unresolved":false,"context_lines":[{"line_number":15,"context_line":"a new cache entry when the limit reaches and not enforce the same"},{"line_number":16,"context_line":"for other drivers."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Related-Bug: #1519843"},{"line_number":19,"context_line":"Related-Bug: #1801595"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"[1] https://bugs.launchpad.net/cinder/+bug/1552734"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: I2bf964d5a7b2048db9be1ea3eb97cd517e112c5b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3fa7e38b_dc6d9899","line":21,"range":{"start_line":18,"start_character":0,"end_line":21,"end_character":50},"in_reply_to":"3fa7e38b_50bbcf73","updated":"2020-01-03 15:53:16.000000000","message":"Done","commit_id":"233465b8c812d32c31bd1995aa618faf74e52c27"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"2b50f7a14e55080e60d17ffb4054c572b2538ba6","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"[1] https://bugs.launchpad.net/cinder/+bug/1552734"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Closes-Bug: #1758414"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: I2bf964d5a7b2048db9be1ea3eb97cd517e112c5b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3fa7e38b_e110e8f6","line":20,"updated":"2020-01-03 18:14:18.000000000","message":"I think you mean to reference https://bugs.launchpad.net/cinder/+bug/1858169","commit_id":"7026a3b2af9ae29daa483a8b88da41295f0eb6c0"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"80d6baaa4837f6ab54ffad65a488a9a96347c222","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"[1] https://bugs.launchpad.net/cinder/+bug/1552734"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Closes-Bug: #1758414"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: I2bf964d5a7b2048db9be1ea3eb97cd517e112c5b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3fa7e38b_47669757","line":20,"in_reply_to":"3fa7e38b_e110e8f6","updated":"2020-01-07 07:09:36.000000000","message":"Done","commit_id":"7026a3b2af9ae29daa483a8b88da41295f0eb6c0"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"2bccfb7f43d085a4f5f6ce21a1372557d9d741a2","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"[1] https://bugs.launchpad.net/cinder/+bug/1552734"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Closes-Bug: #1758414"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: I2bf964d5a7b2048db9be1ea3eb97cd517e112c5b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3fa7e38b_7c4ec190","line":20,"updated":"2020-01-07 15:08:49.000000000","message":"You fixed the reference in a prior patch set, but it\u0027s wrong again :-/","commit_id":"91a3e1f2d23b1d5fb0c48316f7f30f0c15375df9"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"da11262eae304c37e16a830080a4c642f0f038e4","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"[1] https://bugs.launchpad.net/cinder/+bug/1552734"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Closes-Bug: #1758414"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: I2bf964d5a7b2048db9be1ea3eb97cd517e112c5b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3fa7e38b_7f3f93b1","line":20,"in_reply_to":"3fa7e38b_7c4ec190","updated":"2020-01-07 15:59:24.000000000","message":"My bad, mixed up GUI and CLI changes. Done","commit_id":"91a3e1f2d23b1d5fb0c48316f7f30f0c15375df9"}],"cinder/tests/unit/volume/flows/test_create_volume_flow.py":[{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"6447ce74821264b3245f92acca9e3476e2b753d8","unresolved":false,"context_lines":[{"line_number":1598,"context_line":"        mock_create_from_img_dl.assert_called_once()"},{"line_number":1599,"context_line":"        self.assertEqual(mock_create_from_img_dl.return_value, model_update)"},{"line_number":1600,"context_line":""},{"line_number":1601,"context_line":"        # Ensure a new cache entry is created when cloning fails, but"},{"line_number":1602,"context_line":"        # only when the driver supports cloning."},{"line_number":1603,"context_line":"        if cloning_supported:"},{"line_number":1604,"context_line":"            (self.mock_volume_manager."}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_41521cdc","line":1601,"updated":"2020-01-03 18:06:56.000000000","message":"I don\u0027t think this will work now that the fresh cache entry is created by a retry decorator in a different location in the call sequence.\n\nTo test the retry logic, you need to invoke manager._create_from_image (not _create_from_image_cache_or_download, which this function calls at L1587).","commit_id":"7026a3b2af9ae29daa483a8b88da41295f0eb6c0"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"80d6baaa4837f6ab54ffad65a488a9a96347c222","unresolved":false,"context_lines":[{"line_number":1598,"context_line":"        mock_create_from_img_dl.assert_called_once()"},{"line_number":1599,"context_line":"        self.assertEqual(mock_create_from_img_dl.return_value, model_update)"},{"line_number":1600,"context_line":""},{"line_number":1601,"context_line":"        # Ensure a new cache entry is created when cloning fails, but"},{"line_number":1602,"context_line":"        # only when the driver supports cloning."},{"line_number":1603,"context_line":"        if cloning_supported:"},{"line_number":1604,"context_line":"            (self.mock_volume_manager."}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_677b93f2","line":1601,"in_reply_to":"3fa7e38b_41521cdc","updated":"2020-01-07 07:09:36.000000000","message":"Done","commit_id":"7026a3b2af9ae29daa483a8b88da41295f0eb6c0"}],"cinder/volume/flows/manager/create_volume.py":[{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"739166d63ff7fb9aef4bfaae7b9394df2081695b","unresolved":false,"context_lines":[{"line_number":864,"context_line":""},{"line_number":865,"context_line":"                    # If an exception occurred when cloning the image-volume,"},{"line_number":866,"context_line":"                    # it may be the image-volume reached its snapshot limit."},{"line_number":867,"context_line":"                    # Create another \"fresh\" cache entry."},{"line_number":868,"context_line":"                    update_cache \u003d True"},{"line_number":869,"context_line":"                    force_create_cache_entry \u003d True"},{"line_number":870,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_907947c7","line":867,"updated":"2020-01-02 20:13:15.000000000","message":"As I describe elsewhere, what if this code deleted the current \"bad\" cache entry, and re-raised SnapshotLimitReached so things can be retried at a higher level?","commit_id":"233465b8c812d32c31bd1995aa618faf74e52c27"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"1b3d6bff7f80a1017b712a7e2738bf25fa856acd","unresolved":false,"context_lines":[{"line_number":864,"context_line":""},{"line_number":865,"context_line":"                    # If an exception occurred when cloning the image-volume,"},{"line_number":866,"context_line":"                    # it may be the image-volume reached its snapshot limit."},{"line_number":867,"context_line":"                    # Create another \"fresh\" cache entry."},{"line_number":868,"context_line":"                    update_cache \u003d True"},{"line_number":869,"context_line":"                    force_create_cache_entry \u003d True"},{"line_number":870,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_1e0c8137","line":867,"in_reply_to":"3fa7e38b_907947c7","updated":"2020-01-03 15:53:16.000000000","message":"Done","commit_id":"233465b8c812d32c31bd1995aa618faf74e52c27"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"739166d63ff7fb9aef4bfaae7b9394df2081695b","unresolved":false,"context_lines":[{"line_number":1001,"context_line":"                                                            image_location,"},{"line_number":1002,"context_line":"                                                            image_meta)"},{"line_number":1003,"context_line":""},{"line_number":1004,"context_line":"        # If we\u0027re going to try using the image cache then prepare the cache"},{"line_number":1005,"context_line":"        # entry. Note: encrypted volume images are not cached."},{"line_number":1006,"context_line":"        if not cloned and self.image_volume_cache and not volume_is_encrypted:"},{"line_number":1007,"context_line":"            # If _prepare_image_cache_entry() has to create the cache entry"},{"line_number":1008,"context_line":"            # then it will also create the volume. But if the volume image"},{"line_number":1009,"context_line":"            # is already in the cache then it returns (None, False), and"},{"line_number":1010,"context_line":"            # _create_from_image_cache_or_download() will use the cache."},{"line_number":1011,"context_line":"            model_update, cloned \u003d self._prepare_image_cache_entry("},{"line_number":1012,"context_line":"                context,"},{"line_number":1013,"context_line":"                volume,"},{"line_number":1014,"context_line":"                image_location,"},{"line_number":1015,"context_line":"                image_id,"},{"line_number":1016,"context_line":"                image_meta,"},{"line_number":1017,"context_line":"                image_service)"},{"line_number":1018,"context_line":""},{"line_number":1019,"context_line":"        # Try and use the image cache, and download if not cached."},{"line_number":1020,"context_line":"        if not cloned:"},{"line_number":1021,"context_line":"            model_update \u003d self._create_from_image_cache_or_download("},{"line_number":1022,"context_line":"                context,"},{"line_number":1023,"context_line":"                volume,"},{"line_number":1024,"context_line":"                image_location,"},{"line_number":1025,"context_line":"                image_id,"},{"line_number":1026,"context_line":"                image_meta,"},{"line_number":1027,"context_line":"                image_service)"},{"line_number":1028,"context_line":""},{"line_number":1029,"context_line":"        self._handle_bootable_volume_glance_meta(context, volume,"},{"line_number":1030,"context_line":"                                                 image_id\u003dimage_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_303973f0","line":1027,"range":{"start_line":1004,"start_character":0,"end_line":1027,"end_character":30},"updated":"2020-01-02 20:13:15.000000000","message":"This is the block of code that would be nice to retry if SnapshotLimitReached. _prepare_image_cache_entry() will create a new entry, and its existing lock will prevent race conditions.","commit_id":"233465b8c812d32c31bd1995aa618faf74e52c27"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"1b3d6bff7f80a1017b712a7e2738bf25fa856acd","unresolved":false,"context_lines":[{"line_number":1001,"context_line":"                                                            image_location,"},{"line_number":1002,"context_line":"                                                            image_meta)"},{"line_number":1003,"context_line":""},{"line_number":1004,"context_line":"        # If we\u0027re going to try using the image cache then prepare the cache"},{"line_number":1005,"context_line":"        # entry. Note: encrypted volume images are not cached."},{"line_number":1006,"context_line":"        if not cloned and self.image_volume_cache and not volume_is_encrypted:"},{"line_number":1007,"context_line":"            # If _prepare_image_cache_entry() has to create the cache entry"},{"line_number":1008,"context_line":"            # then it will also create the volume. But if the volume image"},{"line_number":1009,"context_line":"            # is already in the cache then it returns (None, False), and"},{"line_number":1010,"context_line":"            # _create_from_image_cache_or_download() will use the cache."},{"line_number":1011,"context_line":"            model_update, cloned \u003d self._prepare_image_cache_entry("},{"line_number":1012,"context_line":"                context,"},{"line_number":1013,"context_line":"                volume,"},{"line_number":1014,"context_line":"                image_location,"},{"line_number":1015,"context_line":"                image_id,"},{"line_number":1016,"context_line":"                image_meta,"},{"line_number":1017,"context_line":"                image_service)"},{"line_number":1018,"context_line":""},{"line_number":1019,"context_line":"        # Try and use the image cache, and download if not cached."},{"line_number":1020,"context_line":"        if not cloned:"},{"line_number":1021,"context_line":"            model_update \u003d self._create_from_image_cache_or_download("},{"line_number":1022,"context_line":"                context,"},{"line_number":1023,"context_line":"                volume,"},{"line_number":1024,"context_line":"                image_location,"},{"line_number":1025,"context_line":"                image_id,"},{"line_number":1026,"context_line":"                image_meta,"},{"line_number":1027,"context_line":"                image_service)"},{"line_number":1028,"context_line":""},{"line_number":1029,"context_line":"        self._handle_bootable_volume_glance_meta(context, volume,"},{"line_number":1030,"context_line":"                                                 image_id\u003dimage_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_de110952","line":1027,"range":{"start_line":1004,"start_character":0,"end_line":1027,"end_character":30},"in_reply_to":"3fa7e38b_303973f0","updated":"2020-01-03 15:53:16.000000000","message":"Done","commit_id":"233465b8c812d32c31bd1995aa618faf74e52c27"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"6447ce74821264b3245f92acca9e3476e2b753d8","unresolved":false,"context_lines":[{"line_number":855,"context_line":"                        image_id,"},{"line_number":856,"context_line":"                        image_meta"},{"line_number":857,"context_line":"                    )"},{"line_number":858,"context_line":"                except exception.SnapshotLimitReached as e:"},{"line_number":859,"context_line":"                    LOG.warning(\u0027Failed to create volume from image-volume \u0027"},{"line_number":860,"context_line":"                                \u0027cache, image will be downloaded from Glance. \u0027"},{"line_number":861,"context_line":"                                \u0027Error: %(exception)s\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_41ebfc0f","line":858,"updated":"2020-01-03 18:06:56.000000000","message":"We need to consider the behavior if a different exception is raised. In the previous design, the issue is logged (L859) and processing continues, ultimately reaching L888.","commit_id":"7026a3b2af9ae29daa483a8b88da41295f0eb6c0"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"80d6baaa4837f6ab54ffad65a488a9a96347c222","unresolved":false,"context_lines":[{"line_number":855,"context_line":"                        image_id,"},{"line_number":856,"context_line":"                        image_meta"},{"line_number":857,"context_line":"                    )"},{"line_number":858,"context_line":"                except exception.SnapshotLimitReached as e:"},{"line_number":859,"context_line":"                    LOG.warning(\u0027Failed to create volume from image-volume \u0027"},{"line_number":860,"context_line":"                                \u0027cache, image will be downloaded from Glance. \u0027"},{"line_number":861,"context_line":"                                \u0027Error: %(exception)s\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_07173f9f","line":858,"in_reply_to":"3fa7e38b_41ebfc0f","updated":"2020-01-07 07:09:36.000000000","message":"Yep, I\u0027ve restored the original design adding SnapshotLimitReached as a different exception","commit_id":"7026a3b2af9ae29daa483a8b88da41295f0eb6c0"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"6447ce74821264b3245f92acca9e3476e2b753d8","unresolved":false,"context_lines":[{"line_number":864,"context_line":"                    # If an exception occurred when cloning the image-volume,"},{"line_number":865,"context_line":"                    # it may be the image-volume reached its snapshot limit."},{"line_number":866,"context_line":"                    # Delete current entry and create a \"fresh\" cache entry"},{"line_number":867,"context_line":"                    with excutils.save_and_reraise_exception():"},{"line_number":868,"context_line":"                        cache_entry \u003d self.image_volume_cache.get_entry("},{"line_number":869,"context_line":"                            internal_context, volume, image_id, image_meta)"},{"line_number":870,"context_line":"                        self.db.image_volume_cache_delete("}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_21bfe0fc","line":867,"updated":"2020-01-03 18:06:56.000000000","message":"This might fit better into _create_from_image_cache() (near L745), because that function already has the cache_entry.\n\nAlso, consider calling cinder.image.cache.evict() instead of directly calling the db function.","commit_id":"7026a3b2af9ae29daa483a8b88da41295f0eb6c0"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"80d6baaa4837f6ab54ffad65a488a9a96347c222","unresolved":false,"context_lines":[{"line_number":864,"context_line":"                    # If an exception occurred when cloning the image-volume,"},{"line_number":865,"context_line":"                    # it may be the image-volume reached its snapshot limit."},{"line_number":866,"context_line":"                    # Delete current entry and create a \"fresh\" cache entry"},{"line_number":867,"context_line":"                    with excutils.save_and_reraise_exception():"},{"line_number":868,"context_line":"                        cache_entry \u003d self.image_volume_cache.get_entry("},{"line_number":869,"context_line":"                            internal_context, volume, image_id, image_meta)"},{"line_number":870,"context_line":"                        self.db.image_volume_cache_delete("}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_a7750b02","line":867,"in_reply_to":"3fa7e38b_21bfe0fc","updated":"2020-01-07 07:09:36.000000000","message":"Done","commit_id":"7026a3b2af9ae29daa483a8b88da41295f0eb6c0"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"6447ce74821264b3245f92acca9e3476e2b753d8","unresolved":false,"context_lines":[{"line_number":943,"context_line":"                if model_update:"},{"line_number":944,"context_line":"                    volume.update(model_update)"},{"line_number":945,"context_line":"                    volume.save()"},{"line_number":946,"context_line":"                self.manager._create_image_cache_volume_entry("},{"line_number":947,"context_line":"                    internal_context,"},{"line_number":948,"context_line":"                    volume,"},{"line_number":949,"context_line":"                    image_id,"},{"line_number":950,"context_line":"                    image_meta)"},{"line_number":951,"context_line":"        finally:"},{"line_number":952,"context_line":"            # If we created the volume as the minimal size, extend it back to"},{"line_number":953,"context_line":"            # what was originally requested. If an exception has occurred or"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_c1b7ec21","line":950,"range":{"start_line":946,"start_character":0,"end_line":950,"end_character":31},"updated":"2020-01-03 18:06:56.000000000","message":"nit: this change is unnecessary","commit_id":"7026a3b2af9ae29daa483a8b88da41295f0eb6c0"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"80d6baaa4837f6ab54ffad65a488a9a96347c222","unresolved":false,"context_lines":[{"line_number":943,"context_line":"                if model_update:"},{"line_number":944,"context_line":"                    volume.update(model_update)"},{"line_number":945,"context_line":"                    volume.save()"},{"line_number":946,"context_line":"                self.manager._create_image_cache_volume_entry("},{"line_number":947,"context_line":"                    internal_context,"},{"line_number":948,"context_line":"                    volume,"},{"line_number":949,"context_line":"                    image_id,"},{"line_number":950,"context_line":"                    image_meta)"},{"line_number":951,"context_line":"        finally:"},{"line_number":952,"context_line":"            # If we created the volume as the minimal size, extend it back to"},{"line_number":953,"context_line":"            # what was originally requested. If an exception has occurred or"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_c77a87ee","line":950,"range":{"start_line":946,"start_character":0,"end_line":950,"end_character":31},"in_reply_to":"3fa7e38b_c1b7ec21","updated":"2020-01-07 07:09:36.000000000","message":"Done","commit_id":"7026a3b2af9ae29daa483a8b88da41295f0eb6c0"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"2bccfb7f43d085a4f5f6ce21a1372557d9d741a2","unresolved":false,"context_lines":[{"line_number":865,"context_line":"                    )"},{"line_number":866,"context_line":"                except exception.SnapshotLimitReached:"},{"line_number":867,"context_line":"                    with excutils.save_and_reraise_exception():"},{"line_number":868,"context_line":"                        LOG.debug(\"Snapshot limit reached. Creating new \""},{"line_number":869,"context_line":"                                  \"image-volume.\")"},{"line_number":870,"context_line":"                except exception.CinderException as e:"},{"line_number":871,"context_line":"                    LOG.warning(\u0027Failed to create volume from image-volume \u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"3fa7e38b_bc58b956","line":868,"updated":"2020-01-07 15:08:49.000000000","message":"nit: those who aren\u0027t familiar with this patch probably won\u0027t realize the retry decorator at L967 handles this. Maybe add a comment here, so they don\u0027t think some code is missing?","commit_id":"91a3e1f2d23b1d5fb0c48316f7f30f0c15375df9"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"da11262eae304c37e16a830080a4c642f0f038e4","unresolved":false,"context_lines":[{"line_number":865,"context_line":"                    )"},{"line_number":866,"context_line":"                except exception.SnapshotLimitReached:"},{"line_number":867,"context_line":"                    with excutils.save_and_reraise_exception():"},{"line_number":868,"context_line":"                        LOG.debug(\"Snapshot limit reached. Creating new \""},{"line_number":869,"context_line":"                                  \"image-volume.\")"},{"line_number":870,"context_line":"                except exception.CinderException as e:"},{"line_number":871,"context_line":"                    LOG.warning(\u0027Failed to create volume from image-volume \u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"3fa7e38b_5fde57db","line":868,"in_reply_to":"3fa7e38b_bc58b956","updated":"2020-01-07 15:59:24.000000000","message":"Done","commit_id":"91a3e1f2d23b1d5fb0c48316f7f30f0c15375df9"}],"cinder/volume/manager.py":[{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"739166d63ff7fb9aef4bfaae7b9394df2081695b","unresolved":false,"context_lines":[{"line_number":1479,"context_line":""},{"line_number":1480,"context_line":"    def _create_image_cache_volume_entry(self, ctx, volume_ref,"},{"line_number":1481,"context_line":"                                         image_id, image_meta,"},{"line_number":1482,"context_line":"                                         force_create_cache_entry\u003dFalse):"},{"line_number":1483,"context_line":"        \"\"\"Create a new image-volume and cache entry for it."},{"line_number":1484,"context_line":""},{"line_number":1485,"context_line":"        This assumes that the image has already been downloaded and stored"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_90a4e74d","line":1482,"updated":"2020-01-02 20:13:15.000000000","message":"Hmm, this doesn\u0027t feel right to me. It seems like we\u0027re unclear on whether duplicate cache entries are allowed.\n\n\"No! Unless forced, so maybe!\"","commit_id":"233465b8c812d32c31bd1995aa618faf74e52c27"}]}
