diff --git a/lib/refrepo/gen/puppet/kwollectg5k.rb b/lib/refrepo/gen/puppet/kwollectg5k.rb
index aaf2a0fd880dbf2b9d3fe686bb51e304a6f1e894..1b0a6df7493e4451c79d4879a62e292af588b624 100644
--- a/lib/refrepo/gen/puppet/kwollectg5k.rb
+++ b/lib/refrepo/gen/puppet/kwollectg5k.rb
@@ -49,6 +49,9 @@ def generate_puppet_kwollectg5k(options)
     # Metrics configuration for network device
     site['network_equipments'].each { |neteq_uid, neteq|
 
+      # do not apply to fake equipment
+      next if neteq_uid.include? 'fake'
+
       output = ERB.new(File.read(File.expand_path('templates/kwollect-network.erb', File.dirname(__FILE__))), trim_mode: '-').result(binding)
       output_file = Pathname("#{options[:output_dir]}//platforms/production/modules/generated/files/grid5000/kwollect/#{site_uid}/#{neteq_uid}.conf")
       output_file.dirname.mkpath()
diff --git a/lib/refrepo/gen/puppet/network_monitoring.rb b/lib/refrepo/gen/puppet/network_monitoring.rb
index d9ada0dae77564389af6e42d24955e2c64132e65..33054561a3e3ebbdd9d50857b2fb170cae7e3ef6 100644
--- a/lib/refrepo/gen/puppet/network_monitoring.rb
+++ b/lib/refrepo/gen/puppet/network_monitoring.rb
@@ -28,7 +28,10 @@ def generate_puppet_network_monitoring(options)
 
       fqdn_eq_name = "#{eq_name}.#{s}.grid5000.fr"
 
+      # do not apply to HPC switch
       next if eq_v['kind'] == 'hpcswitch'
+      # do not apply to fake equipment
+      next if eq_name.include? "fake"
 
       snmp_hosts << fqdn_eq_name unless
         snmp_hosts.find { |i| i == fqdn_eq_name }
diff --git a/lib/refrepo/valid/network.rb b/lib/refrepo/valid/network.rb
index e42049e812d6deef9e76b3402f4cb78356ffaada..f6ae483c1cc51c5b9dbea9ea3c75cbc8ec724342 100644
--- a/lib/refrepo/valid/network.rb
+++ b/lib/refrepo/valid/network.rb
@@ -230,7 +230,7 @@ def check_network_description(options)
 
     # find netnodes without connection
     # for routers, it's OK, because they would be connected to other G5K routers
-    netnodes.select { |n| n['found'] == 0 and not n['kind'] == 'router' }.each do |n|
+    netnodes.select { |n| n['found'] == 0 and not n['kind'] == 'router' and not n['uid'].include? "fake" }.each do |n|
       if n['interface'] == 'InfiniBand' or n['interface'] == 'Myrinet' or n['interface'] == 'Omni-Path' or hpc_switch?(n)
         puts "WARNING: we did not find a corresponding entry on a network equipment for this InfiniBand node: #{n}"
       else