[cinder][requirements] python-cinderclient Yoga gate broken due to rtslib-fb
Hello,
Currently python-cinderclient yoga gate is broken because *python-cinderclient-functional-py39* job is failing. Upon looking into the logs, I found the *cinder-rtstool delete *command failing[1].
Jan 16 07:58:14.935519 np0032740756 cinder-volume[115744]: ERROR cinder.volume.targets.lio Command: sudo cinder-rootwrap /etc/cinder/rootwrap.conf cinder-rtstool delete iqn.2010-10.org.openstack:volume-095ce534-8ef7-45c8-867c-f6d4fbc2b02d Jan 16 07:58:14.935519 np0032740756 cinder-volume[115744]: ERROR cinder.volume.targets.lio Exit code: 1 Jan 16 07:58:14.935519 np0032740756 cinder-volume[115744]: ERROR cinder.volume.targets.lio Stdout: ''
Looking further into the traceback, this seems to be the main issue.
line 215, in _gen_attached_luns\n for tpgt_dir in listdir(tpgts_base):\nNotADirectoryError: [Errno 20] Not a directory: '/sys/kernel/config/target/iscsi/cpus_allowed_list'\n'
I found a similar (not exact) error in thread[2] to which there was a reply that it was fixed[3].
The fix is included in version 2.1.75[4] but the version pinned in upper constraints for yoga is 2.1.74[5]. I've tested the version bump in these DNM patches[6][7] and it works. A quick code search reveals that cinder is the only project actively using this lib[8]. My question for the requirements team is, is it OK to bump the requirement to allow cinderclient yoga gate to pass since it's blocking backports?
[1] https://zuul.opendev.org/t/openstack/build/a282bfbb6b0a4148a69694db6ab7eb69/... [2] https://www.spinics.net/lists/linux-scsi/msg172264.html [3] https://www.spinics.net/lists/linux-scsi/msg172265.html [4] https://github.com/open-iscsi/rtslib-fb/commit/8d2543c4da62e962661011fea5b19... [5] https://github.com/openstack/requirements/blob/stable/yoga/upper-constraints... [6] https://review.opendev.org/c/openstack/python-cinderclient/+/870513 [7] https://review.opendev.org/c/openstack/requirements/+/870714 [8] https://codesearch.opendev.org/?q=rtslib-fb&i=nope&literal=nope&...
Thanks Rajat Dhasmana
On 2023-01-30 14:14:19 +0530 (+0530), Rajat Dhasmana wrote:
Currently python-cinderclient yoga gate is broken because *python-cinderclient-functional-py39* job is failing. Upon looking into the logs, I found the *cinder-rtstool delete *command failing[1].
[...]
Presumably it was working with the listed requirements at one time. Do you happen to know what changed to cause the bug you mentioned to suddenly appear?
Hi Jeremy,
On Mon, Jan 30, 2023 at 7:13 PM Jeremy Stanley fungi@yuggoth.org wrote:
On 2023-01-30 14:14:19 +0530 (+0530), Rajat Dhasmana wrote:
Currently python-cinderclient yoga gate is broken because *python-cinderclient-functional-py39* job is failing. Upon looking into the logs, I found the *cinder-rtstool delete *command failing[1].
[...]
Presumably it was working with the listed requirements at one time. Do you happen to know what changed to cause the bug you mentioned to suddenly appear?
I'm not 100% sure but I think something changed in the kernel (i.e. they added a directory path in the iSCSI target list *cpus_allowed_list* which rtslib-fb doesn't recognize) that started causing failure in the rtslib-fb library. Based on the thread[1], Commit: *d72d827f2f26 ("scsi: target: Add iscsi/cpus_allowed_list in configfs") *seems to be causing the issue. Also looking at the fix in rtslib-fb[2], they are excluding the directory *"cpus_allowed_list" *which is failing in our gate job as Not a directory error.
[Errno 20] Not a directory: '/sys/kernel/config/target/iscsi/ *cpus_allowed_list*\
Commit message of fix:
target has been added cpus_allowed_list attribute in sysfs. Therefore, the rtslib should handle the new attribute: 1. add cpus_allowed_list item in target_names_excludes 2. add cpus_allowed_list feature in ISCSIFabricModule
This fix is released in rtslib-fb version 2.7.5 and yoga u-c is pinned to 2.7.4.
[1] https://www.spinics.net/lists/linux-scsi/msg172264.html [2] https://github.com/open-iscsi/rtslib-fb/commit/8d2543c4da62e962661011fea5b19...
participants (2)
-
Jeremy Stanley
-
Rajat Dhasmana