From 8bc71cd64e63699c40cabdda4c495ee791a4d32d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Knut=20Alejandro=20Anderssen=20Gonz=C3=A1lez?= Date: Fri, 6 Oct 2017 07:44:55 +0100 Subject: [PATCH 01/11] SuSEFirewallClass: IsInstalled does not return true if Pkg is selected --- .../network/src/lib/network/susefirewall.rb | 36 +++++++++++-------- .../network/src/lib/network/susefirewall2.rb | 1 - 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/library/network/src/lib/network/susefirewall.rb b/library/network/src/lib/network/susefirewall.rb index 95ac7075a..fe71bdbcb 100644 --- a/library/network/src/lib/network/susefirewall.rb +++ b/library/network/src/lib/network/susefirewall.rb @@ -97,7 +97,7 @@ def GetEnableService # # @param boolean start_service at Write() process def SetEnableService(enable_service) - if !SuSEFirewallIsInstalled() + if !SuSEFirewallIsSelectedOrInstalled() Builtins.y2warning("Cannot set SetEnableService") return nil end @@ -536,21 +536,27 @@ def IsKnownZone(zone) # installation) # # @return [Boolean] whether the selected firewall backend is installed - def SuSEFirewallIsInstalled - # Always recheck the status in inst-sys, user/solver might have change - # the list of packages selected for installation - # bnc#892935: in inst_finish, the package is already installed + def SuSEFirewallIsSelectedOrInstalled if Stage.initial - @needed_packages_installed = Pkg.IsSelected(@FIREWALL_PACKAGE) || PackageSystem.Installed(@FIREWALL_PACKAGE) - log.info "Selected for installation/installed -> #{@needed_packages_installed}" - elsif @needed_packages_installed.nil? - if Mode.normal - @needed_packages_installed = PackageSystem.CheckAndInstallPackages([@FIREWALL_PACKAGE]) - log.info "CheckAndInstallPackages -> #{@needed_packages_installed}" - else - @needed_packages_installed = PackageSystem.Installed(@FIREWALL_PACKAGE) - log.info "Installed -> #{@needed_packages_installed}" - end + @needed_packages_selected = Pkg.IsSelected(@FIREWALL_PACKAGE) + log.info "Selected for installation -> #{@needed_packages_installed}" + + return true if @needed_packages_selected + end + + SuSEFirewallIsInstalled() + end + + # Returns whether all needed packages are installed + # + # @return [Boolean] whether the selected firewall backend is installed + def SuSEFirewallIsInstalled + if Mode.normal + @needed_packages_installed = PackageSystem.CheckAndInstallPackages([@FIREWALL_PACKAGE]) + log.info "CheckAndInstallPackages -> #{@needed_packages_installed}" + else + @needed_packages_installed = PackageSystem.Installed(@FIREWALL_PACKAGE) + log.info "Installed -> #{@needed_packages_installed}" end @needed_packages_installed diff --git a/library/network/src/lib/network/susefirewall2.rb b/library/network/src/lib/network/susefirewall2.rb index 3136bb4ae..c5c03eb80 100644 --- a/library/network/src/lib/network/susefirewall2.rb +++ b/library/network/src/lib/network/susefirewall2.rb @@ -2757,7 +2757,6 @@ def full_init_on_boot(new_state) publish function: :AddServiceSupportIntoZone, type: "void (string, string)", private: true publish variable: :check_and_install_package, type: "boolean", private: true publish function: :SetInstallPackagesIfMissing, type: "void (boolean)" - publish variable: :needed_packages_installed, type: "boolean", private: true publish function: :SuSEFirewallIsInstalled, type: "boolean ()" publish variable: :fw_service_can_be_configured, type: "boolean", private: true publish function: :GetModified, type: "boolean ()" From 33569d69fafbea8a5b3f003ba4f27af2d72379a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Knut=20Alejandro=20Anderssen=20Gonz=C3=A1lez?= Date: Fri, 6 Oct 2017 09:00:30 +0100 Subject: [PATCH 02/11] SuSEFirewall.SetStartService can also be called if only selected. --- library/network/src/lib/network/susefirewall.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/network/src/lib/network/susefirewall.rb b/library/network/src/lib/network/susefirewall.rb index fe71bdbcb..471c0c5d9 100644 --- a/library/network/src/lib/network/susefirewall.rb +++ b/library/network/src/lib/network/susefirewall.rb @@ -60,7 +60,7 @@ def GetStartService # @param [Boolean] start_service at Write() process # @see #GetStartService() def SetStartService(start_service) - if !SuSEFirewallIsInstalled() + if !SuSEFirewallIsSelectedOrInstalled() Builtins.y2warning("Cannot set SetStartService") return nil end From ab3d74c54d2e2280e19ceb4e260d19ca42bf4fe4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Knut=20Alejandro=20Anderssen=20Gonz=C3=A1lez?= Date: Fri, 6 Oct 2017 09:57:29 +0100 Subject: [PATCH 03/11] SuSEFirewall: allow to read and fillup configuration if the package has been just selected --- library/network/src/lib/network/susefirewall2.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/network/src/lib/network/susefirewall2.rb b/library/network/src/lib/network/susefirewall2.rb index c5c03eb80..9c2691030 100644 --- a/library/network/src/lib/network/susefirewall2.rb +++ b/library/network/src/lib/network/susefirewall2.rb @@ -1526,7 +1526,7 @@ def Read end # bnc #887406 - if !FileUtils.Exists(CONFIG_FILE) || !SuSEFirewallIsInstalled() + if !FileUtils.Exists(CONFIG_FILE) || !SuSEFirewallIsSelectedOrInstalled() log.warn "No firewall config -> firewall can't be read" FillUpEmptyConfig() return false From 759b84470f24f3f99c77ffe44a85fa2e9ab492e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Knut=20Alejandro=20Anderssen=20Gonz=C3=A1lez?= Date: Fri, 6 Oct 2017 11:39:48 +0100 Subject: [PATCH 04/11] Adapted tests. --- library/network/test/susefirewall_test.rb | 28 +++------------------- library/network/test/susefirewalld_test.rb | 14 +++-------- 2 files changed, 6 insertions(+), 36 deletions(-) diff --git a/library/network/test/susefirewall_test.rb b/library/network/test/susefirewall_test.rb index 342b9c303..ca64e97ce 100755 --- a/library/network/test/susefirewall_test.rb +++ b/library/network/test/susefirewall_test.rb @@ -24,59 +24,37 @@ def reset_SuSEFirewallIsInstalled_cache end context "while in inst-sys" do - it "returns whether SuSEfirewall2 is selected for installation or already installed" do - expect(Yast::Stage).to receive(:stage).and_return("initial").at_least(:once) + it "returns whether SuSEfirewall2 is installed or not" do + expect(Yast::Mode).to receive(:mode).and_return("installation").twice - # Value is not cached - expect(Yast::Pkg).to receive(:IsSelected).and_return(true, false, false).exactly(3).times - # Fallback: if not selected, checks whether the package is installed + # Checks whether the package is installed expect(Yast::PackageSystem).to receive(:Installed).and_return(false, true).twice - # Selected - expect(subject.SuSEFirewallIsInstalled).to eq(true) - # Not selected and not installed expect(subject.SuSEFirewallIsInstalled).to eq(false) - # Not selected, but installed expect(subject.SuSEFirewallIsInstalled).to eq(true) end end context "while on a running system (normal configuration)" do it "returns whether SuSEfirewall2 was or could have been installed" do - expect(Yast::Stage).to receive(:stage).and_return("normal").at_least(:once) expect(Yast::Mode).to receive(:mode).and_return("normal").at_least(:once) # Value is cached expect(Yast::PackageSystem).to receive(:CheckAndInstallPackages).and_return(true, false).twice expect(subject.SuSEFirewallIsInstalled).to eq(true) - expect(subject.SuSEFirewallIsInstalled).to eq(true) - expect(subject.SuSEFirewallIsInstalled).to eq(true) - - reset_SuSEFirewallIsInstalled_cache - - expect(subject.SuSEFirewallIsInstalled).to eq(false) - expect(subject.SuSEFirewallIsInstalled).to eq(false) expect(subject.SuSEFirewallIsInstalled).to eq(false) end end context "while in AutoYast config" do it "returns whether SuSEfirewall2 is installed" do - expect(Yast::Stage).to receive(:stage).and_return("normal").at_least(:once) expect(Yast::Mode).to receive(:mode).and_return("autoinst_config").at_least(:once) # Value is cached expect(Yast::PackageSystem).to receive(:Installed).and_return(false, true).twice expect(subject.SuSEFirewallIsInstalled).to eq(false) - expect(subject.SuSEFirewallIsInstalled).to eq(false) - expect(subject.SuSEFirewallIsInstalled).to eq(false) - - reset_SuSEFirewallIsInstalled_cache - - expect(subject.SuSEFirewallIsInstalled).to eq(true) - expect(subject.SuSEFirewallIsInstalled).to eq(true) expect(subject.SuSEFirewallIsInstalled).to eq(true) end end diff --git a/library/network/test/susefirewalld_test.rb b/library/network/test/susefirewalld_test.rb index 45113c201..145d6dd5c 100755 --- a/library/network/test/susefirewalld_test.rb +++ b/library/network/test/susefirewalld_test.rb @@ -34,26 +34,19 @@ def reset_FirewallDIsInstalled_cache end context "while in inst-sys" do - it "returns whether FirewallD is selected for installation or already installed" do - expect(Yast::Stage).to receive(:stage).and_return("initial").at_least(:once) + it "returns whether FirewallD is installed or not" do + expect(Yast::Mode).to receive(:mode).and_return("installation").at_least(:twice) - # Value is not cached - expect(Yast::Pkg).to receive(:IsSelected).and_return(true, false, false).exactly(3).times - # Fallback: if not selected, checks whether the package is installed + # Checks whether the package is installed expect(Yast::PackageSystem).to receive(:Installed).and_return(false, true).twice - # Selected - expect(subject.SuSEFirewallIsInstalled).to eq(true) - # Not selected and not installed expect(subject.SuSEFirewallIsInstalled).to eq(false) - # Not selected, but installed expect(subject.SuSEFirewallIsInstalled).to eq(true) end end context "while on a running system (normal configuration)" do it "returns whether FirewallD was or could have been installed" do - expect(Yast::Stage).to receive(:stage).and_return("normal").at_least(:once) expect(Yast::Mode).to receive(:mode).and_return("normal").at_least(:once) expect(Yast::PackageSystem).to receive(:CheckAndInstallPackages).and_return(true, false) @@ -70,7 +63,6 @@ def reset_FirewallDIsInstalled_cache context "while in AutoYast config" do it "returns whether FirewallD is installed" do - expect(Yast::Stage).to receive(:stage).and_return("normal").at_least(:once) expect(Yast::Mode).to receive(:mode).and_return("autoinst_config").at_least(:once) expect(Yast::PackageSystem).to receive(:Installed).and_return(false, true) From 03f7e6bb0fe73bf8181051cb07e5ab0abbc8dbf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Knut=20Alejandro=20Anderssen=20Gonz=C3=A1lez?= Date: Fri, 6 Oct 2017 12:09:09 +0100 Subject: [PATCH 05/11] Bump version & changelog. --- package/yast2.changes | 13 +++++++++++++ package/yast2.spec | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/package/yast2.changes b/package/yast2.changes index 69ec777f4..73e174d7b 100644 --- a/package/yast2.changes +++ b/package/yast2.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Fri Oct 6 11:02:12 UTC 2017 - knut.anderssen@suse.com + +- Adapted SuSEFirewallIsInstalled() to return true only when the + package is already installed or checked and installed in normal + mode. +- Added SuSEFirewallIsSelectedOrInstalled() which behaves as the + old SuSEFirewallIsInstalled() method. + (bnc#1037214) +- Adapted calls to use SuSEFirewallIsSelectedOrInstalled() when + the methods can be called even with just Pkg selection. +- 3.1.217 + ------------------------------------------------------------------- Tue May 30 12:05:21 UTC 2017 - gsouza@suse.com diff --git a/package/yast2.spec b/package/yast2.spec index 47519ff1d..21cd1fdbe 100644 --- a/package/yast2.spec +++ b/package/yast2.spec @@ -17,7 +17,7 @@ Name: yast2 -Version: 3.1.216 +Version: 3.1.217 Release: 0 Summary: YaST2 - Main Package License: GPL-2.0 From ac6c4f22bff0b92c3b61f4b1813b5e1c3e4a186d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Knut=20Alejandro=20Anderssen=20Gonz=C3=A1lez?= Date: Fri, 6 Oct 2017 12:30:58 +0100 Subject: [PATCH 06/11] SuSEFirewall maintain cached if the packages are already installed. --- library/network/src/lib/network/susefirewall.rb | 10 +++++++--- library/network/test/susefirewall_test.rb | 7 +++++++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/library/network/src/lib/network/susefirewall.rb b/library/network/src/lib/network/susefirewall.rb index 471c0c5d9..5a2acc813 100644 --- a/library/network/src/lib/network/susefirewall.rb +++ b/library/network/src/lib/network/susefirewall.rb @@ -537,11 +537,13 @@ def IsKnownZone(zone) # # @return [Boolean] whether the selected firewall backend is installed def SuSEFirewallIsSelectedOrInstalled + return true if @needed_packages_installed + if Stage.initial - @needed_packages_selected = Pkg.IsSelected(@FIREWALL_PACKAGE) - log.info "Selected for installation -> #{@needed_packages_installed}" + packages_selected = Pkg.IsSelected(@FIREWALL_PACKAGE) + log.info "Selected for installation -> #{packages_selected}" - return true if @needed_packages_selected + return true if packages_selected end SuSEFirewallIsInstalled() @@ -551,6 +553,8 @@ def SuSEFirewallIsSelectedOrInstalled # # @return [Boolean] whether the selected firewall backend is installed def SuSEFirewallIsInstalled + return true if @needed_packages_installed + if Mode.normal @needed_packages_installed = PackageSystem.CheckAndInstallPackages([@FIREWALL_PACKAGE]) log.info "CheckAndInstallPackages -> #{@needed_packages_installed}" diff --git a/library/network/test/susefirewall_test.rb b/library/network/test/susefirewall_test.rb index ca64e97ce..650d51bdc 100755 --- a/library/network/test/susefirewall_test.rb +++ b/library/network/test/susefirewall_test.rb @@ -32,6 +32,8 @@ def reset_SuSEFirewallIsInstalled_cache expect(subject.SuSEFirewallIsInstalled).to eq(false) expect(subject.SuSEFirewallIsInstalled).to eq(true) + # Value is cached if true + expect(subject.SuSEFirewallIsInstalled).to eq(true) end end @@ -43,6 +45,11 @@ def reset_SuSEFirewallIsInstalled_cache expect(Yast::PackageSystem).to receive(:CheckAndInstallPackages).and_return(true, false).twice expect(subject.SuSEFirewallIsInstalled).to eq(true) + # Value is cached if true + expect(subject.SuSEFirewallIsInstalled).to eq(true) + + reset_SuSEFirewallIsInstalled_cache + expect(subject.SuSEFirewallIsInstalled).to eq(false) end end From 7ddbeebf9986b29b5d7169e8e21b7101bd5f82c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Knut=20Alejandro=20Anderssen=20Gonz=C3=A1lez?= Date: Fri, 6 Oct 2017 12:42:23 +0100 Subject: [PATCH 07/11] Added test for #SuSEFirewallIsSelectedOrInstalled --- library/network/test/susefirewall_test.rb | 34 ++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/library/network/test/susefirewall_test.rb b/library/network/test/susefirewall_test.rb index 650d51bdc..0dd936d4c 100755 --- a/library/network/test/susefirewall_test.rb +++ b/library/network/test/susefirewall_test.rb @@ -18,6 +18,37 @@ def reset_SuSEFirewallIsInstalled_cache describe FakeFirewall do + describe "#SuSEFirewallIsSelectedOrInstalled" do + context "while in inst-sys" do + it "returns whether SuSEfirewall2 is selected for installation or already installed" do + expect(Yast::Stage).to receive(:stage).and_return("initial").at_least(:once) + + # Value is not cached + expect(Yast::Pkg).to receive(:IsSelected).and_return(true, false, false).exactly(3).times + # Fallback: if not selected, checks whether the package is installed + expect(subject).to receive(:SuSEFirewallIsInstalled).and_return(false, true).twice + + # Selected + expect(subject.SuSEFirewallIsSelectedOrInstalled).to eq(true) + # Not selected and not installed + expect(subject.SuSEFirewallIsSelectedOrInstalled).to eq(false) + # Not selected, but installed + expect(subject.SuSEFirewallIsSelectedOrInstalled).to eq(true) + end + end + + context "while on a running system or AutoYast config" do + it "returns whether SuSEfirewall2 was or could have been installed" do + expect(Yast::Stage).to receive(:stage).and_return("normal").twice + + expect(subject).to receive(:SuSEFirewallIsInstalled).and_return(false, true).twice + + expect(subject.SuSEFirewallIsSelectedOrInstalled).to eq(false) + expect(subject.SuSEFirewallIsSelectedOrInstalled).to eq(true) + end + end + end + describe "#SuSEFirewallIsInstalled" do before(:each) do reset_SuSEFirewallIsInstalled_cache @@ -58,11 +89,12 @@ def reset_SuSEFirewallIsInstalled_cache it "returns whether SuSEfirewall2 is installed" do expect(Yast::Mode).to receive(:mode).and_return("autoinst_config").at_least(:once) - # Value is cached expect(Yast::PackageSystem).to receive(:Installed).and_return(false, true).twice expect(subject.SuSEFirewallIsInstalled).to eq(false) expect(subject.SuSEFirewallIsInstalled).to eq(true) + # Value is cached if true + expect(subject.SuSEFirewallIsInstalled).to eq(true) end end end From 59fd1fb95af1bd14dbbcdf48f1a5b20096f72112 Mon Sep 17 00:00:00 2001 From: Michal Filka Date: Wed, 4 Jan 2017 11:09:01 +0100 Subject: [PATCH 08/11] Use full type detection when reading ifcfgs. bnc#956755 Read used type detection based on ifcfg content before. The user can easily get confused when having e.g. bridge over wlan in such case. Bcs the device is cached as wlan when type is detected according ifcfg but full detection reports that as bridge. --- library/network/src/modules/NetworkInterfaces.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/library/network/src/modules/NetworkInterfaces.rb b/library/network/src/modules/NetworkInterfaces.rb index 97920efcf..09d9efd1b 100644 --- a/library/network/src/modules/NetworkInterfaces.rb +++ b/library/network/src/modules/NetworkInterfaces.rb @@ -791,7 +791,9 @@ def adapt_old_config! # @param [Hash] a map with netconfig (ifcfg) configuration # def add_device(device, ifcfg) - devtype = GetTypeFromIfcfg(ifcfg) || GetType(device) + # if possible use dev type as available in /sys otherwise use ifcfg config + # as a fallback for device type detection + devtype = GetTypeFromIfcfgOrName(device, ifcfg) @Devices[devtype] ||= {} @Devices[devtype][device] = ifcfg end From d844869ea80c555005b3f083164dd4e94548aea3 Mon Sep 17 00:00:00 2001 From: Michal Filka Date: Fri, 24 Nov 2017 19:05:36 +0100 Subject: [PATCH 09/11] Updated changelog --- package/yast2.changes | 8 ++++++++ package/yast2.spec | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/package/yast2.changes b/package/yast2.changes index 73e174d7b..e4d5fa009 100644 --- a/package/yast2.changes +++ b/package/yast2.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri Nov 24 17:55:50 UTC 2017 - mfilka@suse.com + +- bnc#956755, bnc#1061306 + - fixed storing device information to avoid incorrect "not found" + states when querying NetworkInterfaces subsequently +- 3.1.218 + ------------------------------------------------------------------- Fri Oct 6 11:02:12 UTC 2017 - knut.anderssen@suse.com diff --git a/package/yast2.spec b/package/yast2.spec index 21cd1fdbe..3d56a29cd 100644 --- a/package/yast2.spec +++ b/package/yast2.spec @@ -17,7 +17,7 @@ Name: yast2 -Version: 3.1.217 +Version: 3.1.218 Release: 0 Summary: YaST2 - Main Package License: GPL-2.0 From c8163b0924364ff3469a9c4ce2d15af6f10a0ce2 Mon Sep 17 00:00:00 2001 From: Michal Filka Date: Tue, 28 Nov 2017 10:14:21 +0100 Subject: [PATCH 10/11] Fixed (old) testsuite --- library/network/testsuite/tests/NetworkInterfaces2.out | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/library/network/testsuite/tests/NetworkInterfaces2.out b/library/network/testsuite/tests/NetworkInterfaces2.out index 2dff2d40e..4cd72ddee 100644 --- a/library/network/testsuite/tests/NetworkInterfaces2.out +++ b/library/network/testsuite/tests/NetworkInterfaces2.out @@ -37,6 +37,8 @@ Dir .network.value."eth0.3": ["BOOTPROTO", "ETHERDEVICE", "STARTMODE"] Read .network.value."eth0.3".BOOTPROTO "dhcp" Read .network.value."eth0.3".ETHERDEVICE "eth0" Read .network.value."eth0.3".STARTMODE "manual" +Read .target.stat "/sys/class/net/eth0.3/type" nil +Read .target.string "/sys/class/net/eth0.3/type" nil Dir .network.value."eth5": ["BOOTPROTO", "STARTMODE"] Read .network.value."eth5".BOOTPROTO "dhcp" Read .network.value."eth5".STARTMODE "manual" @@ -112,6 +114,8 @@ Read .network.value."myvlantoo".BOOTPROTO "dhcp" Read .network.value."myvlantoo".ETHERDEVICE "eth0" Read .network.value."myvlantoo".STARTMODE "manual" Read .network.value."myvlantoo".VLAN_ID "2" +Read .target.stat "/sys/class/net/myvlantoo/type" nil +Read .target.string "/sys/class/net/myvlantoo/type" nil Dir .network.value."ppp5": ["BOOTPROTO", "STARTMODE"] Read .network.value."ppp5".BOOTPROTO "dhcp" Read .network.value."ppp5".STARTMODE "manual" @@ -126,10 +130,14 @@ Dir .network.value."virtlan4": ["BOOTPROTO", "ETHERDEVICE", "STARTMODE"] Read .network.value."virtlan4".BOOTPROTO "dhcp" Read .network.value."virtlan4".ETHERDEVICE "eth0" Read .network.value."virtlan4".STARTMODE "manual" +Read .target.stat "/sys/class/net/virtlan4/type" nil +Read .target.string "/sys/class/net/virtlan4/type" nil Dir .network.value."vlan3": ["BOOTPROTO", "ETHERDEVICE", "STARTMODE"] Read .network.value."vlan3".BOOTPROTO "dhcp" Read .network.value."vlan3".ETHERDEVICE "eth0" Read .network.value."vlan3".STARTMODE "manual" +Read .target.stat "/sys/class/net/vlan3/type" nil +Read .target.string "/sys/class/net/vlan3/type" nil Return true Dump all=$["arc":$["arc5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "atm":$["atm5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "ci":$["ci5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "ctc":$["ctc5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "dummy":$["dummy5":$["BOOTPROTO":"static", "IPADDR":"1.2.3.4", "NETMASK":"255.0.0.0", "PREFIXLEN":"8", "STARTMODE":"manual"]], "escon":$["escon5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "eth":$["eth5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"], "eth6":$["BOOTPROTO":"static", "IPADDR":"1.2.3.4", "NETMASK":"255.255.255.255", "PREFIXLEN":"32", "STARTMODE":"manual"], "eth7":$["STARTMODE":"manual"], "eth8":$["IPADDR":"1.2.3.4", "NETMASK":"255.0.0.0", "PREFIXLEN":"8", "STARTMODE":"manual"], "eth9":$["IPADDR":"1.2.3.4", "NETMASK":"255.0.0.0", "PREFIXLEN":"8", "STARTMODE":"manual"]], "fddi":$["fddi5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "hippi":$["hippi5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "hsi":$["hsi5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "ippp":$["ippp5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "iucv":$["iucv5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "lo":$["lo":$["BROADCAST":"127.255.255.255", "IPADDR":"127.0.0.1", "NETMASK":"255.0.0.0", "NETWORK":"127.0.0.0", "PREFIXLEN":"8", "STARTMODE":"auto"]], "mynet":$["mynet0":$["BOOTPROTO":"dhcp", "STARTMODE":"auto"]], "myri":$["myri5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "ppp":$["ppp5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "tr":$["tr5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "vlan":$["eth0.3":$["BOOTPROTO":"dhcp", "ETHERDEVICE":"eth0", "STARTMODE":"manual"], "myvlantoo":$["BOOTPROTO":"dhcp", "ETHERDEVICE":"eth0", "STARTMODE":"manual", "VLAN_ID":"2"], "virtlan4":$["BOOTPROTO":"dhcp", "ETHERDEVICE":"eth0", "STARTMODE":"manual"], "vlan3":$["BOOTPROTO":"dhcp", "ETHERDEVICE":"eth0", "STARTMODE":"manual"]]] Dump NetworkInterfaces::Write From 08e9007bd791738cc5bbae442ff3f2b7e318285a Mon Sep 17 00:00:00 2001 From: Michal Filka Date: Tue, 28 Nov 2017 10:28:28 +0100 Subject: [PATCH 11/11] Happy rubocop --- library/network/src/modules/NetworkInterfaces.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/network/src/modules/NetworkInterfaces.rb b/library/network/src/modules/NetworkInterfaces.rb index 09d9efd1b..68b9a5685 100644 --- a/library/network/src/modules/NetworkInterfaces.rb +++ b/library/network/src/modules/NetworkInterfaces.rb @@ -791,7 +791,7 @@ def adapt_old_config! # @param [Hash] a map with netconfig (ifcfg) configuration # def add_device(device, ifcfg) - # if possible use dev type as available in /sys otherwise use ifcfg config + # if possible use dev type as available in /sys otherwise use ifcfg config # as a fallback for device type detection devtype = GetTypeFromIfcfgOrName(device, ifcfg) @Devices[devtype] ||= {}