Comment 0 for bug 1983287

Revision history for this message
Alexander Deiter (adeiter) wrote :

For unknown reason the Infinidat Cinder driver prevent to backup attached volume.
This makes it impossible to backup for most use cases.

Steps to reproduce:
* Install an OpenStack environment: Queens or newer version
* Configure Infinidat iSCSI or FC backend
* Create a volume
* Boot a VM instance
* Attach the volume to the VM instance
* Try to backup the attached volume

Expected results:
Success

Actual results:
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/oslo_messaging/rpc/server.py", line 165, in _pro
cess_incoming
    res = self.dispatcher.dispatch(message)
  File "/usr/local/lib/python3.8/dist-packages/oslo_messaging/rpc/dispatcher.py", line 309, in
dispatch
    return self._do_dispatch(endpoint, method, ctxt, args)
  File "/usr/local/lib/python3.8/dist-packages/oslo_messaging/rpc/dispatcher.py", line 229, in
_do_dispatch
    result = func(ctxt, **new_args)
  File "/opt/stack/cinder/cinder/volume/manager.py", line 4745, in get_backup_device
    self.driver.get_backup_device(ctxt, backup))
  File "/opt/stack/cinder/cinder/volume/driver.py", line 1194, in get_backup_device
    backup_device = self._get_backup_volume_temp_volume(
  File "/opt/stack/cinder/cinder/volume/driver.py", line 1236, in _get_backup_volume_temp_volume
    temp_vol_ref = self._create_temp_cloned_volume(
  File "/opt/stack/cinder/cinder/volume/driver.py", line 1348, in _create_temp_cloned_volume
    temp_vol_ref.destroy()
  File "/usr/local/lib/python3.8/dist-packages/oslo_utils/excutils.py", line 227, in __exit__
    self.force_reraise()
  File "/usr/local/lib/python3.8/dist-packages/oslo_utils/excutils.py", line 200, in force_reraise
    raise self.value
  File "/opt/stack/cinder/cinder/volume/driver.py", line 1343, in _create_temp_cloned_volume
    model_update = self.create_cloned_volume(temp_vol_ref, volume)
  File "/opt/stack/cinder/cinder/volume/drivers/infinidat.py", line 96, in wrapper
    return func(*args, **kwargs)
  File "/opt/stack/cinder/cinder/volume/drivers/infinidat.py", line 727, in create_cloned_volume
    self._asssert_volume_not_mapped(src_vref)
  File "/opt/stack/cinder/cinder/volume/drivers/infinidat.py", line 713, in _asssert_volume_not_mapped
    raise exception.VolumeBackendAPIException(data=msg)
cinder.exception.VolumeBackendAPIException: Bad or unexpected response from the storage volume backend API: INFINIDAT Cinder driver does not support clone of an attached volume. To get this done, create a snapshot from the attached volume and then create a volume from the snapshot.