)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dd2c44487c69371e0335794905368554c83a85f2","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"libvirt: Use the recreated config disk during a rescue"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"I931421ea68 introduced the recreation of this drive but did not ensure"},{"line_number":10,"context_line":"that the drive itself would be mapped to the rescued instance."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Closes-bug: #1597669"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"7a8ec9b2_ae68ae88","line":9,"updated":"2016-09-15 00:45:27.000000000","message":"I\u0027m not the sharpest tool in the shed and I\u0027m having a hard time following what the bug is and how this change fixes it, can you spell it out a bit more for me?","commit_id":"b8f9bd027d1384daeeb72d7f7cf917f19e58bc76"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"f27fa617568bec9f3aa9b08fc8e400d252807d36","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"libvirt: Use the recreated config disk during a rescue"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"I931421ea68 introduced the recreation of this drive but did not ensure"},{"line_number":10,"context_line":"that the drive itself would be mapped to the rescued instance."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Closes-bug: #1597669"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"7a8ec9b2_4100cdaa","line":9,"in_reply_to":"7a8ec9b2_ae68ae88","updated":"2016-09-15 09:49:06.000000000","message":"Done","commit_id":"b8f9bd027d1384daeeb72d7f7cf917f19e58bc76"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"aae23a8fc30a20a41594983bc0deee5b5bdc5347","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"I931421ea introduced a callback to _create_configdrive from"},{"line_number":10,"context_line":"_create_domain during a rescue that recreates the config disk of an"},{"line_number":11,"context_line":"instance with an additional .rescue suffix. However neither the original"},{"line_number":12,"context_line":"or this recreated config disk are mapped to the instance during the"},{"line_number":13,"context_line":"resulting rescue."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"To correct this disk.config.rescue is now added to the disk_mapping for"},{"line_number":16,"context_line":"the instance if a config disk is required during a rescue. This then"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"7a8ec9b2_b478db2c","line":13,"range":{"start_line":11,"start_character":44,"end_line":13,"end_character":17},"updated":"2016-09-15 15:57:33.000000000","message":"So, to me this sounds like regardless of I931421ea we just never had the proper rescue config disk mapping and this was a latent bug and not a regression?","commit_id":"3a7eb2f2751aa26030bab751cc78ce56f6578c4d"}],"nova/tests/unit/virt/libvirt/test_blockinfo.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dd2c44487c69371e0335794905368554c83a85f2","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        instance_ref \u003d objects.Instance()"},{"line_number":232,"context_line":"        image_meta \u003d objects.ImageMeta.from_dict(self.test_image_meta)"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        with mock.patch.object(nova.virt.configdrive, \u0027required_by\u0027,"},{"line_number":235,"context_line":"                               return_value\u003dFalse):"},{"line_number":236,"context_line":"            mapping \u003d blockinfo.get_disk_mapping(\"kvm\", instance_ref,"},{"line_number":237,"context_line":"                                                 \"virtio\", \"ide\","}],"source_content_type":"text/x-python","patch_set":11,"id":"7a8ec9b2_4efacabe","line":234,"updated":"2016-09-15 00:45:27.000000000","message":"It\u0027s probably easier to just create the instance_ref above with config_drive\u003dFalse.","commit_id":"b8f9bd027d1384daeeb72d7f7cf917f19e58bc76"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"f27fa617568bec9f3aa9b08fc8e400d252807d36","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        instance_ref \u003d objects.Instance()"},{"line_number":232,"context_line":"        image_meta \u003d objects.ImageMeta.from_dict(self.test_image_meta)"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        with mock.patch.object(nova.virt.configdrive, \u0027required_by\u0027,"},{"line_number":235,"context_line":"                               return_value\u003dFalse):"},{"line_number":236,"context_line":"            mapping \u003d blockinfo.get_disk_mapping(\"kvm\", instance_ref,"},{"line_number":237,"context_line":"                                                 \"virtio\", \"ide\","}],"source_content_type":"text/x-python","patch_set":11,"id":"7a8ec9b2_c113fd0b","line":234,"in_reply_to":"7a8ec9b2_4efacabe","updated":"2016-09-15 09:49:06.000000000","message":"Unfortunately that doesn\u0027t work thanks to the  instance.image_meta.properties.get(\"img_config_drive\", fields.ConfigDrivePolicy.OPTIONAL) lookup in the required_by method. \n\nI\u0027ll just use self.test_instance, setting config_drive to True before using it to create the instance object.","commit_id":"b8f9bd027d1384daeeb72d7f7cf917f19e58bc76"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dd2c44487c69371e0335794905368554c83a85f2","unresolved":false,"context_lines":[{"line_number":253,"context_line":"        instance_ref \u003d objects.Instance()"},{"line_number":254,"context_line":"        image_meta \u003d objects.ImageMeta.from_dict(self.test_image_meta)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        with mock.patch.object(nova.virt.configdrive, \u0027required_by\u0027,"},{"line_number":257,"context_line":"                               return_value\u003dTrue):"},{"line_number":258,"context_line":"            mapping \u003d blockinfo.get_disk_mapping(\"kvm\", instance_ref,"},{"line_number":259,"context_line":"                                                 \"virtio\", \"ide\","}],"source_content_type":"text/x-python","patch_set":11,"id":"7a8ec9b2_ce2c1a4d","line":256,"updated":"2016-09-15 00:45:27.000000000","message":"Easier if you just create instance_ref with config_drive\u003dTrue.","commit_id":"b8f9bd027d1384daeeb72d7f7cf917f19e58bc76"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0b8d33edc5232768f32cc1a413a725891b5fe31f","unresolved":false,"context_lines":[{"line_number":248,"context_line":"    def test_get_disk_mapping_rescue_with_config(self):"},{"line_number":249,"context_line":"        # A simple disk mapping setup, but in rescue mode with a config drive"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"        test_instance_with_config \u003d self.test_instance"},{"line_number":252,"context_line":"        test_instance_with_config[\u0027config_drive\u0027] \u003d True"},{"line_number":253,"context_line":"        instance_ref \u003d objects.Instance(**test_instance_with_config)"},{"line_number":254,"context_line":"        image_meta \u003d objects.ImageMeta.from_dict(self.test_image_meta)"}],"source_content_type":"text/x-python","patch_set":16,"id":"7a8ec9b2_619b09ca","line":251,"range":{"start_line":251,"start_character":36,"end_line":251,"end_character":54},"updated":"2016-09-21 01:12:04.000000000","message":"I\u0027m not sure about this, if you should copy it, or do like the test above and use:\n\nobjects.Instance(**self.test_instance)\n\nThat\u0027s the problem with using global test vars for a test and running concurrently.\n\nThis *should* be OK since self.test_instance is only created in setUp and that\u0027s run separately for each test.","commit_id":"8795b206247fe2ca57f32c437d72c51492637649"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"1537d8143496fd6a12e78afed56ae4f3f75fc4ae","unresolved":false,"context_lines":[{"line_number":248,"context_line":"    def test_get_disk_mapping_rescue_with_config(self):"},{"line_number":249,"context_line":"        # A simple disk mapping setup, but in rescue mode with a config drive"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"        test_instance_with_config \u003d self.test_instance"},{"line_number":252,"context_line":"        test_instance_with_config[\u0027config_drive\u0027] \u003d True"},{"line_number":253,"context_line":"        instance_ref \u003d objects.Instance(**test_instance_with_config)"},{"line_number":254,"context_line":"        image_meta \u003d objects.ImageMeta.from_dict(self.test_image_meta)"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a98d1f4_46ee6a8c","line":251,"range":{"start_line":251,"start_character":36,"end_line":251,"end_character":54},"in_reply_to":"7a8ec9b2_619b09ca","updated":"2016-09-28 22:23:35.000000000","message":"I thought the member variables are per test instance so it should be fine. But yeah, usually this would be like:\n\n instance \u003d objects.Instance(**self.test_instance)\n instance.config_drive \u003d True","commit_id":"8795b206247fe2ca57f32c437d72c51492637649"}],"nova/virt/libvirt/blockinfo.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dd2c44487c69371e0335794905368554c83a85f2","unresolved":false,"context_lines":[{"line_number":522,"context_line":"                                     disk_bus)"},{"line_number":523,"context_line":"        mapping[\u0027disk\u0027] \u003d os_info"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"        if configdrive.required_by(instance):"},{"line_number":526,"context_line":"            device_type \u003d get_config_drive_type()"},{"line_number":527,"context_line":"            disk_bus \u003d get_disk_bus_for_device_type(instance,"},{"line_number":528,"context_line":"                                                    virt_type,"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a8ec9b2_aec42e5f","line":525,"updated":"2016-09-15 00:45:27.000000000","message":"This is the part that\u0027s mostly confusing me about the commit message, as it\u0027s pointing to the change that does the callback for the config drive stuff, so how did that change the flow that now makes this required? I\u0027d like some detail on that and why this now fixes the issue.\n\nOn a side note, this huge ass method is something I\u0027d like to seen cleanup at some point, I think an easy win (in ocata) is simply pulling this \"if rescue\" block out into a private method since it returns at the end of the block anyway.","commit_id":"b8f9bd027d1384daeeb72d7f7cf917f19e58bc76"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"f27fa617568bec9f3aa9b08fc8e400d252807d36","unresolved":false,"context_lines":[{"line_number":522,"context_line":"                                     disk_bus)"},{"line_number":523,"context_line":"        mapping[\u0027disk\u0027] \u003d os_info"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"        if configdrive.required_by(instance):"},{"line_number":526,"context_line":"            device_type \u003d get_config_drive_type()"},{"line_number":527,"context_line":"            disk_bus \u003d get_disk_bus_for_device_type(instance,"},{"line_number":528,"context_line":"                                                    virt_type,"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a8ec9b2_01cb2573","line":525,"in_reply_to":"7a8ec9b2_aec42e5f","updated":"2016-09-15 09:49:06.000000000","message":"I\u0027ll add some more context to the commit msg.\n\nFully agree regarding this method needing some future work, I\u0027m going to revisit it again hopefully in Ocata with my stable rescue series so I\u0027ll try to break it up then.","commit_id":"b8f9bd027d1384daeeb72d7f7cf917f19e58bc76"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"89eb821b57268e94fff1f1082e69ca57cbd1e812","unresolved":false,"context_lines":[{"line_number":522,"context_line":"                                     disk_bus)"},{"line_number":523,"context_line":"        mapping[\u0027disk\u0027] \u003d os_info"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"        if configdrive.required_by(instance):"},{"line_number":526,"context_line":"            device_type \u003d get_config_drive_type()"},{"line_number":527,"context_line":"            disk_bus \u003d get_disk_bus_for_device_type(instance,"},{"line_number":528,"context_line":"                                                    virt_type,"}],"source_content_type":"text/x-python","patch_set":13,"id":"7a8ec9b2_e83615e6","line":525,"updated":"2016-09-15 12:09:40.000000000","message":"FYI, the addition of this line causes the unit test failure in the existing test_get_disk_mapping_rescue. Unlike most other tests in test_blockinfo it wasn\u0027t using a populated test instance object, so this line caused it to load object attributes, which obviously failed.\n\nFix is to update the test to use the existing pre-populated instance data.","commit_id":"525843c763190fc37d17d854b117981dcd0498a0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3460e7fc8976427eaa103f6c9ae419a31661fd39","unresolved":false,"context_lines":[{"line_number":522,"context_line":"                                     disk_bus)"},{"line_number":523,"context_line":"        mapping[\u0027disk\u0027] \u003d os_info"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"        if configdrive.required_by(instance):"},{"line_number":526,"context_line":"            device_type \u003d get_config_drive_type()"},{"line_number":527,"context_line":"            disk_bus \u003d get_disk_bus_for_device_type(instance,"},{"line_number":528,"context_line":"                                                    virt_type,"},{"line_number":529,"context_line":"                                                    image_meta,"},{"line_number":530,"context_line":"                                                    device_type)"},{"line_number":531,"context_line":"            config_info \u003d get_next_disk_info(mapping,"},{"line_number":532,"context_line":"                                             disk_bus,"},{"line_number":533,"context_line":"                                             device_type,"},{"line_number":534,"context_line":"                                             last_device\u003dTrue)"},{"line_number":535,"context_line":"            mapping[\u0027disk.config.rescue\u0027] \u003d config_info"},{"line_number":536,"context_line":""},{"line_number":537,"context_line":"        return mapping"},{"line_number":538,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"7a8ec9b2_14b7cfd8","line":535,"range":{"start_line":525,"start_character":8,"end_line":535,"end_character":55},"updated":"2016-09-15 15:58:12.000000000","message":"Again, this all screams latent bug fix, not regression - at least to me.","commit_id":"3a7eb2f2751aa26030bab751cc78ce56f6578c4d"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"1537d8143496fd6a12e78afed56ae4f3f75fc4ae","unresolved":false,"context_lines":[{"line_number":608,"context_line":"        mapping[block_device.prepend_dev(vol_info[\u0027dev\u0027])] \u003d vol_info"},{"line_number":609,"context_line":"        update_bdm(bdm, vol_info)"},{"line_number":610,"context_line":""},{"line_number":611,"context_line":"    if configdrive.required_by(instance):"},{"line_number":612,"context_line":"        device_type \u003d get_config_drive_type()"},{"line_number":613,"context_line":"        disk_bus \u003d get_disk_bus_for_device_type(instance,"},{"line_number":614,"context_line":"                                                virt_type,"},{"line_number":615,"context_line":"                                                image_meta,"},{"line_number":616,"context_line":"                                                device_type)"},{"line_number":617,"context_line":"        config_info \u003d get_next_disk_info(mapping,"},{"line_number":618,"context_line":"                                         disk_bus,"},{"line_number":619,"context_line":"                                         device_type,"},{"line_number":620,"context_line":"                                         last_device\u003dTrue)"},{"line_number":621,"context_line":"        mapping[\u0027disk.config\u0027] \u003d config_info"},{"line_number":622,"context_line":""},{"line_number":623,"context_line":"    return mapping"},{"line_number":624,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"3a98d1f4_86ddd244","line":621,"range":{"start_line":611,"start_character":4,"end_line":621,"end_character":44},"updated":"2016-09-28 22:23:35.000000000","message":"Eh, it would have been nice to reuse this as a nested function, at least.","commit_id":"8795b206247fe2ca57f32c437d72c51492637649"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"a0b067414c4d485078d5372c7450d0c35172e77c","unresolved":false,"context_lines":[{"line_number":3517,"context_line":"                diskconfig \u003d self._get_guest_disk_config("},{"line_number":3518,"context_line":"                    instance, \u0027disk.config.rescue\u0027, disk_mapping, inst_type,"},{"line_number":3519,"context_line":"                    self._get_disk_config_image_type())"},{"line_number":3520,"context_line":"                devices.append(diskconfig)"},{"line_number":3521,"context_line":""},{"line_number":3522,"context_line":"            if \u0027disk.config\u0027 in disk_mapping:"},{"line_number":3523,"context_line":"                diskconfig \u003d self._get_guest_disk_config("}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_84418fab","line":3520,"updated":"2016-07-01 08:43:45.000000000","message":"I was about to say that it would be cleaner to have these all in the same place in the rescue block above, but are you thinking forward to the stable rescue patches?","commit_id":"cf271f02f1b9fe29967e6bcec29e5f06f71f625c"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"4fae6de5d46aed4864d38737c0f221ada6082b5f","unresolved":false,"context_lines":[{"line_number":3517,"context_line":"                diskconfig \u003d self._get_guest_disk_config("},{"line_number":3518,"context_line":"                    instance, \u0027disk.config.rescue\u0027, disk_mapping, inst_type,"},{"line_number":3519,"context_line":"                    self._get_disk_config_image_type())"},{"line_number":3520,"context_line":"                devices.append(diskconfig)"},{"line_number":3521,"context_line":""},{"line_number":3522,"context_line":"            if \u0027disk.config\u0027 in disk_mapping:"},{"line_number":3523,"context_line":"                diskconfig \u003d self._get_guest_disk_config("}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_53ce485a","line":3520,"in_reply_to":"3aaa91ec_84418fab","updated":"2016-07-01 09:37:23.000000000","message":"Yeah, just avoids having to duplicate or move this block again once that lands.","commit_id":"cf271f02f1b9fe29967e6bcec29e5f06f71f625c"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"e988399746935475a516c036128f05950de75e4d","unresolved":false,"context_lines":[{"line_number":3528,"context_line":"                diskconfig \u003d self._get_guest_disk_config("},{"line_number":3529,"context_line":"                    instance, \u0027disk.config.rescue\u0027, disk_mapping, inst_type,"},{"line_number":3530,"context_line":"                    self._get_disk_config_image_type())"},{"line_number":3531,"context_line":"                devices.append(diskconfig)"},{"line_number":3532,"context_line":""},{"line_number":3533,"context_line":"            if \u0027disk.config\u0027 in disk_mapping:"},{"line_number":3534,"context_line":"                diskconfig \u003d self._get_guest_disk_config("}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_11db1550","line":3531,"updated":"2016-07-01 10:48:30.000000000","message":"I really don\u0027t think it is right to be exposing two config drives at the same time. We should either add disk.config or disk.config.rescue, but not both, as it would not be clear to the guest OS which config driver it should then use.","commit_id":"427b80d0b1286db95a9ef95da5b004a203320f92"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"cbef91274f339a583a3f1decd154596163dbed59","unresolved":false,"context_lines":[{"line_number":3528,"context_line":"                diskconfig \u003d self._get_guest_disk_config("},{"line_number":3529,"context_line":"                    instance, \u0027disk.config.rescue\u0027, disk_mapping, inst_type,"},{"line_number":3530,"context_line":"                    self._get_disk_config_image_type())"},{"line_number":3531,"context_line":"                devices.append(diskconfig)"},{"line_number":3532,"context_line":""},{"line_number":3533,"context_line":"            if \u0027disk.config\u0027 in disk_mapping:"},{"line_number":3534,"context_line":"                diskconfig \u003d self._get_guest_disk_config("}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_3151f162","line":3531,"in_reply_to":"3aaa91ec_11db1550","updated":"2016-07-01 10:55:03.000000000","message":"disk.config isn\u0027t in the disk_mapping for a rescue [1] so we only expose one, I\u0027ll add a comment highlighting that now if it helps.\n\n[1] https://review.openstack.org/#/c/335884/4/nova/virt/libvirt/blockinfo.py","commit_id":"427b80d0b1286db95a9ef95da5b004a203320f92"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"ba2fcf88705e6f3c95471fd50837b218093b1903","unresolved":false,"context_lines":[{"line_number":3528,"context_line":"                diskconfig \u003d self._get_guest_disk_config("},{"line_number":3529,"context_line":"                    instance, \u0027disk.config.rescue\u0027, disk_mapping, inst_type,"},{"line_number":3530,"context_line":"                    self._get_disk_config_image_type())"},{"line_number":3531,"context_line":"                devices.append(diskconfig)"},{"line_number":3532,"context_line":""},{"line_number":3533,"context_line":"            if \u0027disk.config\u0027 in disk_mapping:"},{"line_number":3534,"context_line":"                diskconfig \u003d self._get_guest_disk_config("}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_74e08726","line":3531,"in_reply_to":"3aaa91ec_3151f162","updated":"2016-07-01 10:58:52.000000000","message":"IMHO it isn\u0027t good to depend on separate code doing the right thing. This should be an if/elif to protect against future changes in that other code.","commit_id":"427b80d0b1286db95a9ef95da5b004a203320f92"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"3a94e32372283409a72d34cea1f28d814f86c24c","unresolved":false,"context_lines":[{"line_number":3528,"context_line":"                diskconfig \u003d self._get_guest_disk_config("},{"line_number":3529,"context_line":"                    instance, \u0027disk.config.rescue\u0027, disk_mapping, inst_type,"},{"line_number":3530,"context_line":"                    self._get_disk_config_image_type())"},{"line_number":3531,"context_line":"                devices.append(diskconfig)"},{"line_number":3532,"context_line":""},{"line_number":3533,"context_line":"            if \u0027disk.config\u0027 in disk_mapping:"},{"line_number":3534,"context_line":"                diskconfig \u003d self._get_guest_disk_config("}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_675bbb22","line":3531,"in_reply_to":"3aaa91ec_74e08726","updated":"2016-07-01 11:18:55.000000000","message":"Ah that\u0027s valid, updating now.","commit_id":"427b80d0b1286db95a9ef95da5b004a203320f92"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dd2c44487c69371e0335794905368554c83a85f2","unresolved":false,"context_lines":[{"line_number":3476,"context_line":"                    instance.default_swap_device \u003d ("},{"line_number":3477,"context_line":"                        block_device.prepend_dev(diskswap.target_dev))"},{"line_number":3478,"context_line":""},{"line_number":3479,"context_line":"            if rescue and \u0027disk.config.rescue\u0027 in disk_mapping:"},{"line_number":3480,"context_line":"                diskconfig \u003d self._get_guest_disk_config("},{"line_number":3481,"context_line":"                    instance, \u0027disk.config.rescue\u0027, disk_mapping, inst_type,"},{"line_number":3482,"context_line":"                    self._get_disk_config_image_type())"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a8ec9b2_ee8b961c","line":3479,"range":{"start_line":3479,"start_character":15,"end_line":3479,"end_character":21},"updated":"2016-09-15 00:45:27.000000000","message":"Isn\u0027t this redundant if \u0027disk.config.rescue\u0027 is in disk_mapping?","commit_id":"b8f9bd027d1384daeeb72d7f7cf917f19e58bc76"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"f27fa617568bec9f3aa9b08fc8e400d252807d36","unresolved":false,"context_lines":[{"line_number":3476,"context_line":"                    instance.default_swap_device \u003d ("},{"line_number":3477,"context_line":"                        block_device.prepend_dev(diskswap.target_dev))"},{"line_number":3478,"context_line":""},{"line_number":3479,"context_line":"            if rescue and \u0027disk.config.rescue\u0027 in disk_mapping:"},{"line_number":3480,"context_line":"                diskconfig \u003d self._get_guest_disk_config("},{"line_number":3481,"context_line":"                    instance, \u0027disk.config.rescue\u0027, disk_mapping, inst_type,"},{"line_number":3482,"context_line":"                    self._get_disk_config_image_type())"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a8ec9b2_a1ac31a1","line":3479,"range":{"start_line":3479,"start_character":15,"end_line":3479,"end_character":21},"in_reply_to":"7a8ec9b2_ee8b961c","updated":"2016-09-15 09:49:06.000000000","message":"Done","commit_id":"b8f9bd027d1384daeeb72d7f7cf917f19e58bc76"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"89eb821b57268e94fff1f1082e69ca57cbd1e812","unresolved":false,"context_lines":[{"line_number":3476,"context_line":"                    instance.default_swap_device \u003d ("},{"line_number":3477,"context_line":"                        block_device.prepend_dev(diskswap.target_dev))"},{"line_number":3478,"context_line":""},{"line_number":3479,"context_line":"            if \u0027disk.config.rescue\u0027 in disk_mapping:"},{"line_number":3480,"context_line":"                diskconfig \u003d self._get_guest_disk_config("},{"line_number":3481,"context_line":"                    instance, \u0027disk.config.rescue\u0027, disk_mapping, inst_type,"},{"line_number":3482,"context_line":"                    self._get_disk_config_image_type())"}],"source_content_type":"text/x-python","patch_set":13,"id":"7a8ec9b2_0bcb3e73","line":3479,"updated":"2016-09-15 12:09:40.000000000","message":"nit: I think you could probably reuse the lines below somehow, which differ only in the disk name. It\u0027s not a big deal here as there\u0027s only 2 lines, but it\u0027s on the line of potential future maintenance issues when somebody fixes 1 but not the other.\n\nTo be clear though, I still think this is ok.\n\nMaybe:\n\nconfig_name \u003d \u0027disk.config.rescue\u0027 if rescue else \u0027disk.config\u0027\nif config_name in disk_mapping:\n   ...\n\n?","commit_id":"525843c763190fc37d17d854b117981dcd0498a0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d7800b5549990f95d64f5d541e4e53581dda10f8","unresolved":false,"context_lines":[{"line_number":3476,"context_line":"                    instance.default_swap_device \u003d ("},{"line_number":3477,"context_line":"                        block_device.prepend_dev(diskswap.target_dev))"},{"line_number":3478,"context_line":""},{"line_number":3479,"context_line":"            if \u0027disk.config.rescue\u0027 in disk_mapping:"},{"line_number":3480,"context_line":"                diskconfig \u003d self._get_guest_disk_config("},{"line_number":3481,"context_line":"                    instance, \u0027disk.config.rescue\u0027, disk_mapping, inst_type,"},{"line_number":3482,"context_line":"                    self._get_disk_config_image_type())"}],"source_content_type":"text/x-python","patch_set":13,"id":"7a8ec9b2_51efb486","line":3479,"in_reply_to":"7a8ec9b2_0bcb3e73","updated":"2016-09-15 13:02:52.000000000","message":"I like that suggestion.","commit_id":"525843c763190fc37d17d854b117981dcd0498a0"}]}
