[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&files=&excludeFiles=&repos= 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? -- Jeremy Stanley
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... --
Jeremy Stanley
participants (2)
-
Jeremy Stanley
-
Rajat Dhasmana