From 173093f82decc082a3f0567a0d4501b14e54100c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Seux?= Date: Wed, 26 Apr 2017 17:11:19 +0200 Subject: [PATCH] Assume all nodes matching the search query are valid nodes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously we checked if nodes were matching search query AND had an existing chef key. This patch assumes that all nodes have exiting chef keys. Experience I have with chef is that nodes without proper keys are bugs and needs to be fixed anyway (either have a key or be removed). This patch allows to make usage of --clean-unknown-clients much faster (avoid querying chef-server for each node) especially on secrets encrypted for many nodes (where search query time is small compared to querying all clients) Change-Id: If45da1faec5c36026a75762afe4bad08cab97f64 Signed-off-by: Grégoire Seux --- lib/chef-vault/item.rb | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/lib/chef-vault/item.rb b/lib/chef-vault/item.rb index 1312718..b19e2ef 100644 --- a/lib/chef-vault/item.rb +++ b/lib/chef-vault/item.rb @@ -411,15 +411,11 @@ def remove_unknown_nodes # checks if a node exists on the Chef server by performing # a search against the node index. If the search returns no - # results, the node does not exist. If it does return results, - # check if there is a matching client + # results, the node does not exist. # @param nodename [String] the name of the node # @return [Boolean] whether the node exists or not def node_exists?(nodename) - # if we don't have a client it really doesn't matter if we have a node. - if client_exists?(nodename) - search_results.include?(nodename) - end + search_results.include?(nodename) end # checks if a client exists on the Chef server. If we get back