From f657f0ff0776ff935e5b5ca128ca6946d7fe9b3f Mon Sep 17 00:00:00 2001 From: Chadwick Banning Date: Thu, 29 Jun 2017 22:01:57 -0400 Subject: [PATCH] Consolidate realm command argument logic --- manifests/join/keytab.pp | 18 ++++++++---------- manifests/join/password.pp | 16 +++++++--------- 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/manifests/join/keytab.pp b/manifests/join/keytab.pp index 8f3e96c..a24fd2f 100644 --- a/manifests/join/keytab.pp +++ b/manifests/join/keytab.pp @@ -42,21 +42,19 @@ before => Exec['realm_join_with_keytab'], } -if $_ou != undef { - exec { 'realm_join_with_keytab': - path => '/usr/bin:/usr/sbin:/bin', - command => "realm join ${_domain} --computer-ou=${_ou}", - unless => 'kinit -k host/$(hostname -f)', - require => Exec['run_kinit_with_keytab'], + if $_ou != undef { + $_realm_args = [$_domain, "--computer-ou=${_ou}"] + } else { + $_realm_args = [$_domain,] } -} -else { + $_args = join($_realm_args, ' ') + exec { 'realm_join_with_keytab': path => '/usr/bin:/usr/sbin:/bin', - command => "realm join ${_domain}", + command => "realm join ${_args}", unless => 'kinit -k host/$(hostname -f)', require => Exec['run_kinit_with_keytab'], } -} + } diff --git a/manifests/join/password.pp b/manifests/join/password.pp index 3eb641c..c205a8a 100644 --- a/manifests/join/password.pp +++ b/manifests/join/password.pp @@ -10,20 +10,18 @@ $_password = $::realmd::domain_join_password $_ou = $::realmd::ou -if $_ou != undef { - exec { 'realm_join_with_password': - path => '/usr/bin:/usr/sbin:/bin', - command => "echo '${_password}' | realm join ${_domain} --unattended --computer-ou=${_ou} --user=${_user}", - unless => "klist -k /etc/krb5.keytab | grep -i '${::hostname[0,15]}@${_domain}'", + if $_ou != undef { + $_realm_args = [$_domain, "--unattended", "--computer-ou=${_ou}", "--user=${_user}"] + } else { + $_realm_args = [$_domain, "--unattended", "--user=${_user}"] } -} -else { + $_args = join($_realm_args, ' ') + exec { 'realm_join_with_password': path => '/usr/bin:/usr/sbin:/bin', - command => "echo '${_password}' | realm join ${_domain} --unattended --user=${_user}", + command => "echo '${_password}' | realm join ${_args}", unless => "klist -k /etc/krb5.keytab | grep -i '${::hostname[0,15]}@${_domain}'", } -} }