diff --git a/lib/refrepo/firmwares.rb b/lib/refrepo/firmwares.rb
index 7f0f7805a4db0d4edb24555cd5319f8e3ad816bd..e68e61405c6df559323a0ba59e0742d781a06241 100644
--- a/lib/refrepo/firmwares.rb
+++ b/lib/refrepo/firmwares.rb
@@ -54,6 +54,8 @@ def gen_firmwares_tables
        end
     end
   end
+
+  system("which nodeset > /dev/null") or raise "WARNING: command nodeset absent, please install clustershell"
   nodesets = nodes.group_by { |e| e.except('address') }.map do |e|
     e[1] = e[1].map { |f| f['address'] }
     nodes = `echo #{e[1].join(',')} | nodeset -f`.chomp
diff --git a/lib/refrepo/valid/network.rb b/lib/refrepo/valid/network.rb
index c048a6005f59bc7e3582211b1bcecc7c1ff6f81e..e898df298d64fea6c191bfd0608d1ab472fc1883 100644
--- a/lib/refrepo/valid/network.rb
+++ b/lib/refrepo/valid/network.rb
@@ -318,6 +318,8 @@ def generate_dot(netnodes, links, site)
   # group
   nodeslinks = nodeslinks.group_by { |l| [ l['target_cluster'], l['attachments'] ] }.to_a.map { |e| e[1].map! { |f| f['target_node'] } ; e }
   # factor
+  system("which nodeset > /dev/null") or raise "WARNING: command nodeset absent, please install clustershell"
+
   nodeslinks.map! { |e| e[1] = sh("echo #{e[1].uniq.join(' ')}|nodeset -f"); e }
 
   header = []