diff --git a/lib/refrepo/gen/puppet/kavlang5k.rb b/lib/refrepo/gen/puppet/kavlang5k.rb index 675e64e62e201db3724c4e8305ee013b4aa8f2d1..9cd377ab0c24f04753fc23ee974b1d4d0b90bc2d 100644 --- a/lib/refrepo/gen/puppet/kavlang5k.rb +++ b/lib/refrepo/gen/puppet/kavlang5k.rb @@ -42,6 +42,7 @@ def generate_puppet_kavlang5k(options) refapi['sites'].each { |site_uid, site_refapi| + next if not site_refapi['kavlans'] # skip sites without kavlan next unless options[:sites].include?(site_uid) conf = YAML::load(ERB.new(File.read("#{options[:conf_dir]}/kavlang5k.yaml"), trim_mode: '-').result(binding))[site_uid] diff --git a/lib/refrepo/gen/puppet/stitcherg5k.rb b/lib/refrepo/gen/puppet/stitcherg5k.rb index 0b4f323618d9a4238016b1ee15e18e211b011173..3bacb6eb1b40b264f5bf716b98452b32e7a2b2c4 100644 --- a/lib/refrepo/gen/puppet/stitcherg5k.rb +++ b/lib/refrepo/gen/puppet/stitcherg5k.rb @@ -36,6 +36,7 @@ end def build_stitcher_kavlans_hash(refapi) stitcher_kavlans_hash = {} refapi['sites'].each do |name, site_hash| + next if not site_hash['kavlans'] # skip sites without kavlan global_kavlan = site_hash['kavlans'].select { | id, _hash | id =~ /\d\d/ }.first global_kavlan_id = global_kavlan.first.to_i stitcher_kavlans_hash[global_kavlan_id] = {"vlan" => 700 + global_kavlan_id, "site" => name} diff --git a/lib/refrepo/input_loader.rb b/lib/refrepo/input_loader.rb index 7c5860d1665b3dda4828121a65858c7022c54175..98ca0cef7055fcb52d07dba612b67ad71791accd 100644 --- a/lib/refrepo/input_loader.rb +++ b/lib/refrepo/input_loader.rb @@ -507,6 +507,7 @@ def add_kavlan_ipv6s(h) h['ipv6']['site_global_kavlans'].each { |key, value| global_vlan_site[value] = key } # Set kavlan ipv6 informations at site level h['sites'].each_pair do |site_uid, hs| + next if not hs['kavlans'] # skip sites without kavlan site_prefix = IPAddress hs['ipv6']['prefix'] kavlan_ids = h['vlans']['base'].map{ |k,v| k if v["type"] =~ /local|routed/ }.compact + [h['ipv6']['site_global_kavlans'][site_uid]] kavlan_ids.each do |kvl_id|