Arm64: Instance with Configure Drive attach volume failed failed

Bug #1867075 reported by Kevin Zhao
26
This bug affects 6 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Low
Kevin Zhao
Queens
Fix Released
Low
sean mooney
Rocky
Fix Released
Low
Elod Illes
Stein
Fix Released
Low
Lee Yarwood
Train
Fix Released
Low
sean mooney

Bug Description

Arm64.

Image: cirros-0.5.1
hw_cdrom_bus='scsi', hw_disk_bus='scsi', hw_machine_type='virt', hw_rng_model='virtio', hw_scsi_model='virtio-scsi', os_command_line=''console=ttyAMA0''

Boot a vm.
Create a volume: openstack volume create --size 1 test

Attach:
openstack server add volume cirros-test test

Error:
DEBUG nova.virt.libvirt.guest [None req-8dfbf677-50bb-42be-869f-52c9ac638d59 admin admin] attach device xml:
<disk type="block" device="disk">
  <driver name="qemu" type="raw" cache="none" io="native"/>
  <source dev="/dev/sdc"/>
  <target dev="sdc" bus="scsi"/>
  <serial>b9abb789-1c55-4210-ab5c-78b0e3619405</serial>
  <address type="drive" controller="0" unit="1"/> </disk>

ror: Requested operation is not valid: Domain already contains a disk with that address
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] Traceback (most recent call last):
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] File "/opt/stack/nova/nova/virt/block_device.py", line 599, in _volume_attach
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] device_type=self['device_type'], encryption=encryption)
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 1731, in attach_volume
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] conf = self._get_volume_config(connection_info, disk_info)
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] File "/usr/local/lib/python3.6/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] self.force_reraise()
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] File "/usr/local/lib/python3.6/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] six.reraise(self.type_, self.value, self.tb)
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] File "/usr/local/lib/python3.6/dist-packages/six.py", line 703, in reraise
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] raise value
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 1731, in attach_volume
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] conf = self._get_volume_config(connection_info, disk_info)
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] File "/opt/stack/nova/nova/virt/libvirt/guest.py", line 293, in attach_device
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] self._domain.attachDeviceFlags(device_xml, flags=flags)
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] File "/usr/local/lib/python3.6/dist-packages/eventlet/tpool.py", line 190, in doit
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] result = proxy_call(self._autowrap, f, *args, **kwargs)
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] File "/usr/local/lib/python3.6/dist-packages/eventlet/tpool.py", line 148, in proxy_call
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] rv = execute(f, *args, **kwargs)
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] File "/usr/local/lib/python3.6/dist-packages/eventlet/tpool.py", line 129, in execute
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] six.reraise(c, e, tb)
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] File "/usr/local/lib/python3.6/dist-packages/six.py", line 703, in reraise
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] raise value
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] File "/usr/local/lib/python3.6/dist-packages/eventlet/tpool.py", line 83, in tworker
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] rv = meth(*args, **kwargs)
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] File "/usr/local/lib/python3.6/dist-packages/libvirt.py", line 593, in attachDeviceFlags
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] if ret == -1: raise libvirtError ('virDomainAttachDeviceFlags() failed', dom=self)
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6] libvirt.libvirtError: Requested operation is not valid: Domain already contains a disk with that address
ERROR nova.virt.block_device [instance: 22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6]

