diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3fe4dc7cb48b8ed52bbcac77161254f183d6a365..0aba512623998d049af82595b608c21438631098 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -66,3 +66,11 @@ rspec:
   script:
     - export TZ=Europe/Paris
     - bundle exec rspec
+
+valid-homogeneity:
+  stage: deploy
+  extends: .test-for-bullseye
+  script:
+    - wget --no-check-certificate -q https://www.grid5000.fr/certs/ca2019.grid5000.fr.crt -O /usr/local/share/ca-certificates/ca2019.grid5000.fr.crt
+    - /usr/sbin/update-ca-certificates
+    - bundle exec rake valid:homogeneity
diff --git a/lib/refrepo/valid/data/homogeneity.yaml.erb b/lib/refrepo/valid/data/homogeneity.yaml.erb
index 7b91d2c2ecc83bb5478fcd3c56d41abacc78cee8..7730bfca0fb4db8dff2a30f5c33b98850e77537e 100644
--- a/lib/refrepo/valid/data/homogeneity.yaml.erb
+++ b/lib/refrepo/valid/data/homogeneity.yaml.erb
@@ -22,12 +22,8 @@ grenoble:
   dahu-[7-8]:
     - ~storage_devices.pci-0000:00:11.5-ata-5.firmware_version
   dahu-[12-13]:
-    - ~bios.release_date
-    - ~bios.version
-    - ~bmc_version
     - ~network_adapters.eth0.firmware_version
     - ~network_adapters.eth1.firmware_version
-    - ~processor.microcode
   dahu-[16-17]:
     - ~bios.release_date
     - ~bios.version
@@ -45,7 +41,17 @@ lille:
     - ~storage_devices.pci-0000:18:00.0-scsi-0:0:3:0.firmware_version
     - ~storage_devices.pci-0000:18:00.0-scsi-0:0:3:0.model
     - ~storage_devices.pci-0000:18:00.0-scsi-0:0:3:0.vendor
-  chifflot-[3-4]:
+  chifflot-3:
+    - ~storage_devices.pci-0000:18:00.0-scsi-0:0:2:0.firmware_version
+    - ~storage_devices.pci-0000:18:00.0-scsi-0:0:2:0.model
+    - ~storage_devices.pci-0000:18:00.0-scsi-0:0:2:0.vendor
+    - ~storage_devices.pci-0000:18:00.0-scsi-0:0:4:0.firmware_version
+    - ~storage_devices.pci-0000:18:00.0-scsi-0:0:4:0.model
+    - ~storage_devices.pci-0000:18:00.0-scsi-0:0:4:0.vendor
+    - ~storage_devices.pci-0000:18:00.0-scsi-0:0:5:0.firmware_version
+    - ~storage_devices.pci-0000:18:00.0-scsi-0:0:5:0.model
+    - ~storage_devices.pci-0000:18:00.0-scsi-0:0:5:0.vendor
+  chifflot-4:
     - ~storage_devices.pci-0000:18:00.0-scsi-0:0:2:0.firmware_version
     - ~storage_devices.pci-0000:18:00.0-scsi-0:0:2:0.model
     - ~storage_devices.pci-0000:18:00.0-scsi-0:0:2:0.vendor
@@ -58,9 +64,11 @@ lille:
     - ~storage_devices.pci-0000:18:00.0-scsi-0:0:5:0.firmware_version
     - ~storage_devices.pci-0000:18:00.0-scsi-0:0:5:0.model
     - ~storage_devices.pci-0000:18:00.0-scsi-0:0:5:0.vendor
-  chifflot-[6-7]:
-    - ~gpu.gpu_model
-    - ~gpu.gpu_cores
+  chifflot-6:
+    - ~storage_devices.pci-0000:18:00.0-scsi-0:0:5:0.firmware_version
+    - ~storage_devices.pci-0000:18:00.0-scsi-0:0:5:0.model
+    - ~storage_devices.pci-0000:18:00.0-scsi-0:0:5:0.vendor
+  chifflot-7:
     - ~gpu_devices.nvidia0.vbios_version
     - ~gpu_devices.nvidia0.memory
     - ~gpu_devices.nvidia0.model
@@ -82,31 +90,6 @@ lille:
     - ~storage_devices.pci-0000:18:00.0-scsi-0:0:5:0.model
     - ~storage_devices.pci-0000:18:00.0-scsi-0:0:5:0.vendor
 lyon:
