From b2a19814ed21d567f9c781a1be6807815eea4908 Mon Sep 17 00:00:00 2001 From: nilsver Date: Tue, 14 Jan 2025 12:46:26 +0000 Subject: [PATCH 1/2] add condition on interfaces --- resources/scripts/rb_init_conf.rb | 42 ++++++++++++++++++------------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/resources/scripts/rb_init_conf.rb b/resources/scripts/rb_init_conf.rb index 54f5f8b..5f0113e 100755 --- a/resources/scripts/rb_init_conf.rb +++ b/resources/scripts/rb_init_conf.rb @@ -143,23 +143,31 @@ # No extra configuration is require if the interface has no IP/Netmask (for now) next unless ip && !ip.empty? - metric=Config_utils.network_contains(serf['sync_net'], ip) ? 101:100 - cidr=Config_utils.to_cidr_mask(netmask) - iprange=Config_utils.serialize_ipaddr(ip+cidr) - - open("/etc/iproute2/rt_tables", 'a') { |f| - f.puts "#{metric} #{iface['device']}tbl" #if File.readlines("/etc/iproute2/rt_tables").grep(/#{metric} #{iface['device']}tbl/).any? - } - open("/etc/sysconfig/network-scripts/route-#{dev}", 'w') { |f| - if dev == management_interface - f.puts "default via #{gateway} dev #{iface['device']} table #{iface['device']}tbl" unless gateway.nil? or gateway.empty? - end - f.puts "#{iprange} dev #{iface['device']} table #{iface['device']}tbl" - f.puts "#{iprange} dev #{iface['device']} table main" - } - open("/etc/sysconfig/network-scripts/rule-#{dev}", 'w') { |f| - f.puts "from #{iprange} table #{iface['device']}tbl" - } + management_iface_info = network['interfaces'].find { |i| i['device'] == management_interface } + if management_iface_info && Config_utils.network_contains(serf['sync_net'], management_iface_info['ip']) + # Management and sync are on the same network, treat as single interface + open("/etc/sysconfig/network-scripts/route-#{dev}", 'w') { |f| + f.puts "default via #{gateway} dev #{iface['device']}" unless gateway.nil? or gateway.empty? + } + else + metric = Config_utils.network_contains(serf['sync_net'], ip) ? 101 : 100 + cidr = Config_utils.to_cidr_mask(netmask) + iprange = Config_utils.serialize_ipaddr(ip + cidr) + + open("/etc/iproute2/rt_tables", 'a') { |f| + f.puts "#{metric} #{iface['device']}tbl" + } + open("/etc/sysconfig/network-scripts/route-#{dev}", 'w') { |f| + if dev == management_interface + f.puts "default via #{gateway} dev #{iface['device']} table #{iface['device']}tbl" unless gateway.nil? or gateway.empty? + end + f.puts "#{iprange} dev #{iface['device']} table #{iface['device']}tbl" + f.puts "#{iprange} dev #{iface['device']} table main" + } + open("/etc/sysconfig/network-scripts/rule-#{dev}", 'w') { |f| + f.puts "from #{iprange} table #{iface['device']}tbl" + } + end end end From 41f493cba944cc7e037071fda91cc6b083b3bc00 Mon Sep 17 00:00:00 2001 From: Miguel Alvarez Date: Thu, 16 Jan 2025 13:56:24 +0000 Subject: [PATCH 2/2] Bump to 4.0.4 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index c4e41f9..c5106e6 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -4.0.3 +4.0.4