<domain type='qemu' id='327'>
  <name>instance-000000f8</name>
  <uuid>22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6</uuid>
  <metadata>
    <nova:instance xmlns:nova="http://openstack.org/xmlns/libvirt/nova/1.0">
      <nova:package version="20.1.0"/>
      <nova:name>cirros-test</nova:name>
      <nova:creationTime>2020-03-12 01:35:31</nova:creationTime>
      <nova:flavor name="m1.tiny">
        <nova:memory>512</nova:memory>
        <nova:disk>1</nova:disk>
        <nova:swap>0</nova:swap>
        <nova:ephemeral>0</nova:ephemeral>
        <nova:vcpus>1</nova:vcpus>
      </nova:flavor>
      <nova:owner>
        <nova:user uuid="4bb28beb8465489f96441dfda663e4bd">admin</nova:user>
        <nova:project uuid="c4838cf5ab504adc9f61f717532ededd">admin</nova:project>
      </nova:owner>
      <nova:root type="image" uuid="3937ae70-18b5-4bbd-989b-af123ce2af4a"/>
    </nova:instance>
  </metadata>
  <memory unit='KiB'>524288</memory>
  <currentMemory unit='KiB'>524288</currentMemory>
  <vcpu placement='static'>1</vcpu>
  <cputune>
    <shares>1024</shares>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='aarch64' machine='virt-2.11'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader>
    <nvram>/var/lib/libvirt/qemu/nvram/instance-000000f8_VARS.fd</nvram>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <gic version='2'/>
  </features>
  <cpu mode='custom' match='exact' check='none'>
    <model fallback='forbid'>cortex-a57</model>
    <topology sockets='1' cores='1' threads='1'/>
  </cpu>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/bin/qemu-system-aarch64</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='none'/>
      <source file='/opt/stack/data/nova/instances/22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6/disk'/>
      <backingStore type='file' index='1'>
        <format type='raw'/>
        <source file='/opt/stack/data/nova/instances/_base/9707f79a24b3945e5b508b0699a5eb97b15279cc'/>
        <backingStore/>
      </backingStore>
      <target dev='sda' bus='scsi'/>
      <alias name='scsi0-0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/opt/stack/data/nova/instances/22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6/disk.config'/>
      <backingStore/>
      <target dev='sdb' bus='scsi'/>
      <readonly/>
      <alias name='scsi0-0-0-1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <controller type='scsi' index='0' model='virtio-scsi'>
      <alias name='scsi0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x8'/>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x9'/>
      <alias name='pci.2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0xa'/>
      <alias name='pci.3'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0xb'/>
      <alias name='pci.4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0xc'/>
      <alias name='pci.5'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/>
    </controller>
    <controller type='pci' index='6' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='6' port='0xd'/>
      <alias name='pci.6'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/>
    </controller>
    <controller type='pci' index='7' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='7' port='0xe'/>
      <alias name='pci.7'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x6'/>
    </controller>
    <controller type='pci' index='8' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='8' port='0xf'/>
      <alias name='pci.8'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x7'/>
    </controller>
    <controller type='pci' index='9' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='9' port='0x10'/>
      <alias name='pci.9'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='10' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='10' port='0x11'/>
      <alias name='pci.10'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
    </controller>
    <controller type='pci' index='11' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='11' port='0x12'/>
      <alias name='pci.11'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
    </controller>
    <controller type='pci' index='12' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='12' port='0x13'/>
      <alias name='pci.12'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    </controller>
    <controller type='pci' index='13' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='13' port='0x14'/>
      <alias name='pci.13'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
    </controller>
    <controller type='pci' index='14' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='14' port='0x15'/>
      <alias name='pci.14'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
    </controller>
    <controller type='pci' index='15' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='15' port='0x16'/>
      <alias name='pci.15'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x6'/>
    </controller>
    <controller type='pci' index='16' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='16' port='0x17'/>
      <alias name='pci.16'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x7'/>
    </controller>
    <controller type='pci' index='17' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='17' port='0x18'/>
      <alias name='pci.17'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='18' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='18' port='0x19'/>
      <alias name='pci.18'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x1'/>
    </controller>
    <controller type='pci' index='19' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='19' port='0x1a'/>
      <alias name='pci.19'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x2'/>
    </controller>
    <controller type='pci' index='20' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='20' port='0x1b'/>
      <alias name='pci.20'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x3'/>
    </controller>
    <controller type='pci' index='21' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='21' port='0x1c'/>
      <alias name='pci.21'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x4'/>
    </controller>
    <controller type='pci' index='22' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='22' port='0x1d'/>
      <alias name='pci.22'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x5'/>
    </controller>
    <controller type='pci' index='23' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='23' port='0x1e'/>
      <alias name='pci.23'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x6'/>
    </controller>
    <controller type='pci' index='24' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='24' port='0x1f'/>
      <alias name='pci.24'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x7'/>
    </controller>
    <interface type='bridge'>
      <mac address='fa:16:3e:11:3e:c3'/>
      <source bridge='br-int'/>
      <virtualport type='openvswitch'>
        <parameters interfaceid='2e718998-be15-4b02-ac8a-495b940ad6d0'/>
      </virtualport>
      <target dev='tap2e718998-be'/>
      <model type='virtio'/>
      <driver name='qemu'/>
      <mtu size='1450'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/9'/>
      <log file='/opt/stack/data/nova/instances/22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6/console.log' append='off'/>
      <target type='system-serial' port='0'>
        <model name='pl011'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/9'>
      <source path='/dev/pts/9'/>
      <log file='/opt/stack/data/nova/instances/22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6/console.log' append='off'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <memballoon model='virtio'>
      <stats period='10'/>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </memballoon>
    <rng model='virtio'>
      <backend model='random'>/dev/urandom</backend>
      <alias name='rng0'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </rng>
  </devices>
  <seclabel type='dynamic' model='apparmor' relabel='yes'>
    <label>libvirt-22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6</label>
    <imagelabel>libvirt-22bdc0a6-1c0c-43fa-8c64-66735b6a6cb6</imagelabel>
  </seclabel>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+64055:+123</label>
    <imagelabel>+64055:+123</imagelabel>
  </seclabel>
