)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"73d3abadb8fd1d1d357875a96534336812c2c453","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"snapshot and image didn\u0027t accurately describe what the methods did."},{"line_number":10,"context_line":"snapshot in particular suggested that the returned object was in some"},{"line_number":11,"context_line":"way specific to a snapshop, whereas snapshot was simply the only user."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"We also take the opportunity to rename all variables we touch in"},{"line_number":14,"context_line":"driver to refer to disks rather than images."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"7a77a97e_4754b153","line":11,"updated":"2016-11-15 01:27:07.000000000","message":"s/snapshop/snapshot/\n\n(though snapshop definitely sounds like some new hipster app out of silly valley.)","commit_id":"50f59861e98529be766d8136f0a25c0b95631c8b"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"7f86fa06e0ccf5a951ef2679b2c3ecb002b9b819","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"snapshot and image didn\u0027t accurately describe what the methods did."},{"line_number":10,"context_line":"snapshot in particular suggested that the returned object was in some"},{"line_number":11,"context_line":"way specific to a snapshop, whereas snapshot was simply the only user."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"We also take the opportunity to rename all variables we touch in"},{"line_number":14,"context_line":"driver to refer to disks rather than images."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"7a77a97e_c1c7c362","line":11,"in_reply_to":"7a77a97e_4754b153","updated":"2016-11-21 16:30:04.000000000","message":"Done","commit_id":"50f59861e98529be766d8136f0a25c0b95631c8b"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"c588cff24dfe9936cf5627211188349e5fa47cfd","unresolved":false,"context_lines":[{"line_number":1539,"context_line":"        self._prepare_domain_for_snapshot(context, live_snapshot, state,"},{"line_number":1540,"context_line":"                                          instance)"},{"line_number":1541,"context_line":""},{"line_number":1542,"context_line":"        snapshot_disk \u003d self.image_backend.by_libvirt_path("},{"line_number":1543,"context_line":"            instance, disk_path, image_type\u003dsource_type)"},{"line_number":1544,"context_line":""},{"line_number":1545,"context_line":"        if live_snapshot:"}],"source_content_type":"text/x-python","patch_set":17,"id":"9a89bdaa_a0f298d0","line":1542,"range":{"start_line":1542,"start_character":8,"end_line":1542,"end_character":21},"updated":"2016-09-05 18:10:45.000000000","message":"root_disk whould be better, imho","commit_id":"9ae5f541e18c4f2c7b3cc7795600da71c98bb821"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"000eb7559c2e4e643494c009b39081e0e955ca2d","unresolved":false,"context_lines":[{"line_number":1539,"context_line":"        self._prepare_domain_for_snapshot(context, live_snapshot, state,"},{"line_number":1540,"context_line":"                                          instance)"},{"line_number":1541,"context_line":""},{"line_number":1542,"context_line":"        snapshot_disk \u003d self.image_backend.by_libvirt_path("},{"line_number":1543,"context_line":"            instance, disk_path, image_type\u003dsource_type)"},{"line_number":1544,"context_line":""},{"line_number":1545,"context_line":"        if live_snapshot:"}],"source_content_type":"text/x-python","patch_set":17,"id":"9a89bdaa_f229bf8a","line":1542,"range":{"start_line":1542,"start_character":8,"end_line":1542,"end_character":21},"in_reply_to":"9a89bdaa_a0f298d0","updated":"2016-09-06 09:43:50.000000000","message":"True. I\u0027m not going to get exercised by this, though. I\u0027ve sorta cleaned these things up incrementally throughout the series.","commit_id":"9ae5f541e18c4f2c7b3cc7795600da71c98bb821"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"59087e59925290296b3fc79e22d449e508299d6a","unresolved":false,"context_lines":[{"line_number":1539,"context_line":"        self._prepare_domain_for_snapshot(context, live_snapshot, state,"},{"line_number":1540,"context_line":"                                          instance)"},{"line_number":1541,"context_line":""},{"line_number":1542,"context_line":"        snapshot_disk \u003d self.image_backend.by_libvirt_path("},{"line_number":1543,"context_line":"            instance, disk_path, image_type\u003dsource_type)"},{"line_number":1544,"context_line":""},{"line_number":1545,"context_line":"        if live_snapshot:"}],"source_content_type":"text/x-python","patch_set":17,"id":"9a89bdaa_721cbd77","line":1542,"range":{"start_line":1542,"start_character":8,"end_line":1542,"end_character":21},"in_reply_to":"9a89bdaa_f229bf8a","updated":"2016-09-06 15:28:57.000000000","message":"Are you sure you are going to clean this method (snapshot) again in the series? I\u0027m not -1ing this patch by this name, but change from one bad name to another one is not a kind of cleanup for me.","commit_id":"9ae5f541e18c4f2c7b3cc7795600da71c98bb821"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"c588cff24dfe9936cf5627211188349e5fa47cfd","unresolved":false,"context_lines":[{"line_number":3012,"context_line":"        booted_from_volume \u003d self._is_booted_from_volume("},{"line_number":3013,"context_line":"            instance, disk_mapping)"},{"line_number":3014,"context_line":""},{"line_number":3015,"context_line":"        def image(fname, image_type\u003dCONF.libvirt.images_type):"},{"line_number":3016,"context_line":"            return self.image_backend.by_name(instance,"},{"line_number":3017,"context_line":"                                              fname + suffix, image_type)"},{"line_number":3018,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"9a89bdaa_c0a95c7d","line":3015,"range":{"start_line":3015,"start_character":12,"end_line":3015,"end_character":17},"updated":"2016-09-05 18:10:45.000000000","message":"You do not want to rename all these image, disk_image, etc?","commit_id":"9ae5f541e18c4f2c7b3cc7795600da71c98bb821"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"59087e59925290296b3fc79e22d449e508299d6a","unresolved":false,"context_lines":[{"line_number":3012,"context_line":"        booted_from_volume \u003d self._is_booted_from_volume("},{"line_number":3013,"context_line":"            instance, disk_mapping)"},{"line_number":3014,"context_line":""},{"line_number":3015,"context_line":"        def image(fname, image_type\u003dCONF.libvirt.images_type):"},{"line_number":3016,"context_line":"            return self.image_backend.by_name(instance,"},{"line_number":3017,"context_line":"                                              fname + suffix, image_type)"},{"line_number":3018,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"9a89bdaa_1f31ba05","line":3015,"range":{"start_line":3015,"start_character":12,"end_line":3015,"end_character":17},"in_reply_to":"9a89bdaa_723dafba","updated":"2016-09-06 15:28:57.000000000","message":"i had not seen one of the next patches, where almost all locals of this function is renamed","commit_id":"9ae5f541e18c4f2c7b3cc7795600da71c98bb821"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"000eb7559c2e4e643494c009b39081e0e955ca2d","unresolved":false,"context_lines":[{"line_number":3012,"context_line":"        booted_from_volume \u003d self._is_booted_from_volume("},{"line_number":3013,"context_line":"            instance, disk_mapping)"},{"line_number":3014,"context_line":""},{"line_number":3015,"context_line":"        def image(fname, image_type\u003dCONF.libvirt.images_type):"},{"line_number":3016,"context_line":"            return self.image_backend.by_name(instance,"},{"line_number":3017,"context_line":"                                              fname + suffix, image_type)"},{"line_number":3018,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"9a89bdaa_723dafba","line":3015,"range":{"start_line":3015,"start_character":12,"end_line":3015,"end_character":17},"in_reply_to":"9a89bdaa_c0a95c7d","updated":"2016-09-06 09:43:50.000000000","message":"Not worth it. This function is removed entirely in a couple of patches.\n\nRemember this is all incremental.","commit_id":"9ae5f541e18c4f2c7b3cc7795600da71c98bb821"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"6b909ff80a007eafdbc89082eee21c5103764440","unresolved":false,"context_lines":[{"line_number":6649,"context_line":"                # Creating backing file follows same way as spawning instances."},{"line_number":6650,"context_line":"                cache_name \u003d os.path.basename(info[\u0027backing_file\u0027])"},{"line_number":6651,"context_line":""},{"line_number":6652,"context_line":"                disk \u003d self.image_backend.by_name(instance, instance_disk,"},{"line_number":6653,"context_line":"                                                  CONF.libvirt.images_type)"},{"line_number":6654,"context_line":"                if cache_name.startswith(\u0027ephemeral\u0027):"},{"line_number":6655,"context_line":"                    disk.cache(fetch_func\u003dself._create_ephemeral,"}],"source_content_type":"text/x-python","patch_set":17,"id":"9a89bdaa_095e0376","line":6652,"updated":"2016-09-06 07:48:32.000000000","message":"instance_disk is not a disk name, but a file full name (L6644). How does this work?","commit_id":"9ae5f541e18c4f2c7b3cc7795600da71c98bb821"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"000eb7559c2e4e643494c009b39081e0e955ca2d","unresolved":false,"context_lines":[{"line_number":6649,"context_line":"                # Creating backing file follows same way as spawning instances."},{"line_number":6650,"context_line":"                cache_name \u003d os.path.basename(info[\u0027backing_file\u0027])"},{"line_number":6651,"context_line":""},{"line_number":6652,"context_line":"                disk \u003d self.image_backend.by_name(instance, instance_disk,"},{"line_number":6653,"context_line":"                                                  CONF.libvirt.images_type)"},{"line_number":6654,"context_line":"                if cache_name.startswith(\u0027ephemeral\u0027):"},{"line_number":6655,"context_line":"                    disk.cache(fetch_func\u003dself._create_ephemeral,"}],"source_content_type":"text/x-python","patch_set":17,"id":"9a89bdaa_72c04f7d","line":6652,"in_reply_to":"9a89bdaa_095e0376","updated":"2016-09-06 09:43:50.000000000","message":"See a later patch when I clean this up :) It was in fact exactly this change which made me notice this. It does work by coincidence, but I completely agree this is a bug. It\u0027s not a bug in *this* patch, though, so I\u0027m not going to fix it here.","commit_id":"9ae5f541e18c4f2c7b3cc7795600da71c98bb821"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"59087e59925290296b3fc79e22d449e508299d6a","unresolved":false,"context_lines":[{"line_number":6649,"context_line":"                # Creating backing file follows same way as spawning instances."},{"line_number":6650,"context_line":"                cache_name \u003d os.path.basename(info[\u0027backing_file\u0027])"},{"line_number":6651,"context_line":""},{"line_number":6652,"context_line":"                disk \u003d self.image_backend.by_name(instance, instance_disk,"},{"line_number":6653,"context_line":"                                                  CONF.libvirt.images_type)"},{"line_number":6654,"context_line":"                if cache_name.startswith(\u0027ephemeral\u0027):"},{"line_number":6655,"context_line":"                    disk.cache(fetch_func\u003dself._create_ephemeral,"}],"source_content_type":"text/x-python","patch_set":17,"id":"9a89bdaa_3555bf1c","line":6652,"in_reply_to":"9a89bdaa_72c04f7d","updated":"2016-09-06 15:28:57.000000000","message":"ok. just wanted to make sure that this is known for you","commit_id":"9ae5f541e18c4f2c7b3cc7795600da71c98bb821"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"37d5973bb582320becbbe0a8bfe83dfa975e1605","unresolved":false,"context_lines":[{"line_number":1498,"context_line":"        self._prepare_domain_for_snapshot(context, live_snapshot, state,"},{"line_number":1499,"context_line":"                                          instance)"},{"line_number":1500,"context_line":""},{"line_number":1501,"context_line":"        snapshot_disk \u003d self.image_backend.by_libvirt_path("},{"line_number":1502,"context_line":"            instance, disk_path, image_type\u003dsource_type)"},{"line_number":1503,"context_line":""},{"line_number":1504,"context_line":"        if live_snapshot:"}],"source_content_type":"text/x-python","patch_set":18,"id":"9a629dbe_3aab5dd8","line":1501,"range":{"start_line":1501,"start_character":8,"end_line":1501,"end_character":21},"updated":"2016-11-13 07:16:40.000000000","message":"I\u0027ts a pity, that you don\u0027t like root_disk here. It\u0027d be much better, imho.","commit_id":"50f59861e98529be766d8136f0a25c0b95631c8b"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"7de09081ac14625e87a0496517cf5b153f0094fc","unresolved":false,"context_lines":[{"line_number":1498,"context_line":"        self._prepare_domain_for_snapshot(context, live_snapshot, state,"},{"line_number":1499,"context_line":"                                          instance)"},{"line_number":1500,"context_line":""},{"line_number":1501,"context_line":"        snapshot_disk \u003d self.image_backend.by_libvirt_path("},{"line_number":1502,"context_line":"            instance, disk_path, image_type\u003dsource_type)"},{"line_number":1503,"context_line":""},{"line_number":1504,"context_line":"        if live_snapshot:"}],"source_content_type":"text/x-python","patch_set":18,"id":"7a77a97e_073556f6","line":1501,"range":{"start_line":1501,"start_character":8,"end_line":1501,"end_character":21},"in_reply_to":"7a77a97e_27a41556","updated":"2016-11-21 16:29:38.000000000","message":"I can\u0027t remember what my previous objection was :) Probably trying to minimise this change because it\u0027s not strictly related.\n\nI agree it\u0027s better, anyway, so I\u0027ll just update.","commit_id":"50f59861e98529be766d8136f0a25c0b95631c8b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"73d3abadb8fd1d1d357875a96534336812c2c453","unresolved":false,"context_lines":[{"line_number":1498,"context_line":"        self._prepare_domain_for_snapshot(context, live_snapshot, state,"},{"line_number":1499,"context_line":"                                          instance)"},{"line_number":1500,"context_line":""},{"line_number":1501,"context_line":"        snapshot_disk \u003d self.image_backend.by_libvirt_path("},{"line_number":1502,"context_line":"            instance, disk_path, image_type\u003dsource_type)"},{"line_number":1503,"context_line":""},{"line_number":1504,"context_line":"        if live_snapshot:"}],"source_content_type":"text/x-python","patch_set":18,"id":"7a77a97e_27a41556","line":1501,"range":{"start_line":1501,"start_character":8,"end_line":1501,"end_character":21},"in_reply_to":"9a629dbe_3aab5dd8","updated":"2016-11-15 01:27:07.000000000","message":"I agree with Feodor here, actually enough to -1 this. We use root_disk to refer to essentially the same thing above on line 1084 and it would read much clearer if below on line 1516 and elsewheer you would be doing:\n\n metadata[\u0027location\u0027] \u003d root_disk.direct_snapshot(","commit_id":"50f59861e98529be766d8136f0a25c0b95631c8b"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"37d5973bb582320becbbe0a8bfe83dfa975e1605","unresolved":false,"context_lines":[{"line_number":3430,"context_line":"            # remove this fall back once we know all config drives are in rbd."},{"line_number":3431,"context_line":"            # NOTE(vladikr): make sure that the flat image exist, otherwise"},{"line_number":3432,"context_line":"            # the image will be created after the domain definition."},{"line_number":3433,"context_line":"            flat_image \u003d self.image_backend.by_name(instance, name, \u0027flat\u0027)"},{"line_number":3434,"context_line":"            if flat_image.exists():"},{"line_number":3435,"context_line":"                disk \u003d flat_image"},{"line_number":3436,"context_line":"                LOG.debug(\u0027Config drive not found in RBD, falling back to the \u0027"}],"source_content_type":"text/x-python","patch_set":18,"id":"9a629dbe_7ab5d52f","line":3433,"range":{"start_line":3433,"start_character":12,"end_line":3433,"end_character":22},"updated":"2016-11-13 07:16:40.000000000","message":"flat_disk?","commit_id":"50f59861e98529be766d8136f0a25c0b95631c8b"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"7de09081ac14625e87a0496517cf5b153f0094fc","unresolved":false,"context_lines":[{"line_number":3430,"context_line":"            # remove this fall back once we know all config drives are in rbd."},{"line_number":3431,"context_line":"            # NOTE(vladikr): make sure that the flat image exist, otherwise"},{"line_number":3432,"context_line":"            # the image will be created after the domain definition."},{"line_number":3433,"context_line":"            flat_image \u003d self.image_backend.by_name(instance, name, \u0027flat\u0027)"},{"line_number":3434,"context_line":"            if flat_image.exists():"},{"line_number":3435,"context_line":"                disk \u003d flat_image"},{"line_number":3436,"context_line":"                LOG.debug(\u0027Config drive not found in RBD, falling back to the \u0027"}],"source_content_type":"text/x-python","patch_set":18,"id":"7a77a97e_a1f567cc","line":3433,"range":{"start_line":3433,"start_character":12,"end_line":3433,"end_character":22},"in_reply_to":"7a77a97e_27bb3574","updated":"2016-11-21 16:29:38.000000000","message":"As above.","commit_id":"50f59861e98529be766d8136f0a25c0b95631c8b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"73d3abadb8fd1d1d357875a96534336812c2c453","unresolved":false,"context_lines":[{"line_number":3430,"context_line":"            # remove this fall back once we know all config drives are in rbd."},{"line_number":3431,"context_line":"            # NOTE(vladikr): make sure that the flat image exist, otherwise"},{"line_number":3432,"context_line":"            # the image will be created after the domain definition."},{"line_number":3433,"context_line":"            flat_image \u003d self.image_backend.by_name(instance, name, \u0027flat\u0027)"},{"line_number":3434,"context_line":"            if flat_image.exists():"},{"line_number":3435,"context_line":"                disk \u003d flat_image"},{"line_number":3436,"context_line":"                LOG.debug(\u0027Config drive not found in RBD, falling back to the \u0027"}],"source_content_type":"text/x-python","patch_set":18,"id":"7a77a97e_27bb3574","line":3433,"range":{"start_line":3433,"start_character":12,"end_line":3433,"end_character":22},"in_reply_to":"9a629dbe_7ab5d52f","updated":"2016-11-15 01:27:07.000000000","message":"++","commit_id":"50f59861e98529be766d8136f0a25c0b95631c8b"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"37d5973bb582320becbbe0a8bfe83dfa975e1605","unresolved":false,"context_lines":[{"line_number":6693,"context_line":"                                                info[\u0027virt_disk_size\u0027],"},{"line_number":6694,"context_line":"                                                fallback_from_host)"},{"line_number":6695,"context_line":""},{"line_number":6696,"context_line":"        # if disk has kernel and ramdisk, just download"},{"line_number":6697,"context_line":"        # following normal way."},{"line_number":6698,"context_line":"        self._fetch_instance_kernel_ramdisk("},{"line_number":6699,"context_line":"            context, instance, fallback_from_host\u003dfallback_from_host)"}],"source_content_type":"text/x-python","patch_set":18,"id":"9a629dbe_da7a6177","line":6696,"range":{"start_line":6696,"start_character":13,"end_line":6696,"end_character":17},"updated":"2016-11-13 07:16:40.000000000","message":"probably no need to change this, because the object which _has_ kernel/ramdisk is an image. whereas a disk knows nothing about them","commit_id":"50f59861e98529be766d8136f0a25c0b95631c8b"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"a74ba585b1b2bb1664554df79311d4b5ffe08e2d","unresolved":false,"context_lines":[{"line_number":6732,"context_line":"                                                info[\u0027virt_disk_size\u0027],"},{"line_number":6733,"context_line":"                                                fallback_from_host)"},{"line_number":6734,"context_line":""},{"line_number":6735,"context_line":"        # if disk has kernel and ramdisk, just download"},{"line_number":6736,"context_line":"        # following normal way."},{"line_number":6737,"context_line":"        self._fetch_instance_kernel_ramdisk("},{"line_number":6738,"context_line":"            context, instance, fallback_from_host\u003dfallback_from_host)"}],"source_content_type":"text/x-python","patch_set":20,"id":"7a77a97e_bf02e2b2","line":6735,"updated":"2016-11-21 17:18:29.000000000","message":"I still think that this change is not very good semantically. Because disk does not have kernel/ramdisk (or links onto them), in opposition to image. Moreover, looking at the interface (and implementation) of _fetch_instance_kernel_ramdisk, i think \u0027if instance uses...\u0027 would be better even than the old version.","commit_id":"540058627452ce5759d86905665363c7ba0b094b"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"93f4840a2aa915f14909b12a381aa26d9e386a47","unresolved":false,"context_lines":[{"line_number":6732,"context_line":"                                                info[\u0027virt_disk_size\u0027],"},{"line_number":6733,"context_line":"                                                fallback_from_host)"},{"line_number":6734,"context_line":""},{"line_number":6735,"context_line":"        # if disk has kernel and ramdisk, just download"},{"line_number":6736,"context_line":"        # following normal way."},{"line_number":6737,"context_line":"        self._fetch_instance_kernel_ramdisk("},{"line_number":6738,"context_line":"            context, instance, fallback_from_host\u003dfallback_from_host)"}],"source_content_type":"text/x-python","patch_set":20,"id":"5a74a57a_8f542922","line":6735,"in_reply_to":"7a77a97e_bf02e2b2","updated":"2016-11-29 17:40:39.000000000","message":"Yeah, it should be instance. I haven\u0027t broken it, though, just mechanically changed it to New Broken(tm) in line with the rename. I\u0027d prefer not to respin for this if you can forgive the nit.","commit_id":"540058627452ce5759d86905665363c7ba0b094b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"87e34096de2258aad311106610d358b34af47c5a","unresolved":false,"context_lines":[{"line_number":1530,"context_line":"            if failed_snap:"},{"line_number":1531,"context_line":"                failed_snap \u003d {\u0027url\u0027: str(failed_snap)}"},{"line_number":1532,"context_line":"            root_disk.cleanup_direct_snapshot(failed_snap,"},{"line_number":1533,"context_line":"                                                  also_destroy_volume\u003dTrue,"},{"line_number":1534,"context_line":"                                                  ignore_errors\u003dTrue)"},{"line_number":1535,"context_line":"            update_task_state(task_state\u003dtask_states.IMAGE_PENDING_UPLOAD,"},{"line_number":1536,"context_line":"                              expected_state\u003dtask_states.IMAGE_UPLOADING)"}],"source_content_type":"text/x-python","patch_set":21,"id":"3a71b18c_c9235a04","line":1533,"updated":"2016-12-01 21:51:31.000000000","message":"feel free to clean up this indentation later...","commit_id":"c802bf3ddc1a22d6ce6f3c40fe406a6f0923fdc8"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"87e34096de2258aad311106610d358b34af47c5a","unresolved":false,"context_lines":[{"line_number":6720,"context_line":"                    inst_type \u003d instance.get_flavor()"},{"line_number":6721,"context_line":"                    swap_mb \u003d inst_type.swap"},{"line_number":6722,"context_line":"                    disk.cache(fetch_func\u003dself._create_swap,"},{"line_number":6723,"context_line":"                                filename\u003d\"swap_%s\" % swap_mb,"},{"line_number":6724,"context_line":"                                size\u003dswap_mb * units.Mi,"},{"line_number":6725,"context_line":"                                swap_mb\u003dswap_mb)"},{"line_number":6726,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":21,"id":"3a71b18c_091e32ba","line":6723,"updated":"2016-12-01 21:51:31.000000000","message":"indentation to clean up laters.","commit_id":"c802bf3ddc1a22d6ce6f3c40fe406a6f0923fdc8"}]}
