diff --git a/generators/oar-properties/lib/lib-oar-properties.rb b/generators/oar-properties/lib/lib-oar-properties.rb
index e150f43a62fbcf125fad4fb6dd3d536efb5dae55..2ec72a064fd6449208c5d8789b44cb5dec179932 100755
--- a/generators/oar-properties/lib/lib-oar-properties.rb
+++ b/generators/oar-properties/lib/lib-oar-properties.rb
@@ -43,27 +43,27 @@ def get_node_properties(cluster_uid, cluster, node_uid, node)
   eth10g               = node['network_interfaces'].values.select{|na| na['interface'] =~ /ethernet/i}.select{|nb| nb['mountable'] == true}
   h['eth10g']          = eth10g.detect{|na| na['rate'] == 10_000_000_000}.nil? ? false : true
 
-  ib10g                = node['network_interfaces'].values.detect{|na| na['interface'] =~ /infiniband/i && na['rate'] == 10_000_000_000}
+  ib10g                = node['network_interfaces'].values.detect{|na| na['interface'] =~ /infiniband/i && na['mountable'] == true && na['rate'] == 10_000_000_000}
   h['ib10g']           = ib10g ? true : false
   h['ib10gmodel']      = ib10g ? ib10g['version'] : 'none'
 
-  ib20g                = node['network_interfaces'].values.detect{|na| na['interface'] =~ /infiniband/i && na['rate'] == 20_000_000_000}
+  ib20g                = node['network_interfaces'].values.detect{|na| na['interface'] =~ /infiniband/i && na['mountable'] == true && na['rate'] == 20_000_000_000}
   h['ib20g']           = ib20g ? true : false
   h['ib20gmodel']      = ib20g ? ib20g['version'] : 'none'
 
-  ib40g                = node['network_interfaces'].values.detect{|na| na['interface'] =~ /infiniband/i && na['rate'] == 40_000_000_000}
+  ib40g                = node['network_interfaces'].values.detect{|na| na['interface'] =~ /infiniband/i && na['mountable'] == true && na['rate'] == 40_000_000_000}
   h['ib40g']           = ib40g ? true : false
   h['ib40gmodel']      = ib40g ? ib40g['version'] : 'none'
 
-  ib56g                = node['network_interfaces'].values.detect{|na| na['interface'] =~ /infiniband/i && na['rate'] == 56_000_000_000}
+  ib56g                = node['network_interfaces'].values.detect{|na| na['interface'] =~ /infiniband/i && na['mountable'] == true && na['rate'] == 56_000_000_000}
   h['ib56g']           = ib56g ? true : false
   h['ib56gmodel']      = ib56g ? ib56g['version'] : 'none'
 
-  myri10g              = node['network_interfaces'].values.detect{|na| na['interface'] =~ /myri/i && na['rate'] == 10_000_000_000}
+  myri10g              = node['network_interfaces'].values.detect{|na| na['interface'] =~ /myri/i && na['mountable'] == true && na['rate'] == 10_000_000_000}
   h['myri10g']         = myri10g ? true : false
   h['myri10gmodel']    = myri10g ? myri10g['version'] : 'none'
 
-  myri2g               = node['network_interfaces'].values.detect{|na| na['interface'] =~ /myri/i && na['rate'] == 2_000_000_000}
+  myri2g               = node['network_interfaces'].values.detect{|na| na['interface'] =~ /myri/i && na['mountable'] == true && na['rate'] == 2_000_000_000}
   h['myri2g']          = myri2g ? true : false
   h['myri2gmodel']     = myri2g ? myri2g['version'] : 'none'
 
diff --git a/generators/oar-properties/oar-properties.rb b/generators/oar-properties/oar-properties.rb
index 903538e5d9e1aa53278b1fc70b6fdbf17d673f2f..7d52a5e3b602ea970831c1609635b36de09a5edc 100755
--- a/generators/oar-properties/oar-properties.rb
+++ b/generators/oar-properties/oar-properties.rb
@@ -178,9 +178,9 @@ if options[:output]
   nodelist_properties[opt].each { |site_uid, site_properties| 
     
     options[:output].is_a?(String) ? o = File.open(options[:output].gsub("%s", site_uid),'w') : o = $stdout.dup
-    
+
     site_properties.each_filtered_node_uid(options[:clusters], options[:nodes]) { |node_uid, node_properties|
-      o.write(oarcmd_set_node_properties(node_uid, node_properties) + "\n")
+      o.write(oarcmd_set_node_properties(node_uid + "." + site_uid + ".grid5000.fr", node_properties) + "\n")
     }
     
     o.close
@@ -192,6 +192,10 @@ end
 # Execute commands
 #
 if options[:exec]
+  printf "Apply changes to the OAR servers ? (y/n)"
+  prompt = STDIN.gets.chomp
+  exit unless prompt == 'y'
+
   opt = options[:diff] ? 'diff' : 'ref'
   nodelist_properties[opt].each { |site_uid, site_properties| 
     
@@ -199,11 +203,11 @@ if options[:exec]
     Net::SSH.start("oar.#{site_uid}.g5kadmin", 'g5kadmin', :keys => options[:sshkeys]) { |ssh|
     
       site_properties.each_filtered_node_uid(options[:clusters], options[:nodes]) { |node_uid, node_properties|
-        cmd = oarcmd_set_node_properties(node_uid, node_properties)
+        cmd = oarcmd_set_node_properties(node_uid + "." + site_uid + ".grid5000.fr", node_properties)
         if cmd.size>0
           puts "#{cmd}" if options[:verbose]
-          ssh_output = ssh.exec!('echo ' + cmd) 
-          puts "#{ssh_output}" if options[:verbose]
+          ssh_output = ssh.exec!('sudo ' + cmd) 
+          puts "#{ssh_output}\n" if options[:verbose]
         end
       }
     }