-  nova-[23-24]:
-    - ~bios.release_date
-    - ~bios.version
-    - ~bmc_version
-    - ~network_adapters.eth0.firmware_version
-    - ~network_adapters.eth1.firmware_version
-    - ~network_adapters.eth2.firmware_version
-    - ~network_adapters.eth3.firmware_version
-    - ~network_adapters.eth4.firmware_version
-    - ~network_adapters.eth5.firmware_version
-  taurus-[4-6]:
-    - ~bmc_version
-    - ~network_adapters.eth0.firmware_version
-    - ~network_adapters.eth1.firmware_version
-    - ~network_adapters.eth2.firmware_version
-    - ~network_adapters.eth3.firmware_version
-    - ~network_adapters.eth4.firmware_version
-    - ~network_adapters.eth5.firmware_version
-  taurus-[12-13]:
-    - ~network_adapters.eth0.firmware_version
-    - ~network_adapters.eth1.firmware_version
-    - ~network_adapters.eth2.firmware_version
-    - ~network_adapters.eth3.firmware_version
-    - ~network_adapters.eth4.firmware_version
-    - ~network_adapters.eth5.firmware_version
   sagittaire-11:
     - ~storage_devices.pci-0000:02:04.0-scsi-0:0:1:0.firmware_version
     - ~storage_devices.pci-0000:02:04.0-scsi-0:0:1:0.model
@@ -120,16 +103,15 @@ lyon:
     - ~storage_devices.pci-0000:02:04.0-scsi-0:0:1:0.firmware_version
 
 nancy:
-  graffiti-[1-3]:
+  graffiti-2:
     - ~gpu_devices.nvidia1.vbios_version
     - ~gpu_devices.nvidia2.vbios_version
-    - ~gpu_devices.nvidia3.vbios_version
-  graffiti-[9-11]:
+  graffiti-3:
+    - ~gpu_devices.nvidia1.vbios_version
+  graffiti-[10-11]:
     - ~gpu_devices.nvidia2.vbios_version
     - ~gpu_devices.nvidia3.vbios_version
   graffiti-13:
-    - ~gpu.gpu_model
-    - ~gpu.gpu_cores
     - ~gpu_devices.nvidia0.vbios_version
     - ~gpu_devices.nvidia0.memory
     - ~gpu_devices.nvidia0.model
@@ -143,29 +125,14 @@ nancy:
     - ~gpu_devices.nvidia3.memory
     - ~gpu_devices.nvidia3.model
 
-  graphique-2:
-    - ~gpu.gpu_model
-    - ~gpu.gpu_cores
-    - ~gpu_devices.nvidia0.vbios_version
-    - ~gpu_devices.nvidia0.memory
-    - ~gpu_devices.nvidia0.power_default_limit
-    - ~gpu_devices.nvidia0.model
-    - ~gpu_devices.nvidia1.vbios_version
-    - ~gpu_devices.nvidia1.memory
-    - ~gpu_devices.nvidia1.power_default_limit
-    - ~gpu_devices.nvidia1.model
-    - ~network_adapters.eth0.sriov
-    - ~network_adapters.eth0.sriov_totalvfs
-    - ~network_adapters.eth1.sriov
-    - ~network_adapters.eth1.sriov_totalvfs
-  graphique-[3-4]:
+  graphique-4:
     - ~gpu_devices.nvidia1.vbios_version
   graphique-[4-5]:
     - ~gpu_devices.nvidia0.vbios_version
     - ~gpu_devices.nvidia1.vbios_version
   graphique-[5-6]:
     - ~gpu_devices.nvidia0.vbios_version
-  grele-[12-13]:
+  grele-13:
     - ~gpu_devices.nvidia0.vbios_version
     - ~gpu_devices.nvidia1.vbios_version
   grisou-49:
@@ -219,28 +186,23 @@ nancy:
     - -storage_devices.pci-0000:01:00.0-scsi-0:0:1:0
 
 nantes:
-  econome-[1-22]:
-    - +network_adapters.eth2.rate
-    - -network_adapters.eth2.rate
   econome-19:
     - ~network_adapters.eth0.firmware_version
     - ~network_adapters.eth1.firmware_version
     - ~storage_devices.pci-0000:00:1f.2-ata-1.firmware_version
-  ecotype-[18-19]:
-    - ~bios.release_date
-    - ~bios.version
-    - ~bmc_version
-    - ~network_adapters.eth0.firmware_version
-    - ~network_adapters.eth1.firmware_version
-    - ~network_adapters.eth2.firmware_version
-    - ~network_adapters.eth3.firmware_version
 rennes:
-  paranoia-[3-5]:
+  paranoia-3:
     - ~storage_devices.pci-0000:82:00.0-sas-phy0-lun-0.firmware_version
     - ~storage_devices.pci-0000:82:00.0-sas-phy0-lun-0.model
