)]}'
{"nova/virt/libvirt/imagebackend.py":[{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"2dcbdfa080d487bd25354db93727decf172fc79b","unresolved":false,"context_lines":[{"line_number":637,"context_line":"            with fileutils.remove_path_on_error(self.path):"},{"line_number":638,"context_line":"                copy_qcow2_image(base, self.path, size)"},{"line_number":639,"context_line":""},{"line_number":640,"context_line":"    def check_backing_from_func(self, func, cache_name, fallback\u003dNone):"},{"line_number":641,"context_line":"        cache \u003d imagecache.ImageCacheLocalDir.get()"},{"line_number":642,"context_line":"        missing_backing_file \u003d self._check_backing_file()"},{"line_number":643,"context_line":"        if missing_backing_file:"}],"source_content_type":"text/x-python","patch_set":7,"id":"9abb7d3a_2bdbfe1c","line":640,"range":{"start_line":640,"start_character":44,"end_line":640,"end_character":54},"updated":"2016-06-03 05:14:09.000000000","message":"Remove \u0027cache_name\u0027 from signature and add \u0027os.path.basename\u0027 call?\n\n    if missing_backing_file:\n        cache_name \u003d os.path.basename(missing_backing_file)\n        cache.get_func_output_path(func, cache_name, fallback)","commit_id":"2508fdf507ce7341f9ed4a9a8e9a97173e1b72af"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"7c5fe937f68db4603a2282b120ba4822d8228493","unresolved":false,"context_lines":[{"line_number":637,"context_line":"            with fileutils.remove_path_on_error(self.path):"},{"line_number":638,"context_line":"                copy_qcow2_image(base, self.path, size)"},{"line_number":639,"context_line":""},{"line_number":640,"context_line":"    def check_backing_from_func(self, func, cache_name, fallback\u003dNone):"},{"line_number":641,"context_line":"        cache \u003d imagecache.ImageCacheLocalDir.get()"},{"line_number":642,"context_line":"        missing_backing_file \u003d self._check_backing_file()"},{"line_number":643,"context_line":"        if missing_backing_file:"}],"source_content_type":"text/x-python","patch_set":7,"id":"9abb7d3a_ed0e17e4","line":640,"range":{"start_line":640,"start_character":44,"end_line":640,"end_character":54},"in_reply_to":"9abb7d3a_2bdbfe1c","updated":"2016-06-03 12:16:55.000000000","message":"Makes sense.","commit_id":"2508fdf507ce7341f9ed4a9a8e9a97173e1b72af"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"7c5fe937f68db4603a2282b120ba4822d8228493","unresolved":false,"context_lines":[{"line_number":647,"context_line":"        cache \u003d imagecache.ImageCacheLocalDir.get()"},{"line_number":648,"context_line":"        missing_backing_file \u003d self._check_backing_file()"},{"line_number":649,"context_line":"        if missing_backing_file:"},{"line_number":650,"context_line":"            cache.get_image_info(context, image_id, fallback)"},{"line_number":651,"context_line":""},{"line_number":652,"context_line":"    def _check_backing_file(self):"},{"line_number":653,"context_line":"        backing_path \u003d libvirt_utils.get_disk_backing_file("}],"source_content_type":"text/x-python","patch_set":7,"id":"9abb7d3a_0d771b3c","line":650,"updated":"2016-06-03 12:16:55.000000000","message":"We\u0027re missing the legacy case here. If this is an image with a legacy backing file which has been deleted, we\u0027re going to re-download the image to the non-legacy location and it still won\u0027t boot.\n\nWe need something like:\n\n  info \u003d cache.get_image_info(...)\n  if missing_backing_file !\u003d info.path:\n    do_legacy_things()\n\nThe old code would have fixed this up, so not doing it would be a regression.","commit_id":"2508fdf507ce7341f9ed4a9a8e9a97173e1b72af"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"7502848a35ac6965dfa4dd6648620bc9e2a641fc","unresolved":false,"context_lines":[{"line_number":647,"context_line":"        cache \u003d imagecache.ImageCacheLocalDir.get()"},{"line_number":648,"context_line":"        missing_backing_file \u003d self._check_backing_file()"},{"line_number":649,"context_line":"        if missing_backing_file:"},{"line_number":650,"context_line":"            cache.get_image_info(context, image_id, fallback)"},{"line_number":651,"context_line":""},{"line_number":652,"context_line":"    def _check_backing_file(self):"},{"line_number":653,"context_line":"        backing_path \u003d libvirt_utils.get_disk_backing_file("}],"source_content_type":"text/x-python","patch_set":7,"id":"9abb7d3a_686215da","line":650,"in_reply_to":"9abb7d3a_0d771b3c","updated":"2016-06-03 12:28:19.000000000","message":"Yup, this is just a WIP that I tossed up to unblock the work you\u0027re doing. I haven\u0027t tackled the legacy case yet. Hopefully later today.","commit_id":"2508fdf507ce7341f9ed4a9a8e9a97173e1b72af"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"356459a23e96e6e5901337680af6e20d6b7df579","unresolved":false,"context_lines":[{"line_number":642,"context_line":"        cache \u003d imagecache.ImageCacheLocalDir.get()"},{"line_number":643,"context_line":"        missing_backing_file \u003d self._check_backing_file()"},{"line_number":644,"context_line":"        if missing_backing_file:"},{"line_number":645,"context_line":"            cache.get_func_output_path(func, cache_name, fallback)"},{"line_number":646,"context_line":""},{"line_number":647,"context_line":"    def check_backing_from_image(self, context, image_id, fallback\u003dNone):"},{"line_number":648,"context_line":"        cache \u003d imagecache.ImageCacheLocalDir.get()"}],"source_content_type":"text/x-python","patch_set":11,"id":"7aa08908_c63d26bd","line":645,"range":{"start_line":645,"start_character":12,"end_line":645,"end_character":66},"updated":"2016-06-09 19:24:23.000000000","message":"Hmm... I wonder why we\u0027re hitting the cache directly here rather than calling create_from_func.","commit_id":"e71e8074a534d0b5dd26ee36af7542b429c2597d"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"356459a23e96e6e5901337680af6e20d6b7df579","unresolved":false,"context_lines":[{"line_number":648,"context_line":"        cache \u003d imagecache.ImageCacheLocalDir.get()"},{"line_number":649,"context_line":"        missing_backing_file \u003d self._check_backing_file()"},{"line_number":650,"context_line":"        if missing_backing_file:"},{"line_number":651,"context_line":"            cache.get_image_info(context, image_id, fallback)"},{"line_number":652,"context_line":""},{"line_number":653,"context_line":"    def _check_backing_file(self):"},{"line_number":654,"context_line":"        backing_path \u003d libvirt_utils.get_disk_backing_file("}],"source_content_type":"text/x-python","patch_set":11,"id":"7aa08908_06b60e3d","line":651,"range":{"start_line":651,"start_character":12,"end_line":651,"end_character":61},"updated":"2016-06-09 19:24:23.000000000","message":"Hmm... I wonder why we\u0027re hitting the cache directly here rather than calling create_from_image.","commit_id":"e71e8074a534d0b5dd26ee36af7542b429c2597d"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"a31da83d23d1efb9c76238db9796e25c7f6b8056","unresolved":false,"context_lines":[{"line_number":1269,"context_line":"        raise NotImplementedError()"},{"line_number":1270,"context_line":""},{"line_number":1271,"context_line":"    @abc.abstractmethod"},{"line_number":1272,"context_line":"    def check_backing(self, cache_name\u003dNone):"},{"line_number":1273,"context_line":"        raise NotImplementedError()"},{"line_number":1274,"context_line":""},{"line_number":1275,"context_line":"    def __getattr__(self, name):"}],"source_content_type":"text/x-python","patch_set":21,"id":"1aa78d24_e3dd9a15","line":1272,"updated":"2016-07-04 18:10:39.000000000","message":"Could we have another name for this method? Because backing file is a feature of the only image backend, it is not so good to have a public method mentions such details.\n\nensure_consistency, ensure_availability, etc","commit_id":"006166277050a66b613a66229dbfdec1f0e4f241"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"e5dfca33077e5a3165088d71094290d3ec8b7f4a","unresolved":false,"context_lines":[{"line_number":1269,"context_line":"        raise NotImplementedError()"},{"line_number":1270,"context_line":""},{"line_number":1271,"context_line":"    @abc.abstractmethod"},{"line_number":1272,"context_line":"    def check_backing(self, cache_name\u003dNone):"},{"line_number":1273,"context_line":"        raise NotImplementedError()"},{"line_number":1274,"context_line":""},{"line_number":1275,"context_line":"    def __getattr__(self, name):"}],"source_content_type":"text/x-python","patch_set":21,"id":"1aa78d24_ed444a1c","line":1272,"in_reply_to":"1aa78d24_e3dd9a15","updated":"2016-07-05 11:30:51.000000000","message":"Yeah, it shouldn\u0027t really be called \u0027check\u0027, because will also create a backing file. \u0027ensure\u0027 would be a better verb. However, it is explicitly exclusively about backing files. For example, it will not create the disk, only the backing file, and that\u0027s what we want. That\u0027s why it\u0027s a no-op except on qcow2. So \u0027ensure_consistency\u0027 and \u0027ensure_availability\u0027 wouldn\u0027t be appropriate, because it doesn\u0027t do either of those things: it just creates the backing file.\n\nI\u0027m inclined to employ the KISS principal and keep it explicitly about backing files until we find we want to use it for something else. At that point we can look at what we need it for in the new context and come up with a better name.\n\nI\u0027ll probably rename it to \u0027ensure_backing\u0027.","commit_id":"006166277050a66b613a66229dbfdec1f0e4f241"}]}