</domain>

Kevin Zhao (kevin-zhao)
Changed in nova:
assignee: nobody → Kevin Zhao (kevin-zhao)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master
Review: https://review.opendev.org/712607

Changed in nova:
status: New → In Progress
melanie witt (melwitt)
tags: added: libvirt volumes
Revision history for this message
melanie witt (melwitt) wrote :

Setting this to Low as aarch64 is currently "unknown" [1] to work with attach volume.

[1] https://docs.openstack.org/nova/train/user/support-matrix.html#operation_attach_volume_driver_libvirt_kvm_aarch64

Changed in nova:
importance: Undecided → Low
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.opendev.org/712607
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=c8d6767cf8baaf3cc81496c83db10c8ae72fce06
Submitter: Zuul
Branch: master

commit c8d6767cf8baaf3cc81496c83db10c8ae72fce06
Author: Kevin Zhao <email address hidden>
Date: Thu Mar 12 11:31:33 2020 +0800

    fix scsi disk unit number of the attaching volume when cdrom bus is scsi

    From Image Meta Properties: hw_cdrom_bus=scsi, and use virtio-scsi mode,
    it will also need a disk address for it. So we need to calculate the
    disk address when call the function to get the next unit of scsi controller.

    Closes-Bug: #1867075
    Change-Id: Ifd8b249de3e8f96fa13db252f0abe2b1bd950de0
    Signed-off-by: Kevin Zhao <email address hidden>

Changed in nova:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (stable/train)

Fix proposed to branch: stable/train
Review: https://review.opendev.org/730310

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (stable/stein)

Fix proposed to branch: stable/stein
Review: https://review.opendev.org/730311

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (stable/rocky)

Fix proposed to branch: stable/rocky
Review: https://review.opendev.org/730312

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (stable/queens)

Fix proposed to branch: stable/queens
Review: https://review.opendev.org/730313

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (stable/train)

Reviewed: https://review.opendev.org/730310
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=11b2b7f0b3a8c09216cd8ebfea8b4cd059605290
Submitter: Zuul
Branch: stable/train

commit 11b2b7f0b3a8c09216cd8ebfea8b4cd059605290
Author: Kevin Zhao <email address hidden>
Date: Thu Mar 12 11:31:33 2020 +0800

    fix scsi disk unit number of the attaching volume when cdrom bus is scsi

    From Image Meta Properties: hw_cdrom_bus=scsi, and use virtio-scsi mode,
    it will also need a disk address for it. So we need to calculate the
    disk address when call the function to get the next unit of scsi controller.

    Closes-Bug: #1867075
    Change-Id: Ifd8b249de3e8f96fa13db252f0abe2b1bd950de0
    Signed-off-by: Kevin Zhao <email address hidden>
    (cherry picked from commit c8d6767cf8baaf3cc81496c83db10c8ae72fce06)

