diff --git a/metadata.rb b/metadata.rb index 2afdebf..c63ccfa 100644 --- a/metadata.rb +++ b/metadata.rb @@ -4,7 +4,7 @@ maintainer_email 'psi-jack@linux-help.org' license 'GPLv3' description 'Installs/Configures freeipa' long_description 'Installs/Configures freeipa' -version '0.1.7' +version '0.1.8' issues_url 'http://git.linux-help.org/Linux-Help/freeipa/issues' source_url 'http://git.linux-help.org/Linux-Help/freeipa' diff --git a/recipes/client.rb b/recipes/client.rb index cc468c7..b1a3335 100644 --- a/recipes/client.rb +++ b/recipes/client.rb @@ -24,9 +24,9 @@ else include_recipe 'chef-vault' node.normal["freeipa"]["client"] = true - freeipa_servers = search("node", "freeipa_server:true") - freeipa_clients = search("node", "freeipa_client:true") - freeipa_masters = search("node", "freeipa_master:true") + freeipa_servers = search("node", "freeipa_server:true AND chef_environment:#{node.chef_environment}") + freeipa_clients = search("node", "freeipa_client:true AND chef_environment:#{node.chef_environment}") + freeipa_masters = search("node", "freeipa_master:true AND chef_environment:#{node.chef_environment}") unless freeipa_servers.empty? then package "ipa-client" diff --git a/recipes/server.rb b/recipes/server.rb index e4bab52..543a91c 100644 --- a/recipes/server.rb +++ b/recipes/server.rb @@ -25,8 +25,8 @@ node.normal["freeipa"]["server"] = true if Chef::Config[:solo] Chef::Log.warn('This recipe uses search. Chef solo does not support search.') else - freeipa_servers = search(:node, "freeipa_server:true") - freeipa_clients = search(:node, "freeipa_client:true") + freeipa_servers = search(:node, "freeipa_server:true AND chef_environment:#{node.chef_environment}") + freeipa_clients = search(:node, "freeipa_client:true AND chef_environment:#{node.chef_environment}") # gather data bag secrets passwords = chef_vault_item("freeipa", 'passwords') @@ -63,7 +63,7 @@ else # Subsequent nodes negotiate for master # negotiate for master - freeipa_masters = search(:node, "freeipa_master:true") + freeipa_masters = search(:node, "freeipa_master:true AND chef_environment:#{node.chef_environment}") if freeipa_masters.empty? then ##### Do master stuff