)]}'
{"nova/virt/libvirt/driver.py":[{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"4b0101b77d9a0652a3b7cdb979d9b7d5fcd6eb74","unresolved":false,"context_lines":[{"line_number":3618,"context_line":"            # use disk_mapping as container to keep reference of the"},{"line_number":3619,"context_line":"            # unit added and be able to increment it for each disk"},{"line_number":3620,"context_line":"            # added."},{"line_number":3621,"context_line":"            disk_mapping[\u0027unit\u0027] \u003d 0"},{"line_number":3622,"context_line":""},{"line_number":3623,"context_line":"        def _get_ephemeral_devices():"},{"line_number":3624,"context_line":"            eph_devices \u003d []"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff0f0b1f_bddcc446","line":3621,"updated":"2017-05-18 11:24:11.000000000","message":"nit: It\u0027s somewhat stylistic and it\u0027s not the worst, so I\u0027m not -1 for this, but I\u0027m not a fan. I think it would be cleaner to track disk_index in this function and pass it to _get_guest_disk_config explicitly. Also consider that by stashing it in disk_mapping we\u0027re modifying the disk_info struct which was passed to us. Probably doesn\u0027t matter, but the caller is unlikely to expect it.\n\nIn general this kind of thing can be a maintenance issue, although as I say in this case it probably wouldn\u0027t be in practise.","commit_id":"9c819b7c2021a749790a9f52825d7a884f706f96"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"271a63acf1c1d8b5ad082a409d1310721a3d278e","unresolved":false,"context_lines":[{"line_number":3582,"context_line":"        if \u0027unit\u0027 in disk_mapping:"},{"line_number":3583,"context_line":"            disk_unit \u003d disk_mapping[\u0027unit\u0027]"},{"line_number":3584,"context_line":"            disk_mapping[\u0027unit\u0027] +\u003d 1  # Increments for the next disk added"},{"line_number":3585,"context_line":"        conf \u003d disk.libvirt_info(disk_info[\u0027bus\u0027],"},{"line_number":3586,"context_line":"                                 disk_info[\u0027dev\u0027],"},{"line_number":3587,"context_line":"                                 disk_info[\u0027type\u0027],"},{"line_number":3588,"context_line":"                                 self.disk_cachemode,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff0f0b1f_87c70997","line":3585,"range":{"start_line":3585,"start_character":8,"end_line":3585,"end_character":12},"updated":"2017-05-22 16:13:59.000000000","message":"nit: What made you change this from just returning? Was cleaner before imho (but not important).","commit_id":"21f92ecdefed55100b8dc117f74f4087994dac5c"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a3e9cdf60b825f8521361201f266a51e3d7b41b1","unresolved":false,"context_lines":[{"line_number":3630,"context_line":"            # use disk_mapping as container to keep reference of the"},{"line_number":3631,"context_line":"            # unit added and be able to increment it for each disk"},{"line_number":3632,"context_line":"            # added."},{"line_number":3633,"context_line":"            disk_mapping[\u0027unit\u0027] \u003d 0"},{"line_number":3634,"context_line":""},{"line_number":3635,"context_line":"        def _get_ephemeral_devices():"},{"line_number":3636,"context_line":"            eph_devices \u003d []"}],"source_content_type":"text/x-python","patch_set":6,"id":"df140735_439141f1","line":3633,"updated":"2017-06-07 18:48:21.000000000","message":"Well, instead of stashing the unit inside the disk_mapping, you *could* have just passed disk_unit to _get_volume_config() (and down to vol_driver.get_config()) and tracked the unit within the loop below on line 3716-3724...","commit_id":"07d3ce28c0350274fd5e105228177681f3719d79"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"184b1a7ffdf3b5d3a80384e47cbdc992daaca724","unresolved":false,"context_lines":[{"line_number":3630,"context_line":"            # use disk_mapping as container to keep reference of the"},{"line_number":3631,"context_line":"            # unit added and be able to increment it for each disk"},{"line_number":3632,"context_line":"            # added."},{"line_number":3633,"context_line":"            disk_mapping[\u0027unit\u0027] \u003d 0"},{"line_number":3634,"context_line":""},{"line_number":3635,"context_line":"        def _get_ephemeral_devices():"},{"line_number":3636,"context_line":"            eph_devices \u003d []"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf091321_9f18e5d3","line":3633,"in_reply_to":"bf091321_705b062e","updated":"2017-06-08 09:54:02.000000000","message":"Oh wait... Jay reading at the comment you did in the next patch I think I did not have understand you. We increment the unit in get_guest_disk_config() it\u0027s not about _get_volume_config().","commit_id":"07d3ce28c0350274fd5e105228177681f3719d79"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"af6607ca5d03415ca8cb977774ad3c7fdda977bc","unresolved":false,"context_lines":[{"line_number":3630,"context_line":"            # use disk_mapping as container to keep reference of the"},{"line_number":3631,"context_line":"            # unit added and be able to increment it for each disk"},{"line_number":3632,"context_line":"            # added."},{"line_number":3633,"context_line":"            disk_mapping[\u0027unit\u0027] \u003d 0"},{"line_number":3634,"context_line":""},{"line_number":3635,"context_line":"        def _get_ephemeral_devices():"},{"line_number":3636,"context_line":"            eph_devices \u003d []"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf091321_705b062e","line":3633,"in_reply_to":"df140735_439141f1","updated":"2017-06-08 07:11:29.000000000","message":"Jay did you see my note line 3628 ? :)","commit_id":"07d3ce28c0350274fd5e105228177681f3719d79"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a3e9cdf60b825f8521361201f266a51e3d7b41b1","unresolved":false,"context_lines":[{"line_number":3741,"context_line":"            scsi_controller \u003d vconfig.LibvirtConfigGuestController()"},{"line_number":3742,"context_line":"            scsi_controller.type \u003d \u0027scsi\u0027"},{"line_number":3743,"context_line":"            scsi_controller.model \u003d hw_scsi_model"},{"line_number":3744,"context_line":"            scsi_controller.index \u003d 0"},{"line_number":3745,"context_line":"            return scsi_controller"},{"line_number":3746,"context_line":""},{"line_number":3747,"context_line":"    def _get_host_sysinfo_serial_hardware(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"df140735_434701be","line":3744,"updated":"2017-06-07 18:48:21.000000000","message":"This seems like it belongs in a previous patch in this series. Did you stumble on this missing while testing with this patch?","commit_id":"07d3ce28c0350274fd5e105228177681f3719d79"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"af6607ca5d03415ca8cb977774ad3c7fdda977bc","unresolved":false,"context_lines":[{"line_number":3741,"context_line":"            scsi_controller \u003d vconfig.LibvirtConfigGuestController()"},{"line_number":3742,"context_line":"            scsi_controller.type \u003d \u0027scsi\u0027"},{"line_number":3743,"context_line":"            scsi_controller.model \u003d hw_scsi_model"},{"line_number":3744,"context_line":"            scsi_controller.index \u003d 0"},{"line_number":3745,"context_line":"            return scsi_controller"},{"line_number":3746,"context_line":""},{"line_number":3747,"context_line":"    def _get_host_sysinfo_serial_hardware(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf091321_2d21bbb5","line":3744,"in_reply_to":"df140735_434701be","updated":"2017-06-08 07:11:29.000000000","message":"In the previous patch [0] I isolated that part of code in a separate function, like a refactor, i did not wanted to touch the logic.\n\nNow I\u0027m trying to fix the issue. Here I want to be more specific by setting the index to 0 because we will reuse it when configuring the disk, see line 151 [1].\n\nSo you are right It\u0027s probably not necessary to specifically set the index to 0 because we will have only one controller but I wanted to be more specific (Actually I think I changed that after following a comment from mbooth)\n\n[0] https://review.openstack.org/#/c/459739/6/nova/virt/libvirt/driver.py\n[1] https://review.openstack.org/#/c/459740/6/nova/virt/libvirt/imagebackend.py","commit_id":"07d3ce28c0350274fd5e105228177681f3719d79"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1f175f2a6444627af41f2bcd1fa56dd3b1a15642","unresolved":false,"context_lines":[{"line_number":3600,"context_line":"        disk_info \u003d disk_mapping[name]"},{"line_number":3601,"context_line":"        if \u0027unit\u0027 in disk_mapping:"},{"line_number":3602,"context_line":"            disk_unit \u003d disk_mapping[\u0027unit\u0027]"},{"line_number":3603,"context_line":"            disk_mapping[\u0027unit\u0027] +\u003d 1  # Increments for the next disk added"},{"line_number":3604,"context_line":"        conf \u003d disk.libvirt_info(disk_info[\u0027bus\u0027],"},{"line_number":3605,"context_line":"                                 disk_info[\u0027dev\u0027],"},{"line_number":3606,"context_line":"                                 disk_info[\u0027type\u0027],"}],"source_content_type":"text/x-python","patch_set":11,"id":"3f1d235d_4ff4955b","line":3603,"range":{"start_line":3603,"start_character":12,"end_line":3603,"end_character":75},"updated":"2017-07-03 13:28:23.000000000","message":"Out of curiosity, what happens if we exceed that 256 device limit you refer to in the commit message? Do we care?\n\nAlso, is it possible to hotplug SCSI devices? I imagine that will make the possibility of hitting the above more likely","commit_id":"fb343c402296c109af49bfca2f909680ca38a72b"},{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"f9e58954223ed5535aee1b8ee79c2ba5a08fb3d2","unresolved":false,"context_lines":[{"line_number":3600,"context_line":"        disk_info \u003d disk_mapping[name]"},{"line_number":3601,"context_line":"        if \u0027unit\u0027 in disk_mapping:"},{"line_number":3602,"context_line":"            disk_unit \u003d disk_mapping[\u0027unit\u0027]"},{"line_number":3603,"context_line":"            disk_mapping[\u0027unit\u0027] +\u003d 1  # Increments for the next disk added"},{"line_number":3604,"context_line":"        conf \u003d disk.libvirt_info(disk_info[\u0027bus\u0027],"},{"line_number":3605,"context_line":"                                 disk_info[\u0027dev\u0027],"},{"line_number":3606,"context_line":"                                 disk_info[\u0027type\u0027],"}],"source_content_type":"text/x-python","patch_set":11,"id":"dfbec78f_3e098a2b","line":3603,"in_reply_to":"3f1d235d_3a5bd5f7","updated":"2019-05-08 18:50:28.000000000","message":"I tried out the edge case and attached 300+ volumes after backporting these patches to Newton. Nothing crashed, `unit` values above 256 were accepted, all disks were visible in /dev.","commit_id":"fb343c402296c109af49bfca2f909680ca38a72b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1942a059c31726d344aa05d798aa700af2816117","unresolved":false,"context_lines":[{"line_number":3600,"context_line":"        disk_info \u003d disk_mapping[name]"},{"line_number":3601,"context_line":"        if \u0027unit\u0027 in disk_mapping:"},{"line_number":3602,"context_line":"            disk_unit \u003d disk_mapping[\u0027unit\u0027]"},{"line_number":3603,"context_line":"            disk_mapping[\u0027unit\u0027] +\u003d 1  # Increments for the next disk added"},{"line_number":3604,"context_line":"        conf \u003d disk.libvirt_info(disk_info[\u0027bus\u0027],"},{"line_number":3605,"context_line":"                                 disk_info[\u0027dev\u0027],"},{"line_number":3606,"context_line":"                                 disk_info[\u0027type\u0027],"}],"source_content_type":"text/x-python","patch_set":11,"id":"3f1d235d_3a5bd5f7","line":3603,"in_reply_to":"3f1d235d_3a7195aa","updated":"2017-07-03 13:49:32.000000000","message":"Yeah, I\u0027m chatting with Stephen about this right now on IRC. It\u0027s a pretty edge case, and really, if someone attaches/detaches 255+ times and causes this error condition to happen, the VM can just be hard rebooted and the libvirt XML would be re-constructed, populating the unit value properly.","commit_id":"fb343c402296c109af49bfca2f909680ca38a72b"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"fd2d2719d4b77a1c72c61e1ab5ab2680645f8fbc","unresolved":false,"context_lines":[{"line_number":3600,"context_line":"        disk_info \u003d disk_mapping[name]"},{"line_number":3601,"context_line":"        if \u0027unit\u0027 in disk_mapping:"},{"line_number":3602,"context_line":"            disk_unit \u003d disk_mapping[\u0027unit\u0027]"},{"line_number":3603,"context_line":"            disk_mapping[\u0027unit\u0027] +\u003d 1  # Increments for the next disk added"},{"line_number":3604,"context_line":"        conf \u003d disk.libvirt_info(disk_info[\u0027bus\u0027],"},{"line_number":3605,"context_line":"                                 disk_info[\u0027dev\u0027],"},{"line_number":3606,"context_line":"                                 disk_info[\u0027type\u0027],"}],"source_content_type":"text/x-python","patch_set":11,"id":"3f1d235d_3a7195aa","line":3603,"in_reply_to":"3f1d235d_4ff4955b","updated":"2017-07-03 13:36:45.000000000","message":"It is possible to hotplug SCSI devices yes. Libvirt is going to complain and so raise an error if we try to hotplug more than this limit. same story if you try to create a domain with more than 256 disks. libvirt will not be able to create the domain. We already handle such errors from libvirt.","commit_id":"fb343c402296c109af49bfca2f909680ca38a72b"}],"nova/virt/libvirt/imagebackend.py":[{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"8943ff9cce26254242845c123dca1001850bad6e","unresolved":false,"context_lines":[{"line_number":146,"context_line":"        info.boot_order \u003d boot_order"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"        if disk_bus \u003d\u003d \u0027scsi\u0027:"},{"line_number":149,"context_line":"            # In order to allow up to 256 disks handled by one iscsi"},{"line_number":150,"context_line":"            # controller, the device addr should be specified."},{"line_number":151,"context_line":"            info.device_addr \u003d vconfig.LibvirtConfigGuestDeviceAddressDrive()"},{"line_number":152,"context_line":"            info.device_addr.controller \u003d 0"}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_1931e35a","line":149,"range":{"start_line":149,"start_character":63,"end_line":149,"end_character":68},"updated":"2017-05-03 14:40:43.000000000","message":"virtio-scsi","commit_id":"e31d179e272523d1a713efbb95d9d3550db9d17d"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"4b0101b77d9a0652a3b7cdb979d9b7d5fcd6eb74","unresolved":false,"context_lines":[{"line_number":147,"context_line":""},{"line_number":148,"context_line":"        if disk_bus \u003d\u003d \u0027scsi\u0027:"},{"line_number":149,"context_line":"            info.device_addr \u003d vconfig.LibvirtConfigGuestDeviceAddressDrive()"},{"line_number":150,"context_line":"            info.device_addr.controller \u003d 0"},{"line_number":151,"context_line":"            info.device_addr.bus \u003d 0"},{"line_number":152,"context_line":"            info.device_addr.target \u003d 0"},{"line_number":153,"context_line":"            if disk_unit is not None:"},{"line_number":154,"context_line":"                # In order to allow up to 256 disks handled by one"},{"line_number":155,"context_line":"                # virtio-scsi controller, the device addr should be"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff0f0b1f_3df314a1","line":152,"range":{"start_line":150,"start_character":0,"end_line":152,"end_character":39},"updated":"2017-05-18 11:24:11.000000000","message":"I assume we\u0027re confident of these values because of the additional context that we only ever create 1 controller. Is that right?\n\nIf so, could you stick that in a comment? Otherwise they\u0027re a bit voodoo.\n\nIf not (would we ever explicitly put a config drive on virtual cd-rom device, maybe?), we\u0027ll presumably need to pass these values in.","commit_id":"9c819b7c2021a749790a9f52825d7a884f706f96"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"4b0101b77d9a0652a3b7cdb979d9b7d5fcd6eb74","unresolved":false,"context_lines":[{"line_number":810,"context_line":""},{"line_number":811,"context_line":"    def libvirt_info(self, disk_bus, disk_dev, device_type, cache_mode,"},{"line_number":812,"context_line":"                     extra_specs, hypervisor_version, boot_order\u003dNone,"},{"line_number":813,"context_line":"                     disk_unit\u003dNone):"},{"line_number":814,"context_line":"        \"\"\"Get `LibvirtConfigGuestDisk` filled for this image."},{"line_number":815,"context_line":""},{"line_number":816,"context_line":"        :disk_dev: Disk bus device name"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff0f0b1f_5dc24887","line":813,"updated":"2017-05-18 11:24:11.000000000","message":"You haven\u0027t implemented the domain xml change for Rbd disks. This means the 6 disk limit still applies for clouds using Rbd for non-volume storage.","commit_id":"9c819b7c2021a749790a9f52825d7a884f706f96"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"f86bd959e6b7dcd0d38fc60eb02da6ae71fd306d","unresolved":false,"context_lines":[{"line_number":810,"context_line":""},{"line_number":811,"context_line":"    def libvirt_info(self, disk_bus, disk_dev, device_type, cache_mode,"},{"line_number":812,"context_line":"                     extra_specs, hypervisor_version, boot_order\u003dNone,"},{"line_number":813,"context_line":"                     disk_unit\u003dNone):"},{"line_number":814,"context_line":"        \"\"\"Get `LibvirtConfigGuestDisk` filled for this image."},{"line_number":815,"context_line":""},{"line_number":816,"context_line":"        :disk_dev: Disk bus device name"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff0f0b1f_975c1e7f","line":813,"in_reply_to":"ff0f0b1f_5dc24887","updated":"2017-05-19 07:26:32.000000000","message":"Why do you consider RBD is using a SCSI controller ? From what I know the device is not plugged on a SCSI controller but over network protocol.","commit_id":"9c819b7c2021a749790a9f52825d7a884f706f96"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"36581f801eb98087d0ce0cba475131becb3f9b51","unresolved":false,"context_lines":[{"line_number":810,"context_line":""},{"line_number":811,"context_line":"    def libvirt_info(self, disk_bus, disk_dev, device_type, cache_mode,"},{"line_number":812,"context_line":"                     extra_specs, hypervisor_version, boot_order\u003dNone,"},{"line_number":813,"context_line":"                     disk_unit\u003dNone):"},{"line_number":814,"context_line":"        \"\"\"Get `LibvirtConfigGuestDisk` filled for this image."},{"line_number":815,"context_line":""},{"line_number":816,"context_line":"        :disk_dev: Disk bus device name"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff0f0b1f_7d228854","line":813,"in_reply_to":"ff0f0b1f_975c1e7f","updated":"2017-05-19 10:08:21.000000000","message":"Qemu is connecting over a network protocol. The guest sees a disk attached to a scsi controller.","commit_id":"9c819b7c2021a749790a9f52825d7a884f706f96"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"be405163f9bbc9a72865eebf75b0513cbe017721","unresolved":false,"context_lines":[{"line_number":810,"context_line":""},{"line_number":811,"context_line":"    def libvirt_info(self, disk_bus, disk_dev, device_type, cache_mode,"},{"line_number":812,"context_line":"                     extra_specs, hypervisor_version, boot_order\u003dNone,"},{"line_number":813,"context_line":"                     disk_unit\u003dNone):"},{"line_number":814,"context_line":"        \"\"\"Get `LibvirtConfigGuestDisk` filled for this image."},{"line_number":815,"context_line":""},{"line_number":816,"context_line":"        :disk_dev: Disk bus device name"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff0f0b1f_7de72814","line":813,"updated":"2017-05-19 10:08:50.000000000","message":"You still need to add this here.","commit_id":"613d91f0169e237787b3282e29e99913363639ad"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"271a63acf1c1d8b5ad082a409d1310721a3d278e","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        # The driver is responsible to create the SCSI controller"},{"line_number":157,"context_line":"        # at index 0."},{"line_number":158,"context_line":"        info.device_addr \u003d vconfig.LibvirtConfigGuestDeviceAddressDrive()"},{"line_number":159,"context_line":"        info.device_addr.controller \u003d 0"},{"line_number":160,"context_line":"        if disk_unit is not None:"},{"line_number":161,"context_line":"            # In order to allow up to 256 disks handled by one"},{"line_number":162,"context_line":"            # virtio-scsi controller, the device addr should be"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff0f0b1f_4a8fb874","line":159,"updated":"2017-05-22 16:13:59.000000000","message":"Assuming it\u0027s ok that we\u0027re not setting bus or target here? Sounds like you\u0027ve tested it on a running system, and we\u0027re good.","commit_id":"21f92ecdefed55100b8dc117f74f4087994dac5c"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"fbe412f37d16b38ad9268c192675763491d2660a","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        # The driver is responsible to create the SCSI controller"},{"line_number":157,"context_line":"        # at index 0."},{"line_number":158,"context_line":"        info.device_addr \u003d vconfig.LibvirtConfigGuestDeviceAddressDrive()"},{"line_number":159,"context_line":"        info.device_addr.controller \u003d 0"},{"line_number":160,"context_line":"        if disk_unit is not None:"},{"line_number":161,"context_line":"            # In order to allow up to 256 disks handled by one"},{"line_number":162,"context_line":"            # virtio-scsi controller, the device addr should be"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff0f0b1f_6c7f23e0","line":159,"in_reply_to":"ff0f0b1f_4a8fb874","updated":"2017-05-23 07:52:58.000000000","message":"Yes I did a test on a running system and there is small note saying that attributes are optional in the documentation of libvirt.","commit_id":"21f92ecdefed55100b8dc117f74f4087994dac5c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1f175f2a6444627af41f2bcd1fa56dd3b1a15642","unresolved":false,"context_lines":[{"line_number":152,"context_line":"        return info"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    def disk_scsi(self, info, disk_unit):"},{"line_number":155,"context_line":"        # The driver is responsible to create the SCSI controller"},{"line_number":156,"context_line":"        # at index 0."},{"line_number":157,"context_line":"        info.device_addr \u003d vconfig.LibvirtConfigGuestDeviceAddressDrive()"},{"line_number":158,"context_line":"        info.device_addr.controller \u003d 0"}],"source_content_type":"text/x-python","patch_set":11,"id":"3f1d235d_4f7db5e5","line":155,"range":{"start_line":155,"start_character":36,"end_line":155,"end_character":45},"updated":"2017-07-03 13:28:23.000000000","message":"nit: for creating","commit_id":"fb343c402296c109af49bfca2f909680ca38a72b"}]}
