From 1c60294db7f469abd728494d602e6d3ff954ac87 Mon Sep 17 00:00:00 2001 From: Michal Filka Date: Tue, 13 Jun 2023 14:03:36 +0200 Subject: [PATCH 1/3] When storing vlanid in NM's augeas model, save it as string. bsc#1211431 --- .../y2network/network_manager/connection_config_writers/vlan.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/y2network/network_manager/connection_config_writers/vlan.rb b/src/lib/y2network/network_manager/connection_config_writers/vlan.rb index cc5bc8de36..5d74da7eff 100644 --- a/src/lib/y2network/network_manager/connection_config_writers/vlan.rb +++ b/src/lib/y2network/network_manager/connection_config_writers/vlan.rb @@ -28,7 +28,7 @@ class Vlan < Base # @see Y2Network::ConnectionConfigWriters::Base#update_file # @param conn [Y2Network::ConnectionConfig::Vlan] Configuration to write def update_file(conn) - file.vlan["id"] = conn.vlan_id + file.vlan["id"] = conn.vlan_id.to_s file.vlan["parent"] = conn.parent_device file.vlan["type"] = "vlan" end From 4a2917b7d2452847299c434e2a2bc81917b0e3aa Mon Sep 17 00:00:00 2001 From: Michal Filka Date: Tue, 13 Jun 2023 14:13:22 +0200 Subject: [PATCH 2/3] Updated changelog --- package/yast2-network.changes | 8 ++++++++ package/yast2-network.spec | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/package/yast2-network.changes b/package/yast2-network.changes index 4665b8b39d..09df90f4c3 100644 --- a/package/yast2-network.changes +++ b/package/yast2-network.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Jun 13 12:11:42 UTC 2023 - Michal Filka + +- bsc#1211431 + - Do not crash installation when storing vlan configuration into + NetworkManager +- 4.3.87 + ------------------------------------------------------------------- Thu Sep 29 09:15:47 UTC 2022 - Knut Anderssen diff --git a/package/yast2-network.spec b/package/yast2-network.spec index 06a590f685..0d6c2ef479 100644 --- a/package/yast2-network.spec +++ b/package/yast2-network.spec @@ -17,7 +17,7 @@ Name: yast2-network -Version: 4.3.86 +Version: 4.3.87 Release: 0 Summary: YaST2 - Network Configuration License: GPL-2.0-only From 67c64ba7f4ed76158e1c91b026a7a05a6448da3e Mon Sep 17 00:00:00 2001 From: Michal Filka Date: Fri, 16 Jun 2023 09:50:59 +0200 Subject: [PATCH 3/3] Updated testsuite --- .../connection_config_writers/vlan_test.rb | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 test/y2network/network_manager/connection_config_writers/vlan_test.rb diff --git a/test/y2network/network_manager/connection_config_writers/vlan_test.rb b/test/y2network/network_manager/connection_config_writers/vlan_test.rb new file mode 100644 index 0000000000..2c8afb020a --- /dev/null +++ b/test/y2network/network_manager/connection_config_writers/vlan_test.rb @@ -0,0 +1,45 @@ +# Copyright (c) [2021] SUSE LLC +# +# All Rights Reserved. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of version 2 of the GNU General Public License as published +# by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, contact SUSE LLC. +# +# To contact SUSE LLC about this file by physical or electronic mail, you may +# find current contact information at www.suse.com. + +require_relative "../../../test_helper" +require "y2network/network_manager/connection_config_writers/vlan" +require "cfa/nm_connection" +require "y2network/boot_protocol" +require "y2network/startmode" +require "y2network/connection_config/vlan" + +describe Y2Network::NetworkManager::ConnectionConfigWriters::Vlan do + subject(:handler) { described_class.new(file) } + let(:file) { CFA::NmConnection.new("bond0.nm_connection") } + + let(:conn) do + Y2Network::ConnectionConfig::Vlan.new.tap do |c| + c.interface = "eth0.1006" + c.vlan_id = 1006 + end + end + + describe "#write" do + it "sets device and IP relevant attributes" do + handler.write(conn) + expect(file.vlan["type"]).to eql("vlan") + expect(file.vlan["id"]).to eql("1006") + end + end +end