From: Tom Hughes Date: Fri, 7 Mar 2025 17:17:55 +0000 (+0000) Subject: Drop last remnants of role based networking X-Git-Url: https://git.openstreetmap.org./chef.git/commitdiff_plain/b977046c8a723fc935d376ec18a1c708f7c26339?ds=inline Drop last remnants of role based networking --- diff --git a/cookbooks/networking/recipes/default.rb b/cookbooks/networking/recipes/default.rb index 4ab91c053..831878ab4 100644 --- a/cookbooks/networking/recipes/default.rb +++ b/cookbooks/networking/recipes/default.rb @@ -59,37 +59,18 @@ interfaces = node[:networking][:interfaces].collect do |name, interface| [interface[:interface], name] end.to_h -node[:networking][:interfaces].each do |name, interface| - if interface[:interface] =~ /^(.*)\.(\d+)$/ - vlan_interface = Regexp.last_match(1) - vlan_id = Regexp.last_match(2) - - parent = interfaces[vlan_interface] || "vlans_#{vlan_interface}" - - node.default_unless[:networking][:interfaces][parent][:interface] = vlan_interface - node.default_unless[:networking][:interfaces][parent][:vlans] = [] - - node.default[:networking][:interfaces][parent][:vlans] << vlan_id - end +node[:networking][:interfaces].each do |_, interface| + next unless interface[:interface] =~ /^(.*)\.(\d+)$/ - next unless interface[:role] && (role = node[:networking][:roles][interface[:role]]) + vlan_interface = Regexp.last_match(1) + vlan_id = Regexp.last_match(2) - if interface[:inet] && role[:inet] - node.default_unless[:networking][:interfaces][name][:inet][:prefix] = role[:inet][:prefix] - node.default_unless[:networking][:interfaces][name][:inet][:gateway] = role[:inet][:gateway] - node.default_unless[:networking][:interfaces][name][:inet][:routes] = role[:inet][:routes] - node.default_unless[:networking][:interfaces][name][:inet][:rules] = role[:inet][:rules] - end + parent = interfaces[vlan_interface] || "vlans_#{vlan_interface}" - if interface[:inet6] && role[:inet6] - node.default_unless[:networking][:interfaces][name][:inet6][:prefix] = role[:inet6][:prefix] - node.default_unless[:networking][:interfaces][name][:inet6][:gateway] = role[:inet6][:gateway] - node.default_unless[:networking][:interfaces][name][:inet6][:routes] = role[:inet6][:routes] - node.default_unless[:networking][:interfaces][name][:inet6][:rules] = role[:inet6][:rules] - end + node.default_unless[:networking][:interfaces][parent][:interface] = vlan_interface + node.default_unless[:networking][:interfaces][parent][:vlans] = [] - node.default_unless[:networking][:interfaces][name][:metric] = role[:metric] - node.default_unless[:networking][:interfaces][name][:zone] = role[:zone] + node.default[:networking][:interfaces][parent][:vlans] << vlan_id end node[:networking][:interfaces].each do |_, interface| diff --git a/roles/base.rb b/roles/base.rb index 2a4f732a5..ee9b003c6 100644 --- a/roles/base.rb +++ b/roles/base.rb @@ -11,10 +11,6 @@ default_attributes( } }, :networking => { - :roles => { - :internal => { :metric => 200 }, - :external => { :metric => 100 } - }, :search => ["openstreetmap.org"] }, :prometheus => { diff --git a/roles/firefishynet.rb b/roles/firefishynet.rb index 150f62d6f..bb4224f70 100644 --- a/roles/firefishynet.rb +++ b/roles/firefishynet.rb @@ -3,7 +3,7 @@ description "Role applied to all servers at Firefishy" default_attributes( :networking => { - :roles => { + :interfaces => { :internal => { :inet => { :prefix => "24",