Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package yast2-installation for openSUSE:Factory checked in at 2024-01-29 22:26:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2-installation (Old) and /work/SRC/openSUSE:Factory/.yast2-installation.new.1815 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-installation" Mon Jan 29 22:26:57 2024 rev:529 rq:1142203 version:5.0.5 Changes: -------- --- /work/SRC/openSUSE:Factory/yast2-installation/yast2-installation.changes 2024-01-26 22:46:42.979007587 +0100 +++ /work/SRC/openSUSE:Factory/.yast2-installation.new.1815/yast2-installation.changes 2024-01-29 22:27:05.201249359 +0100 @@ -1,0 +2,7 @@ +Fri Jan 26 12:26:06 UTC 2024 - Knut Anderssen <[email protected]> + +- In zVM or KVM installations the cio_ignore kernel argument will + be written only if given (bsc#1210525). +- 5.0.5 + +------------------------------------------------------------------- Old: ---- yast2-installation-5.0.4.tar.bz2 New: ---- yast2-installation-5.0.5.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-installation.spec ++++++ --- /var/tmp/diff_new_pack.yrY1Dh/_old 2024-01-29 22:27:06.001278357 +0100 +++ /var/tmp/diff_new_pack.yrY1Dh/_new 2024-01-29 22:27:06.001278357 +0100 @@ -17,7 +17,7 @@ Name: yast2-installation -Version: 5.0.4 +Version: 5.0.5 Release: 0 Summary: YaST2 - Installation Parts License: GPL-2.0-only @@ -28,8 +28,8 @@ Source2: YaST2-Firstboot.service BuildRequires: update-desktop-files -# Kernel: Read kernel arguments from cmdline if install.inf does not exist (bsc#1216408). -BuildRequires: yast2 >= 5.0.4 +# Kernel: Use is_zvm from Yast::Arch +BuildRequires: yast2 >= 5.0.5 # Whitelist cio_ignore s390 parameter BuildRequires: yast2-bootloader >= 5.0.4 # storage-ng based version ++++++ yast2-installation-5.0.4.tar.bz2 -> yast2-installation-5.0.5.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-5.0.4/package/yast2-installation.changes new/yast2-installation-5.0.5/package/yast2-installation.changes --- old/yast2-installation-5.0.4/package/yast2-installation.changes 2024-01-25 15:46:25.000000000 +0100 +++ new/yast2-installation-5.0.5/package/yast2-installation.changes 2024-01-29 10:39:46.000000000 +0100 @@ -1,4 +1,11 @@ ------------------------------------------------------------------- +Fri Jan 26 12:26:06 UTC 2024 - Knut Anderssen <[email protected]> + +- In zVM or KVM installations the cio_ignore kernel argument will + be written only if given (bsc#1210525). +- 5.0.5 + +------------------------------------------------------------------- Thu Jan 25 10:09:51 UTC 2024 - Knut Anderssen <[email protected]> - Keep cio_ignore kernel argument when present in the parmfile or diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-5.0.4/package/yast2-installation.spec new/yast2-installation-5.0.5/package/yast2-installation.spec --- old/yast2-installation-5.0.4/package/yast2-installation.spec 2024-01-25 15:46:25.000000000 +0100 +++ new/yast2-installation-5.0.5/package/yast2-installation.spec 2024-01-29 10:39:46.000000000 +0100 @@ -16,7 +16,7 @@ # Name: yast2-installation -Version: 5.0.4 +Version: 5.0.5 Release: 0 Summary: YaST2 - Installation Parts License: GPL-2.0-only @@ -27,8 +27,8 @@ Source2: YaST2-Firstboot.service BuildRequires: update-desktop-files -# Kernel: Read kernel arguments from cmdline if install.inf does not exist (bsc#1216408). -BuildRequires: yast2 >= 5.0.4 +# Kernel: Use is_zvm from Yast::Arch +BuildRequires: yast2 >= 5.0.5 # Whitelist cio_ignore s390 parameter BuildRequires: yast2-bootloader >= 5.0.4 # storage-ng based version diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-5.0.4/src/lib/installation/cio_ignore.rb new/yast2-installation-5.0.5/src/lib/installation/cio_ignore.rb --- old/yast2-installation-5.0.4/src/lib/installation/cio_ignore.rb 2024-01-25 15:46:25.000000000 +0100 +++ new/yast2-installation-5.0.5/src/lib/installation/cio_ignore.rb 2024-01-29 10:39:46.000000000 +0100 @@ -36,11 +36,27 @@ rd_zdev != "no-auto" end - # Get current device blacklist setting (cio_ignore kernel option) + # Get current device blacklist setting (cio_ignore kernel option). # # @return [Boolean] def cio_setting - Yast::Mode.autoinst ? Yast::AutoinstConfig.cio_ignore : true + if Yast::Mode.autoinst + Yast::AutoinstConfig.cio_ignore + else + Yast.import "Arch" + # In case of given as a kernel parameter we should respect it, + # if not it will depend on the installation environment (bsc#1210525) + # cio_ignore does not make sense for KVM or z/VM (fate#317861) + # but for other cases return true as requested FATE#315586 + cio_ignore_given? || !(Yast::Arch.is_zkvm || Yast::Arch.is_zvm) + end + end + + # Whether the cio_ignore kernel parameter was given or not + # + # @return [Boolean] + def cio_ignore_given? + Yast::Bootloader.kernel_param(:common, "cio_ignore") != :missing end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-5.0.4/test/cio_ignore_test.rb new/yast2-installation-5.0.5/test/cio_ignore_test.rb --- old/yast2-installation-5.0.4/test/cio_ignore_test.rb 2024-01-25 15:46:25.000000000 +0100 +++ new/yast2-installation-5.0.5/test/cio_ignore_test.rb 2024-01-29 10:39:46.000000000 +0100 @@ -7,17 +7,20 @@ Yast.import "Bootloader" describe ::Installation::CIOIgnore do + let(:param) { :missing } + let(:zvm) { false } + let(:kvm) { false } + let(:auto) { false } + before do + arch_mock = double("Yast::Arch", s390: false, is_zkvm: kvm, is_zvm: zvm) + stub_const("Yast::Arch", arch_mock) allow(Yast::Bootloader).to receive(:kernel_param).with(:common, "rd.zdev") + allow(Yast::Bootloader).to receive(:kernel_param).with(:common, "cio_ignore").and_return(param) + allow(Yast::Mode).to receive(:autoinst).and_return(auto) end describe "cio_ignore enable/disable" do - let(:auto) { false } - - before do - allow(Yast::Mode).to receive(:autoinst).and_return(auto) - end - context "in autoinstallation" do let(:auto) { true } @@ -36,6 +39,44 @@ end end end + + describe "cio_ignore default value" do + before(:each) do + ::Installation::CIOIgnore.instance.reset + end + + context "when the cio_kernel argument is given" do + let(:param) { "all,!ipdev,!condev" } + + it "returns true" do + expect(::Installation::CIOIgnore.instance.cio_enabled).to eq(true) + end + end + + context "when the cio_kernel argument is not given" do + context "in zVM" do + let(:zvm) { true } + + it "returns true" do + expect(::Installation::CIOIgnore.instance.cio_enabled).to eq(false) + end + end + + context "in KVM" do + let(:kvm) { true } + + it "returns true" do + expect(::Installation::CIOIgnore.instance.cio_enabled).to eq(false) + end + end + + context "in LPAR and others" do + it "returns false" do + expect(::Installation::CIOIgnore.instance.cio_enabled).to eq(true) + end + end + end + end end describe ::Installation::CIOIgnoreProposal do @@ -43,6 +84,7 @@ before(:each) do allow(Yast::Bootloader).to receive(:kernel_param).with(:common, "rd.zdev") + allow(Yast::Bootloader).to receive(:kernel_param).with(:common, "cio_ignore") ::Installation::CIOIgnore.instance.reset end
