-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
None
Description of problem:
retype from non encrypted to encrypted volume in ceph backend fails
Version-Release number of selected component (if applicable):
RHOSP13 latest minor version
docker exec -it $(docker ps|grep -i volume |awk '
{print $1}' ) bash
()[root@controller-0 /]# rpm -qa|grep -i cinder
python-cinder-12.0.8-3.el7ost.noarch
puppet-cinder-12.4.1-5.el7ost.noarch
openstack-cinder-12.0.8-3.el7ost.noarch
python2-cinderclient-3.5.0-1.el7ost.noarch
()[root@controller-0 /]# rpm -qa|grep -i os-brick
python2-os-brick-2.3.8-1.el7ost.noarch
How reproducible:
Always
Steps to Reproduce:
1. deploy RHOSP with cinder backend ceph, deploy barbican
2. create volume in ceph backend
3. create volume type for encryption
openstack volume type create --encryption-provider nova.volume.encryptors.luks.LuksEncryptor --encryption-cipher aes-xts-plain64 --encryption-key-size 256 --encryption-control-location front-end LuksEncryptor-Template-256
4. try to retype
#cinder retype test-encrypt LuksEncryptor-Template-256 --migration-policy on-demand
cinder type-list
------------------------------------------------------------------------------------+
ID | Name | Description | Is_Public |
------------------------------------------------------------------------------------+
097fb345-e7af-4d41-bb4b-1c81ddba36f0 | tripleo_lvm | True | |
151cec8d-7592-48b9-809d-32f9cad9b85c | LuksEncryptor-Template-256 | True | |
1bd2cf2a-0a98-454c-abd6-c929fccaf461 | tripleo_hpelefthand | True | |
1f5cf5ff-4ded-4283-9837-0fa9f2cc1999 | tripleo_nfs | True | |
535c37f4-a1c0-4fd6-a257-d4adf36eff4d | tripleo_ceph | True |
------------------------------------------------------------------------------------+
openstack volume show test-encrypt
--------------------------------------------------------------------+
Field | Value |
--------------------------------------------------------------------+
attachments | [] |
availability_zone | nova |
bootable | false |
consistencygroup_id | None |
created_at | 2020-01-21T14:08:41.000000 |
description | None |
encrypted | False |
id | 119b36f2-1410-4a42-b04a-7a78769ed2be |
migration_status | error <<-- after retype failed |
multiattach | False |
name | test-encrypt |
os-vol-host-attr:host | hostgroup@tripleo_ceph#tripleo_ceph |
os-vol-mig-status-attr:migstat | error |
os-vol-mig-status-attr:name_id | None |
os-vol-tenant-attr:tenant_id | a578afa9dad2434182d053c07ffba4b8 |
properties | |
replication_status | None |
size | 1 |
snapshot_id | None |
source_volid | None |
status | available |
type | tripleo_ceph |
updated_at | 2020-01-21T14:44:03.000000 |
user_id | f9ca5a979d024d58aba8804b29f9c804 |
--------------------------------------------------------------------+
Actual results:
fails with traceback
2020-01-21 14:26:04.423 58 INFO cinder.volume.manager [req-31e8a87c-71a8-4e43-b0fb-c00632db5f02 f9ca5a979d024d58aba8804b29f9c804 a578afa9dad2434182d053c07ffba4b8 - default default] Remove volume export completed successfully.
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager [req-31e8a87c-71a8-4e43-b0fb-c00632db5f02 f9ca5a979d024d58aba8804b29f9c804 a578afa9dad2434182d053c07ffba4b8 - default default] Failed to copy volume 119b36f2-1410-4a42-b04a-7a78769ed2
be to 4bd9f446-23d0-4f9c-b138-ec9116203902: AttributeError: 'RBDVolumeIOWrapper' object has no attribute 'rfind'
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager Traceback (most recent call last):
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager File "/usr/lib/python2.7/site-packages/cinder/volume/manager.py", line 2164, in _migrate_volume_generic
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager self._copy_volume_data(ctxt, volume, new_volume, remote='dest')
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager File "/usr/lib/python2.7/site-packages/cinder/volume/manager.py", line 2044, in _copy_volume_data
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager attach_encryptor=attach_encryptor)
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager File "/usr/lib/python2.7/site-packages/cinder/volume/manager.py", line 1991, in _attach_volume
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager force=True)
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in _exit_
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager self.force_reraise()
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager six.reraise(self.type_, self.value, self.tb)
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager File "/usr/lib/python2.7/site-packages/cinder/volume/manager.py", line 1985, in _attach_volume
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager encryption)
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager File "/usr/lib/python2.7/site-packages/cinder/utils.py", line 535, in brick_attach_volume_encryptor
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager **encryption)
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager File "/usr/lib/python2.7/site-packages/cinder/utils.py", line 527, in brick_get_encryptor
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager *args, **kwargs)
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager File "/usr/lib/python2.7/site-packages/os_brick/encryptors/_init_.py", line 91, in get_volume_encryptor
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager **kwargs)
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager File "/usr/lib/python2.7/site-packages/oslo_utils/importutils.py", line 44, in import_object
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager return import_class(import_str)(*args, **kwargs)
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager File "/usr/lib/python2.7/site-packages/os_brick/encryptors/luks.py", line 61, in _init_
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager *args, **kwargs)
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager File "/usr/lib/python2.7/site-packages/os_brick/encryptors/cryptsetup.py", line 60, in _init_
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager self.dev_name = 'crypt-%s' % os.path.basename(self.symlink_path)
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager File "/usr/lib64/python2.7/posixpath.py", line 121, in basename
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager i = p.rfind('/') + 1
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager AttributeError: 'RBDVolumeIOWrapper' object has no attribute 'rfind'
2020-01-21 14:26:04.424 58 ERROR cinder.volume.manager
2020-01-21 14:26:04.474 58 DEBUG cinder.coordination [req-31e8a87c-71a8-4e43-b0fb-c00632db5f02 f9ca5a979d024d58aba8804b29f9c804 a578afa9dad2434182d053c07ffba4b8 - default default] Lock "/var/lib/cinder/cinder-4bd9f446-23d0-4f9c-b138-ec9116203902-delete_volume" acquired by "delete_volume" :: waited 0.001s _synchronized /usr/lib/python2.7/site-packages/cinder/coordination.py:150
2020-01-21 14:26:04.584 58 DEBUG cinder.volume.drivers.rbd [req-31e8a87c-71a8-4e43-b0fb-c00632db5f02 f9ca5a979d024d58aba8804b29f9c804 a578afa9dad2434182d053c07ffba4b8 - default default] connecting to ceph (timeout=-1). _do_conn /usr/lib/python2.7/site-packages/cinder/volume/drivers/rbd.py:337
2020-01-21 14:26:04.675 58 DEBUG cinder.volume.drivers.rbd [req-31e8a87c-71a8-4e43-b0fb-c00632db5f02 f9ca5a979d024d58aba8804b29f9c804 a578afa9dad2434182d053c07ffba4b8 - default default] volume has no backup snaps _delete_backup_snaps /usr/lib/python2.7/site-packages/cinder/volume/drivers/rbd.py:950
2020-01-21 14:26:04.677 58 DEBUG cinder.volume.drivers.rbd [req-31e8a87c-71a8-4e43-b0fb-c00632db5f02 f9ca5a979d024d58aba8804b29f9c804 a578afa9dad2434182d053c07ffba4b8 - default default] Volume volume-4bd9f446-23d0-4f9c-b138-ec9116203902 is not a clone. _get_clone_info /usr/lib/python2.7/site-packages/cinder/volume/drivers/rbd.py:973
2020-01-21 14:26:04.682 58 DEBUG cinder.volume.drivers.rbd [req-31e8a87c-71a8-4e43-b0fb-c00632db5f02 f9ca5a979d024d58aba8804b29f9c804 a578afa9dad2434182d053c07ffba4b8 - default default] deleting rbd volume volume-4bd9f446-23d0-4f9c-b138-ec9116203902 delete_volume /usr/lib/python2.7/site-packages/cinder/volume/drivers/rbd.py:1071
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server [req-31e8a87c-71a8-4e43-b0fb-c00632db5f02 f9ca5a979d024d58aba8804b29f9c804 a578afa9dad2434182d053c07ffba4b8 - default default] Exception during message handling: AttributeError: 'RBDVolumeIOWrapper' object has no attribute 'rfind'
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server Traceback (most recent call last):
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/server.py", line 166, in _process_incoming
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server res = self.dispatcher.dispatch(message)
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 220, in dispatch
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server return self._do_dispatch(endpoint, method, ctxt, args)
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 190, in _do_dispatch
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server result = func(ctxt, **new_args)
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/cinder/volume/manager.py", line 2826, in retype
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server new_reservations, status_update)
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in _exit_
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server self.force_reraise()
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server six.reraise(self.type_, self.value, self.tb)
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/cinder/volume/manager.py", line 2822, in retype
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server new_type_id=new_type_id)
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/cinder/volume/manager.py", line 2431, in migrate_volume
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server volume.save()
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in _exit_
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server self.force_reraise()
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server six.reraise(self.type_, self.value, self.tb)
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/cinder/volume/manager.py", line 2424, in migrate_volume
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server self._migrate_volume_generic(ctxt, volume, host, new_type_id)
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/cinder/volume/manager.py", line 2186, in _migrate_volume_generic
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server new_volume)
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in _exit_
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server self.force_reraise()
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server six.reraise(self.type_, self.value, self.tb)
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/cinder/volume/manager.py", line 2164, in _migrate_volume_generic
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server self._copy_volume_data(ctxt, volume, new_volume, remote='dest')
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/cinder/volume/manager.py", line 2044, in _copy_volume_data
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server attach_encryptor=attach_encryptor)
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/cinder/volume/manager.py", line 1991, in _attach_volume
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server force=True)
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in _exit_
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server self.force_reraise()
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in 2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server six.reraise(self.type_, self.value, self.tb)
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/cinder/volume/manager.py", line 2164, in _migrate_volume_generic
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server self._copy_volume_data(ctxt, volume, new_volume, remote='dest')
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/cinder/volume/manager.py", line 2044, in _copy_volume_data
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server attach_encryptor=attach_encryptor)
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/cinder/volume/manager.py", line 1991, in _attach_volume
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server force=True)
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in _exit_
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server self.force_reraise()
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server six.reraise(self.type_, self.value, self.tb)
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/cinder/volume/manager.py", line 1985, in _attach_volume
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server encryption)
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/cinder/utils.py", line 535, in brick_attach_volume_encryptor
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server **encryption)
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/cinder/utils.py", line 527, in brick_get_encryptor
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server *args, **kwargs)
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/os_brick/encryptors/_init_.py", line 91, in get_volume_encryptor
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server **kwargs)
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_utils/importutils.py", line 44, in import_object
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server return import_class(import_str)(*args, **kwargs)
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/os_brick/encryptors/luks.py", line 61, in _init_
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server *args, **kwargs)
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/os_brick/encryptors/cryptsetup.py", line 60, in _init_
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server self.dev_name = 'crypt-%s' % os.path.basename(self.symlink_path)
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server File "/usr/lib64/python2.7/posixpath.py", line 121, in basename
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server i = p.rfind('/') + 1
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server AttributeError: 'RBDVolumeIOWrapper' object has no attribute 'rfind'
2020-01-21 14:26:04.738 58 ERROR oslo_messaging.rpc.server
2020-01-21 14:26:04.799 58 INFO cinder.volume.manager [req-31e8a87c-71a8-4e43-b0fb-c00632db5f02 f9ca5a979d024d58aba8804b29f9c804 a578afa9dad2434182d053c07ffba4b8 - default default] Deleted volume successfully.
2020-01-21 14:26:04.800 58 DEBUG cinder.coordination [req-31e8a87c-71a8-4e43-b0fb-c00632db5f02 f9ca5a979d024d58aba8804b29f9c804 a578afa9dad2434182d053c07ffba4b8 - default default] Lock "/var/lib/cinder/cinder-4bd9f446-23d0-4f9c-b138-ec9116203902-delete_volume" released by "delete_volume" :: held 0.326s _synchronized /usr/lib/python2.7/site-packages/cinder/coordination.py:162
force_reraise
Expected results:
re - type should complete
Additional info: