]> git.immae.eu Git - perso/Immae/Projets/Puppet.git/commitdiff
Filter ldapvar to contain only puppetClient information
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Mon, 19 Mar 2018 15:00:01 +0000 (16:00 +0100)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Mon, 19 Mar 2018 15:19:17 +0000 (16:19 +0100)
modules/base_installation/lib/facter/ldapvar.rb

index 3ee6623080709c013f1281ab3f8c39a52eac21da..08d58e4cb1a7b96f406bbe772a03c4f393ce0e12 100644 (file)
@@ -27,16 +27,18 @@ begin
 
         connection.search(base, scope, filter) do |entry|
           data_ = entry.to_hash
-          data_['vars'] = (data_[Puppet[:ldapstackedattrs]] || [])
-            .map { |var| var.split("=", 2) }
-            .group_by { |(key, value)| key }
-            .map { |key, value| [key, value.map(&:last)] }
-            .to_h
+          if data_["objectClass"].any? { |class_| class_ == "puppetClient" }
+            data_['vars'] = (data_[Puppet[:ldapstackedattrs]] || [])
+              .map { |var| var.split("=", 2) }
+              .group_by { |(key, value)| key }
+              .map { |key, value| [key, value.map(&:last)] }
+              .to_h
 
-          data[:other] << data_
+            data[:other] << data_
 
-          if data_["cn"].any? { |cn| cn == host }
-            data[:self] = data_
+            if data_["cn"].any? { |cn| cn == host }
+              data[:self] = data_
+            end
           end
         end