From 6e9bc83e489e9ec1c9fd5dc94aaff7f512d562a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Pinson?= Date: Wed, 27 May 2015 10:12:43 +0200 Subject: [PATCH] Allow to pass optional environment for each server name The format is servername/environment --- lib/puppet/catalog-diff/compilecatalog.rb | 3 ++- lib/puppet/catalog-diff/searchfacts.rb | 2 +- lib/puppet/face/catalog/diff.rb | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/puppet/catalog-diff/compilecatalog.rb b/lib/puppet/catalog-diff/compilecatalog.rb index 8d8f29c..16ce9ba 100644 --- a/lib/puppet/catalog-diff/compilecatalog.rb +++ b/lib/puppet/catalog-diff/compilecatalog.rb @@ -34,7 +34,8 @@ def lookup_environment(node_name) end def compile_catalog(node_name,server) - environment = lookup_environment(node_name) + server,environment = server.split('/') + environment ||= lookup_environment(node_name) endpoint = "/#{environment}/catalog/#{node_name}" Puppet.debug("Connecting to server: #{server}") begin diff --git a/lib/puppet/catalog-diff/searchfacts.rb b/lib/puppet/catalog-diff/searchfacts.rb index 86efd7d..969e7e3 100644 --- a/lib/puppet/catalog-diff/searchfacts.rb +++ b/lib/puppet/catalog-diff/searchfacts.rb @@ -15,7 +15,7 @@ def find_nodes(options = {}) if options[:use_puppetdb] active_nodes = find_nodes_puppetdb() else - active_nodes = find_nodes_rest(options[:old_server]) + active_nodes = find_nodes_rest(options[:old_server].split('/')[0]) end if active_nodes.empty? raise "No active nodes were returned from your fact search" diff --git a/lib/puppet/face/catalog/diff.rb b/lib/puppet/face/catalog/diff.rb index 5dae61b..bba317b 100644 --- a/lib/puppet/face/catalog/diff.rb +++ b/lib/puppet/face/catalog/diff.rb @@ -115,8 +115,8 @@ else # User passed use two hostnames - old_catalogs = Dir.mktmpdir("#{catalog1}-") - new_catalogs = Dir.mktmpdir("#{catalog2}-") + old_catalogs = Dir.mktmpdir("#{catalog1.gsub('/', '_')}-") + new_catalogs = Dir.mktmpdir("#{catalog2.gsub('/', '_')}-") pull_output = Puppet::Face[:catalog, '0.0.1'].pull(old_catalogs,new_catalogs,options[:fact_search],:old_server => catalog1,:new_server => catalog2,:changed_depth => options[:changed_depth], :threads => options[:threads]) diff_output = Puppet::Face[:catalog, '0.0.1'].diff(old_catalogs,new_catalogs,options) nodes = diff_output