tags: added: in-stable-train
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (stable/stein)

Reviewed: https://review.opendev.org/730311
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=86328d11468af66d95587b53ce28f65ed92c46d7
Submitter: Zuul
Branch: stable/stein

commit 86328d11468af66d95587b53ce28f65ed92c46d7
Author: Kevin Zhao <email address hidden>
Date: Thu Mar 12 11:31:33 2020 +0800

    fix scsi disk unit number of the attaching volume when cdrom bus is scsi

    From Image Meta Properties: hw_cdrom_bus=scsi, and use virtio-scsi mode,
    it will also need a disk address for it. So we need to calculate the
    disk address when call the function to get the next unit of scsi controller.

    Closes-Bug: #1867075
    Change-Id: Ifd8b249de3e8f96fa13db252f0abe2b1bd950de0
    Signed-off-by: Kevin Zhao <email address hidden>
    (cherry picked from commit c8d6767cf8baaf3cc81496c83db10c8ae72fce06)
    (cherry picked from commit 11b2b7f0b3a8c09216cd8ebfea8b4cd059605290)

tags: added: in-stable-stein
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (stable/rocky)

Reviewed: https://review.opendev.org/730312
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=3b2c6ccf261ddb810473954559fa1dd1454e9f09
Submitter: Zuul
Branch: stable/rocky

commit 3b2c6ccf261ddb810473954559fa1dd1454e9f09
Author: Kevin Zhao <email address hidden>
Date: Thu Mar 12 11:31:33 2020 +0800

    fix scsi disk unit number of the attaching volume when cdrom bus is scsi

    From Image Meta Properties: hw_cdrom_bus=scsi, and use virtio-scsi mode,
    it will also need a disk address for it. So we need to calculate the
    disk address when call the function to get the next unit of scsi controller.

    Closes-Bug: #1867075
    Change-Id: Ifd8b249de3e8f96fa13db252f0abe2b1bd950de0
    Signed-off-by: Kevin Zhao <email address hidden>
    (cherry picked from commit c8d6767cf8baaf3cc81496c83db10c8ae72fce06)
    (cherry picked from commit 11b2b7f0b3a8c09216cd8ebfea8b4cd059605290)
    (cherry picked from commit 86328d11468af66d95587b53ce28f65ed92c46d7)

tags: added: in-stable-rocky
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (stable/queens)

Reviewed: https://review.opendev.org/730313
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=041a62d0d5e4806591233e4868711563622eb19e
Submitter: Zuul
Branch: stable/queens

commit 041a62d0d5e4806591233e4868711563622eb19e
Author: Kevin Zhao <email address hidden>
Date: Thu Mar 12 11:31:33 2020 +0800

    fix scsi disk unit number of the attaching volume when cdrom bus is scsi

    From Image Meta Properties: hw_cdrom_bus=scsi, and use virtio-scsi mode,
    it will also need a disk address for it. So we need to calculate the
    disk address when call the function to get the next unit of scsi controller.

    Closes-Bug: #1867075
    Change-Id: Ifd8b249de3e8f96fa13db252f0abe2b1bd950de0
    Signed-off-by: Kevin Zhao <email address hidden>
    (cherry picked from commit c8d6767cf8baaf3cc81496c83db10c8ae72fce06)
    (cherry picked from commit 11b2b7f0b3a8c09216cd8ebfea8b4cd059605290)
    (cherry picked from commit 86328d11468af66d95587b53ce28f65ed92c46d7)
    (cherry picked from commit 3b2c6ccf261ddb810473954559fa1dd1454e9f09)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/nova queens-eol

This issue was fixed in the openstack/nova queens-eol release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/nova rocky-eol

This issue was fixed in the openstack/nova rocky-eol release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.