From 20085c8866294ab0b3c05d514f03e9819f4900b2 Mon Sep 17 00:00:00 2001 From: Philipp Tölke Date: Thu, 9 Jun 2016 15:44:11 +0200 Subject: Add parameter to disable automatic join of domain --- manifests/server/ads.pp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/manifests/server/ads.pp b/manifests/server/ads.pp index 757d091..d7d462c 100644 --- a/manifests/server/ads.pp +++ b/manifests/server/ads.pp @@ -21,7 +21,8 @@ class samba::server::ads($ensure = present, $map_system = 'no', $map_archive = 'no', $map_readonly = 'no', - $target_ou = 'Nix_Mashine') { + $target_ou = 'Nix_Mashine', + $perform_join = true) { $krb5_user_package = $::osfamily ? { 'RedHat' => 'krb5-workstation', @@ -122,10 +123,12 @@ class samba::server::ads($ensure = present, 'samba-winbind use default domain'], Service['winbind'] ], } - exec {'join-active-directory': - # join the domain configured in samba.conf - command => '/sbin/configure_active_directory -j', - unless => '/sbin/verify_active_directory', - require => [ File['configure_active_directory', 'verify_active_directory'], Service['winbind'] ], + if ($perform_join) { + exec {'join-active-directory': + # join the domain configured in samba.conf + command => '/sbin/configure_active_directory -j', + unless => '/sbin/verify_active_directory', + require => [ File['configure_active_directory', 'verify_active_directory'], Service['winbind'] ], + } } } -- cgit v1.2.3 From 96e8a1b73f8d0c997fffc090a7b9c4a59f8385eb Mon Sep 17 00:00:00 2001 From: Philipp Toelke Date: Fri, 1 Jul 2016 17:00:41 +0200 Subject: fix templates so that specs can use them; --- templates/configure_active_directory.erb | 2 +- templates/verify_active_directory.erb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/configure_active_directory.erb b/templates/configure_active_directory.erb index 4f9b6e0..1e74560 100644 --- a/templates/configure_active_directory.erb +++ b/templates/configure_active_directory.erb @@ -57,7 +57,7 @@ done password='<%= scope.lookupvar('samba::server::ads::winbind_pass') -%>' # short hostname from facter -my_hostname="<%= hostname -%>" +my_hostname="<%= @hostname -%>" # what account do we use for net ads commands? winbind_acct="<%= scope.lookupvar('samba::server::ads::winbind_acct') -%>" diff --git a/templates/verify_active_directory.erb b/templates/verify_active_directory.erb index 0917c49..c88d6a4 100644 --- a/templates/verify_active_directory.erb +++ b/templates/verify_active_directory.erb @@ -24,7 +24,7 @@ fi password='<%= scope.lookupvar('samba::server::ads::winbind_pass') -%>' # short hostname from facter -my_hostname="<%= hostname -%>" +my_hostname="<%= @hostname -%>" winbind_acct="<%= scope.lookupvar('samba::server::ads::winbind_acct') -%>" -- cgit v1.2.3 From 22c8f66ffaee96ab61465331d0d14636e5312ae6 Mon Sep 17 00:00:00 2001 From: Philipp Toelke Date: Fri, 1 Jul 2016 17:02:30 +0200 Subject: add spec for disable/enable join refs ajjahn/puppet-samba#61 --- spec/classes/samba__server__ads_spec.rb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 spec/classes/samba__server__ads_spec.rb diff --git a/spec/classes/samba__server__ads_spec.rb b/spec/classes/samba__server__ads_spec.rb new file mode 100644 index 0000000..a174bef --- /dev/null +++ b/spec/classes/samba__server__ads_spec.rb @@ -0,0 +1,19 @@ +require 'spec_helper' + +describe 'samba::server::ads', :type => :class do + let( :facts ) { { :osfamily => 'Debian' } } + context "Default config" do + it { should contain_exec('join-active-directory') } + end + + context "No join" do + let ( :params ) { { 'perform_join' => false }} + it { should_not contain_exec('join-active-directory') } + end + + context "Join 'forced'" do + let ( :params ) { { 'perform_join' => true }} + it { should contain_exec('join-active-directory') } + end +end + -- cgit v1.2.3