)]}'
{"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"102aab2332923c394dbdabe2a428180fc14874fc","unresolved":false,"context_lines":[{"line_number":15974,"context_line":""},{"line_number":15975,"context_line":"        drvr._create_and_inject_local_root(self.context, instance_ref, False,"},{"line_number":15976,"context_line":"                                    \u0027\u0027, disk_images, [], None, [], True, None)"},{"line_number":15977,"context_line":"        self.assertFalse(mock_inject.called)"},{"line_number":15978,"context_line":""},{"line_number":15979,"context_line":"    @mock.patch(\u0027nova.virt.netutils.get_injected_network_template\u0027)"},{"line_number":15980,"context_line":"    @mock.patch(\u0027nova.virt.disk.api.inject_data\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a89bdaa_57c9c759","line":15977,"updated":"2016-09-09 02:42:22.000000000","message":"This is always going to pass because you\u0027re passing in False for booted_from_volume, so we don\u0027t even get into that block. So either pass booted_from_volume\u003dTrue or assert that the need_inject warning log message isn\u0027t logged.","commit_id":"4140077e4370aab338c6d5f447d3a8a447e5b0e4"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"de2f985b1ea618a5b65c9001f1cfb5df5fcb0c16","unresolved":false,"context_lines":[{"line_number":3029,"context_line":"        if CONF.libvirt.virt_type \u003d\u003d \u0027uml\u0027:"},{"line_number":3030,"context_line":"            libvirt_utils.chown(image(\u0027disk\u0027).path, \u0027root\u0027)"},{"line_number":3031,"context_line":""},{"line_number":3032,"context_line":"        self._prepare_disk_image(context, instance, booted_from_volume, suffix,"},{"line_number":3033,"context_line":"                                 disk_images, network_info, admin_pass, files,"},{"line_number":3034,"context_line":"                                 inject_files, fallback_from_host)"},{"line_number":3035,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_6ae450ab","line":3032,"updated":"2016-08-05 16:23:16.000000000","message":"nit: if you extract this method in a separate patch, the bug fix itself will be easier to follow","commit_id":"59945e6c2747bcdfa26f32b07a40b3f45d24b342"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0f7a92aba7fc24a7468cbaf43076a28c6a8b988f","unresolved":false,"context_lines":[{"line_number":3029,"context_line":"        if CONF.libvirt.virt_type \u003d\u003d \u0027uml\u0027:"},{"line_number":3030,"context_line":"            libvirt_utils.chown(image(\u0027disk\u0027).path, \u0027root\u0027)"},{"line_number":3031,"context_line":""},{"line_number":3032,"context_line":"        self._prepare_disk_image(context, instance, booted_from_volume, suffix,"},{"line_number":3033,"context_line":"                                 disk_images, network_info, admin_pass, files,"},{"line_number":3034,"context_line":"                                 inject_files, fallback_from_host)"},{"line_number":3035,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"fa7ab95a_a923c854","line":3032,"in_reply_to":"bacf61ea_6ae450ab","updated":"2016-08-30 14:07:42.000000000","message":"+1","commit_id":"59945e6c2747bcdfa26f32b07a40b3f45d24b342"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"64dc28bab67377a4f6251f6de30c0454336f099a","unresolved":false,"context_lines":[{"line_number":3029,"context_line":"        if CONF.libvirt.virt_type \u003d\u003d \u0027uml\u0027:"},{"line_number":3030,"context_line":"            libvirt_utils.chown(image(\u0027disk\u0027).path, \u0027root\u0027)"},{"line_number":3031,"context_line":""},{"line_number":3032,"context_line":"        self._prepare_disk_image(context, instance, booted_from_volume, suffix,"},{"line_number":3033,"context_line":"                                 disk_images, network_info, admin_pass, files,"},{"line_number":3034,"context_line":"                                 inject_files, fallback_from_host)"},{"line_number":3035,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"fa7ab95a_51d9de82","line":3032,"in_reply_to":"bacf61ea_6ae450ab","updated":"2016-08-31 01:53:06.000000000","message":"I\u0027m not entirely sure why do we need two patches that would have to get through a long review process..\n\nPrior to this change there were no tests covering this part of the code.\nThis change only separates the relevant part of the code to a testable standalone method and fixes a minor issue that is documented in the commit message.","commit_id":"59945e6c2747bcdfa26f32b07a40b3f45d24b342"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"28ad42f4b475e705dc90d72d76391f46567d2a39","unresolved":false,"context_lines":[{"line_number":3097,"context_line":"                                         size\u003dsize,"},{"line_number":3098,"context_line":"                                         swap_mb\u003dswap_mb)"},{"line_number":3099,"context_line":""},{"line_number":3100,"context_line":"    def _prepare_disk_image(self, context, instance, booted_from_volume,"},{"line_number":3101,"context_line":"                            suffix, disk_images, network_info, admin_pass,"},{"line_number":3102,"context_line":"                            files, inject_files, fallback_from_host):"},{"line_number":3103,"context_line":"        # File injection only if needed"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa7ab95a_d51a5ac5","line":3100,"updated":"2016-08-30 15:31:36.000000000","message":"_create_and_inject_local_root?","commit_id":"59945e6c2747bcdfa26f32b07a40b3f45d24b342"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"64dc28bab67377a4f6251f6de30c0454336f099a","unresolved":false,"context_lines":[{"line_number":3097,"context_line":"                                         size\u003dsize,"},{"line_number":3098,"context_line":"                                         swap_mb\u003dswap_mb)"},{"line_number":3099,"context_line":""},{"line_number":3100,"context_line":"    def _prepare_disk_image(self, context, instance, booted_from_volume,"},{"line_number":3101,"context_line":"                            suffix, disk_images, network_info, admin_pass,"},{"line_number":3102,"context_line":"                            files, inject_files, fallback_from_host):"},{"line_number":3103,"context_line":"        # File injection only if needed"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa7ab95a_f610285c","line":3100,"in_reply_to":"fa7ab95a_d51a5ac5","updated":"2016-08-31 01:53:06.000000000","message":"much better, thanks Matt.","commit_id":"59945e6c2747bcdfa26f32b07a40b3f45d24b342"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"de2f985b1ea618a5b65c9001f1cfb5df5fcb0c16","unresolved":false,"context_lines":[{"line_number":3101,"context_line":"                            suffix, disk_images, network_info, admin_pass,"},{"line_number":3102,"context_line":"                            files, inject_files, fallback_from_host):"},{"line_number":3103,"context_line":"        # File injection only if needed"},{"line_number":3104,"context_line":"        need_inject \u003d (not configdrive.required_by(instance) and"},{"line_number":3105,"context_line":"                       inject_files and CONF.libvirt.inject_partition !\u003d -2)"},{"line_number":3106,"context_line":""},{"line_number":3107,"context_line":"        # NOTE(ndipanov): Even if disk_mapping was passed in, which"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_8a68a4f6","line":3104,"updated":"2016-08-05 16:23:16.000000000","message":"As I understand this is the only change and looks like configdrive.required_by() covers both forced config drive and requested by user / image","commit_id":"59945e6c2747bcdfa26f32b07a40b3f45d24b342"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"64dc28bab67377a4f6251f6de30c0454336f099a","unresolved":false,"context_lines":[{"line_number":3101,"context_line":"                            suffix, disk_images, network_info, admin_pass,"},{"line_number":3102,"context_line":"                            files, inject_files, fallback_from_host):"},{"line_number":3103,"context_line":"        # File injection only if needed"},{"line_number":3104,"context_line":"        need_inject \u003d (not configdrive.required_by(instance) and"},{"line_number":3105,"context_line":"                       inject_files and CONF.libvirt.inject_partition !\u003d -2)"},{"line_number":3106,"context_line":""},{"line_number":3107,"context_line":"        # NOTE(ndipanov): Even if disk_mapping was passed in, which"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa7ab95a_91e36633","line":3104,"in_reply_to":"bacf61ea_8a68a4f6","updated":"2016-08-31 01:53:06.000000000","message":"Yes, exactly.","commit_id":"59945e6c2747bcdfa26f32b07a40b3f45d24b342"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a692b41d7cedda5e4ce7e9037d9a086239014cf4","unresolved":false,"context_lines":[{"line_number":3029,"context_line":"        if CONF.libvirt.virt_type \u003d\u003d \u0027uml\u0027:"},{"line_number":3030,"context_line":"            libvirt_utils.chown(image(\u0027disk\u0027).path, \u0027root\u0027)"},{"line_number":3031,"context_line":""},{"line_number":3032,"context_line":"        self._create_and_inject_local_root(context, instance,"},{"line_number":3033,"context_line":"                                 booted_from_volume, suffix, disk_images,"},{"line_number":3034,"context_line":"                                 network_info, admin_pass, files, inject_files,"},{"line_number":3035,"context_line":"                                 fallback_from_host)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa7ab95a_f0823e51","line":3032,"updated":"2016-09-02 13:53:24.000000000","message":"Pulling this large block of code out into a separate method is nice but should have been reserved for a follow on cleanup change, not in this bug fix patch where it makes it really hard to see what the actual bug fix is since it\u0027s mixed in with the refactor.","commit_id":"db521aea733f2038e6c4c787a385912dce189d68"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"e59939ec7c741f87fe8b6f5256732cfb5fcf6182","unresolved":false,"context_lines":[{"line_number":3029,"context_line":"        if CONF.libvirt.virt_type \u003d\u003d \u0027uml\u0027:"},{"line_number":3030,"context_line":"            libvirt_utils.chown(image(\u0027disk\u0027).path, \u0027root\u0027)"},{"line_number":3031,"context_line":""},{"line_number":3032,"context_line":"        self._create_and_inject_local_root(context, instance,"},{"line_number":3033,"context_line":"                                 booted_from_volume, suffix, disk_images,"},{"line_number":3034,"context_line":"                                 network_info, admin_pass, files, inject_files,"},{"line_number":3035,"context_line":"                                 fallback_from_host)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa7ab95a_51704ca4","line":3032,"in_reply_to":"fa7ab95a_f0823e51","updated":"2016-09-02 14:40:52.000000000","message":"This part of the code has no unit tests. \nFixing only the bug itself, without separating the code to its own method will make it very hard to test it.\n\nThe only thing that has been changed was the addition of \nnot configdrive.required_by(instance)\non line 3106.\n\nor do you want me to add clean up patch before the fix itself?","commit_id":"db521aea733f2038e6c4c787a385912dce189d68"}]}
