← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1910322] [NEW] when using virtio-scsi + scsi bus, aarch64 vm failed to attach a new volume

 

Public bug reported:

This issue happened only on an AArch64 env. x86 env is OK.

This issue may be related to #1686116 , but i am using OpenStack, which
already have that patch.

When vm is using a image with following property

```
openstack image set --property hw_scsi_model=virtio-scsi \
  --property hw_scsi_model=virtio-scsi \
  <image_uuid>
```

Volume can not be attached dynamic. and nova raise following error
message

```
attach device xml: <disk type="network" device="disk">
  <driver name="qemu" type="raw" cache="writeback" discard="unmap"/>
  <source protocol="rbd" name="volumes/volume-d95a29d6-3bbc-491e-9e4d-c0450b2ba7a8">
    <host name="172.16.130.151" port="6789"/>
  </source>
  <auth username="cinder">
    <secret type="ceph" uuid="44d2aa70-be96-440e-bb5b-67ae917f27d6"/>
  </auth>
  <target bus="scsi" dev="sdc"/>
  <serial>d95a29d6-3bbc-491e-9e4d-c0450b2ba7a8</serial>
  <address type="drive" controller="0" unit="1"/>
</disk>

[req-0c7d2fb1-cf65-45a0-9969-5ab3e38465e0 6aa4f1437eb74404b29e6873d42f9698 d2ab8602cef7428cb956984c9564dadb - default default] 
[instance: 3634a70e-3c49-48a1-9325-2e40c11781e9] Failed to attach volume at mountpoint: /dev/sdc: libvirtError: Requested operation is not valid: Domain already contains a disk with that address
Traceback (most recent call last):
  File "/var/lib/kolla/venv/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 1829, in attach_volume
    guest.attach_device(conf, persistent=True, live=live)
  File "/var/lib/kolla/venv/lib/python2.7/site-packages/nova/virt/libvirt/guest.py", line 338, in attach_device
    self._domain.attachDeviceFlags(device_xml, flags=flags)
  File "/var/lib/kolla/venv/lib/python2.7/site-packages/eventlet/tpool.py", line 190, in doit
    result = proxy_call(self._autowrap, f, *args, **kwargs)
  File "/var/lib/kolla/venv/lib/python2.7/site-packages/eventlet/tpool.py", line 148, in proxy_call
    rv = execute(f, *args, **kwargs)
  File "/var/lib/kolla/venv/lib/python2.7/site-packages/eventlet/tpool.py", line 129, in execute
    six.reraise(c, e, tb)
  File "/var/lib/kolla/venv/lib/python2.7/site-packages/eventlet/tpool.py", line 83, in tworker
    rv = meth(*args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/libvirt.py", line 605, in attachDeviceFlags
    if ret == -1: raise libvirtError ('virDomainAttachDeviceFlags() failed', dom=self)
libvirtError: Requested operation is not valid: Domain already contains a disk with that address
```

btw, i already configured num_pcie_ports to 15.

[0]
https://opendev.org/openstack/nova/src/branch/master/nova/conf/libvirt.py#L807

** Affects: nova
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1910322

Title:
  when using virtio-scsi + scsi bus, aarch64 vm failed to attach a new
  volume

Status in OpenStack Compute (nova):
  New

Bug description:
  This issue happened only on an AArch64 env. x86 env is OK.

  This issue may be related to #1686116 , but i am using OpenStack,
  which already have that patch.

  When vm is using a image with following property

  ```
  openstack image set --property hw_scsi_model=virtio-scsi \
    --property hw_scsi_model=virtio-scsi \
    <image_uuid>
  ```

  Volume can not be attached dynamic. and nova raise following error
  message

  ```
  attach device xml: <disk type="network" device="disk">
    <driver name="qemu" type="raw" cache="writeback" discard="unmap"/>
    <source protocol="rbd" name="volumes/volume-d95a29d6-3bbc-491e-9e4d-c0450b2ba7a8">
      <host name="172.16.130.151" port="6789"/>
    </source>
    <auth username="cinder">
      <secret type="ceph" uuid="44d2aa70-be96-440e-bb5b-67ae917f27d6"/>
    </auth>
    <target bus="scsi" dev="sdc"/>
    <serial>d95a29d6-3bbc-491e-9e4d-c0450b2ba7a8</serial>
    <address type="drive" controller="0" unit="1"/>
  </disk>

  [req-0c7d2fb1-cf65-45a0-9969-5ab3e38465e0 6aa4f1437eb74404b29e6873d42f9698 d2ab8602cef7428cb956984c9564dadb - default default] 
  [instance: 3634a70e-3c49-48a1-9325-2e40c11781e9] Failed to attach volume at mountpoint: /dev/sdc: libvirtError: Requested operation is not valid: Domain already contains a disk with that address
  Traceback (most recent call last):
    File "/var/lib/kolla/venv/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 1829, in attach_volume
      guest.attach_device(conf, persistent=True, live=live)
    File "/var/lib/kolla/venv/lib/python2.7/site-packages/nova/virt/libvirt/guest.py", line 338, in attach_device
      self._domain.attachDeviceFlags(device_xml, flags=flags)
    File "/var/lib/kolla/venv/lib/python2.7/site-packages/eventlet/tpool.py", line 190, in doit
      result = proxy_call(self._autowrap, f, *args, **kwargs)
    File "/var/lib/kolla/venv/lib/python2.7/site-packages/eventlet/tpool.py", line 148, in proxy_call
      rv = execute(f, *args, **kwargs)
    File "/var/lib/kolla/venv/lib/python2.7/site-packages/eventlet/tpool.py", line 129, in execute
      six.reraise(c, e, tb)
    File "/var/lib/kolla/venv/lib/python2.7/site-packages/eventlet/tpool.py", line 83, in tworker
      rv = meth(*args, **kwargs)
    File "/usr/lib64/python2.7/site-packages/libvirt.py", line 605, in attachDeviceFlags
      if ret == -1: raise libvirtError ('virDomainAttachDeviceFlags() failed', dom=self)
  libvirtError: Requested operation is not valid: Domain already contains a disk with that address
  ```

  btw, i already configured num_pcie_ports to 15.

  [0]
  https://opendev.org/openstack/nova/src/branch/master/nova/conf/libvirt.py#L807

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1910322/+subscriptions