+  paranoia-4:
+    - ~storage_devices.pci-0000:82:00.0-sas-phy0-lun-0.firmware_version
+    - ~storage_devices.pci-0000:82:00.0-sas-phy0-lun-0.model
+    - ~storage_devices.pci-0000:82:00.0-sas-phy4-lun-0.firmware_version
+    - ~storage_devices.pci-0000:82:00.0-sas-phy4-lun-0.model
+  paranoia-5:
     - ~storage_devices.pci-0000:82:00.0-sas-phy4-lun-0.firmware_version
     - ~storage_devices.pci-0000:82:00.0-sas-phy4-lun-0.model
-  paranoia-[7-8]:
+  paranoia-8:
     - ~storage_devices.pci-0000:82:00.0-sas-phy3-lun-0.firmware_version
     - ~storage_devices.pci-0000:82:00.0-sas-phy3-lun-0.model
     - ~storage_devices.pci-0000:82:00.0-sas-phy3-lun-0.vendor
@@ -258,8 +220,6 @@ rennes:
     - +pdu
   parasilo-16:
     - -pdu
-  parasilo-17:
-    - +pdu
   parasilo-18:
     - -pdu
   parasilo-19:
@@ -268,8 +228,6 @@ rennes:
     - -pdu
   parasilo-21:
     - +pdu
-  parasilo-22:
-    - +pdu
   parasilo-[6-7]:
     - ~storage_devices.pci-0000:03:00.0-scsi-0:0:5:0.firmware_version
     - ~storage_devices.pci-0000:03:00.0-scsi-0:0:5:0.model
@@ -280,27 +238,9 @@ rennes:
   parasilo-[25-26]:
     - ~storage_devices.pci-0000:03:00.0-scsi-0:0:2:0.firmware_version
     - ~storage_devices.pci-0000:03:00.0-scsi-0:0:2:0.model
-  paravance-[1-72]:
-    - ~network_adapters.eth0.firmware_version
-    - ~network_adapters.eth1.firmware_version
-    - ~network_adapters.eth2.firmware_version
-    - ~network_adapters.eth3.firmware_version
   paravance-3:
     - +pdu
 sophia:
-  uvb-[1-44]:
-    - ~network_adapters.ib0.8100.mac
-  uvb-3:
-    - -chassis.serial
-    - ~chassis.manufacturer
-  uvb-4:
-    - +chassis.serial
-    - ~chassis.manufacturer
-    - ~network_adapters.ib0.8100.mac
   uvb-13:
     - -chassis.serial
     - ~chassis.manufacturer
-  uvb-14:
-    - +chassis.serial
-    - ~chassis.manufacturer
-    - ~network_adapters.ib0.8100.mac
diff --git a/lib/refrepo/valid/homogeneity.rb b/lib/refrepo/valid/homogeneity.rb
index 19d45eb7b6622f92fcfb29406f61a43942f2dcbe..aa624ae572ec96aba2db25dcc90e8679fc477af3 100644
--- a/lib/refrepo/valid/homogeneity.rb
+++ b/lib/refrepo/valid/homogeneity.rb
@@ -174,13 +174,22 @@ def cluster_homogeneity(refapi_hash, options = {:verbose => false})
         # Remove keys that are specific to each nodes (ip, mac etc.)
         ikeys = cignore_keys[site_uid][node_uid] rescue nil
 
-        diffs.clone.each do |diff|
-          if ignore_keys.include?(diff[0] + diff[1])
-            diffs.delete(diff)
-            next
+        not_found_keys = []
+        if !ikeys.nil?
+          ikeys.each do |key|
+            diff = diffs.select {|entry| entry[0] + entry[1] == key}.first
+            if diff.nil? 
+              not_found_keys << key
+              total_count += 1
+              count[site_uid][cluster_uid] += 1
+            else
+              diffs.delete(diff)
+            end
           end
+        end
 
-          if ikeys && ikeys.include?(diff[0] + diff[1])
+        diffs.clone.each do |diff|
+          if ignore_keys.include?(diff[0] + diff[1])
             diffs.delete(diff)
             next
           end
@@ -198,6 +207,13 @@ def cluster_homogeneity(refapi_hash, options = {:verbose => false})
           pp diffs
         end
 
+        if verbose && !not_found_keys.empty?
+          puts "Unsatisfied homogeneity exceptions between #{refnode_uid} and #{node_uid}: "
+          not_found_keys.each do |key|
+            puts "\t#{key}"
+          end
+        end
+
         total_count += diffs.size
         count[site_uid][cluster_uid] += diffs.size