Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package yast2-iscsi-client for openSUSE:Factory checked in at 2025-11-01 23:34:22 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2-iscsi-client (Old) and /work/SRC/openSUSE:Factory/.yast2-iscsi-client.new.1980 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-iscsi-client" Sat Nov 1 23:34:22 2025 rev:153 rq:1314909 version:5.0.11 Changes: -------- --- /work/SRC/openSUSE:Factory/yast2-iscsi-client/yast2-iscsi-client.changes 2025-08-21 16:54:35.302081695 +0200 +++ /work/SRC/openSUSE:Factory/.yast2-iscsi-client.new.1980/yast2-iscsi-client.changes 2025-11-01 23:34:24.565953199 +0100 @@ -1,0 +2,10 @@ +Mon Oct 20 10:16:23 UTC 2025 - Ancor Gonzalez Sosa <[email protected]> + +- Do not perform an extra discovery during iBFT login, to prevent + the creation of problematic records at the node, interface and fw + databases (bsc#1247711). +- Introduce a delay after iBFT login, to increase the chances of + libstorage-ng to properly detect the new devices (bsc#1247711). +- 5.0.11 + +------------------------------------------------------------------- Old: ---- yast2-iscsi-client-5.0.10.tar.bz2 New: ---- yast2-iscsi-client-5.0.11.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-iscsi-client.spec ++++++ --- /var/tmp/diff_new_pack.LI7yie/_old 2025-11-01 23:34:25.133976949 +0100 +++ /var/tmp/diff_new_pack.LI7yie/_new 2025-11-01 23:34:25.137977116 +0100 @@ -17,7 +17,7 @@ Name: yast2-iscsi-client -Version: 5.0.10 +Version: 5.0.11 Release: 0 Summary: YaST2 - iSCSI Client Configuration License: GPL-2.0-only ++++++ yast2-iscsi-client-5.0.10.tar.bz2 -> yast2-iscsi-client-5.0.11.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-iscsi-client-5.0.10/package/yast2-iscsi-client.changes new/yast2-iscsi-client-5.0.11/package/yast2-iscsi-client.changes --- old/yast2-iscsi-client-5.0.10/package/yast2-iscsi-client.changes 2025-08-20 17:26:00.000000000 +0200 +++ new/yast2-iscsi-client-5.0.11/package/yast2-iscsi-client.changes 2025-10-31 15:22:36.000000000 +0100 @@ -1,4 +1,14 @@ ------------------------------------------------------------------- +Mon Oct 20 10:16:23 UTC 2025 - Ancor Gonzalez Sosa <[email protected]> + +- Do not perform an extra discovery during iBFT login, to prevent + the creation of problematic records at the node, interface and fw + databases (bsc#1247711). +- Introduce a delay after iBFT login, to increase the chances of + libstorage-ng to properly detect the new devices (bsc#1247711). +- 5.0.11 + +------------------------------------------------------------------- Tue Aug 19 10:52:39 UTC 2025 - Knut Anderssen <[email protected]> - Fix the initialization of the valid iscsi offload cards not diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-iscsi-client-5.0.10/package/yast2-iscsi-client.spec new/yast2-iscsi-client-5.0.11/package/yast2-iscsi-client.spec --- old/yast2-iscsi-client-5.0.10/package/yast2-iscsi-client.spec 2025-08-20 17:26:00.000000000 +0200 +++ new/yast2-iscsi-client-5.0.11/package/yast2-iscsi-client.spec 2025-10-31 15:22:36.000000000 +0100 @@ -17,7 +17,7 @@ Name: yast2-iscsi-client -Version: 5.0.10 +Version: 5.0.11 Release: 0 Summary: YaST2 - iSCSI Client Configuration License: GPL-2.0-only diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-iscsi-client-5.0.10/src/modules/IscsiClientLib.rb new/yast2-iscsi-client-5.0.11/src/modules/IscsiClientLib.rb --- old/yast2-iscsi-client-5.0.10/src/modules/IscsiClientLib.rb 2025-08-20 17:26:00.000000000 +0200 +++ new/yast2-iscsi-client-5.0.11/src/modules/IscsiClientLib.rb 2025-10-31 15:22:36.000000000 +0100 @@ -1046,13 +1046,11 @@ if !getiBFT.empty? result = SCR.Execute(path(".target.bash_output"), GetAdmCmd("-m fw -l")) ret = false if result["exit"] != 0 - - # Note that fw discovery does not store persistent records in the node or discovery DB, - # so this is likely only done for reporting purposes (writing the info to the YaST logs) log.info "Autologin into iBFT : #{result}" - result = SCR.Execute(path(".target.bash_output"), GetAdmCmd("-m discovery -t fw")) - log.info "iBFT discovery: #{result}" + # Give iSCSI some time, even if logon was not 100% successful + autologon_delay end + log.info "end of autoLogOn function" ret end @@ -1622,6 +1620,32 @@ [dev_name, hwaddr, type_label].compact.join(" - ") end + + # Method to be called after an iBFT login, to mitigate some known timing issues. + # + # See bsc#1247711 for some background. + # + # When this method is called, we are already logged into the iSCSI targets. But device detection + # in the kernel is asynchronous and the corresponding iSCSI devices may take some time to appear + # in the system. Moreover, there is no guarantee that the devices will all show up. According to + # a comment at bsc#1247711: "One or more paths being down is an acceptable situation. They + # may/should come up later, but there is no requirement that they be there at any given time". + # + # That could be a big problem for yast-storage-ng, which expects a complete and stable set of + # devices during its probing phase (eg. to properly detect multipath). + def autologon_delay + log.info "Giving some time to iSCSI" + sleep(10) + # Execute the following command just for logging purposes, it shows the relationship between + # existing sessions and kernel device names. Theoretically it could be used to detect whether + # all devices are available before the hard-coded delay of the previous line, but we decided + # to keep the code simple. + res = SCR.Execute(path(".target.bash_output"), GetAdmCmd("-m session -P3")) + log.info "iscsiadm result: #{res}" + # Invoking udevadm just in case some of the devices showed up but it is not ready yet. + # This probably makes no difference, but it will not hurt either. + Yast::Execute.locally("/usr/bin/udevadm", "settle", "--timeout=15") + end end IscsiClientLib = IscsiClientLibClass.new
