diff --git a/Rakefile b/Rakefile
index 974567ef287de1e00eec6b9254aa081f7bfb1e7e..e9afa9e6127c3c2e7ce46cc4b0a3ecb996f02d0e 100644
--- a/Rakefile
+++ b/Rakefile
@@ -35,6 +35,25 @@ end
 
 namespace :valid do
 
+  desc "Run all base checks (homogeneity, duplicates, schema)  -- parameters: [SITE={grenoble,..}] [CLUSTER={yeti,..}] [VERBOSE=1]"
+  task "base" do
+    require 'refrepo/valid/homogeneity'
+    require 'refrepo/valid/input/duplicates'
+    require 'refrepo/valid/input/schema'
+    options = {}
+    options[:sites] = ( ENV['SITE'] ? ENV['SITE'].split(',') : G5K_SITES )
+    options[:clusters] = ( ENV['CLUSTER'] ? ENV['CLUSTER'].split(',') : [] )
+    options[:verbose] = ENV['VERBOSE'].to_i if ENV['VERBOSE']
+
+    puts "# Checking homogeneity ..."
+    ret1 = check_cluster_homogeneity(options)
+    puts "# Checking duplicates ..."
+    ret2 = yaml_input_find_duplicates(options)
+    puts "# Checking schema ..."
+    ret3 = yaml_input_schema_validator(options)
+    exit(ret1 && ret2 && ret3)
+  end
+
   desc "Check homogeneity of clusters -- parameters: [SITE={grenoble,..}] [CLUSTER={yeti,..}] [VERBOSE=1]"
   task "homogeneity" do
     require 'refrepo/valid/homogeneity'
diff --git a/lib/refrepo/valid/homogeneity.rb b/lib/refrepo/valid/homogeneity.rb
index dff390dbd51240ed0c708aed6e6f8b8c7ee9c8f3..bf2910ce9ce02ee6412e95aa1454f135fa9ccb9b 100644
--- a/lib/refrepo/valid/homogeneity.rb
+++ b/lib/refrepo/valid/homogeneity.rb
@@ -241,14 +241,25 @@ def check_cluster_homogeneity(options = {:verbose => false})
   options[:api][:pwd] = conf['password']
 
   verbose = options[:verbose]
-  puts "Differences found between successive nodes, per cluster:\n\n"
-
   total_count, count = cluster_homogeneity(refapi_hash, options)
   puts "\n" if verbose
 
-  puts count.to_yaml unless verbose
-
-  puts "\nUse 'VERBOSE=1' option for details." unless verbose
+  unless verbose
+    count.each_pair do |site, v|
+      next if v.values.select { |c| c != 0 }.empty?
+      puts "#{site} ..."
+      v.each_pair do |cluster, c|
+        next if c == 0
+        puts "  #{cluster}: #{c}"
+      end
+    end
+  end
 
-  return total_count == 0
+  if total_count == 0
+    puts "OK"
+    return true
+  else
+    puts "Use 'VERBOSE=1' option for details." unless verbose
+    return false
+  end
 end
diff --git a/lib/refrepo/valid/input/schema.rb b/lib/refrepo/valid/input/schema.rb
index 7d2d916306b3e361455417459696335b76c4c5af..ed1cd8fc1803fca86a5f2ccea784fe9e043ae636 100644
--- a/lib/refrepo/valid/input/schema.rb
+++ b/lib/refrepo/valid/input/schema.rb
@@ -45,5 +45,10 @@ def yaml_input_schema_validator(options)
       end
     end
   end
+  if r
+    puts "OK"
+  else
+    puts "FAILED"
+  end
   return r
 end