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
 

Reply via email to