From 7dc85dc776e158e26202362f11a72d7491ef07c8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Isma=C3=ABl=20Bouya?= Date: Tue, 14 Aug 2018 22:49:29 +0200 Subject: [PATCH] Change host_ldap to concat --- modules/base_installation/manifests/puppet.pp | 32 ++++++++++++++++--- ...ap.info.erb => host_ldap_add_top.info.erb} | 25 --------------- .../puppet/host_ldap_mod_top.info.erb | 23 +++++++++++++ 3 files changed, 51 insertions(+), 29 deletions(-) rename modules/base_installation/templates/puppet/{host_ldap.info.erb => host_ldap_add_top.info.erb} (51%) create mode 100644 modules/base_installation/templates/puppet/host_ldap_mod_top.info.erb diff --git a/modules/base_installation/manifests/puppet.pp b/modules/base_installation/manifests/puppet.pp index 05fe9a1..10b3773 100644 --- a/modules/base_installation/manifests/puppet.pp +++ b/modules/base_installation/manifests/puppet.pp @@ -109,10 +109,34 @@ class base_installation::puppet ( } $ips = lookup("ips", { 'default_value' => undef }) - file { "$base_installation::puppet_conf_path/host_ldap.info": - content => template("base_installation/puppet/host_ldap.info.erb"), - require => File[$base_installation::puppet_conf_path], - notify => Notify_refresh["notify-ldap-password"], + concat { "$base_installation::puppet_conf_path/host_ldap.info": + ensure => "present", + mode => "0600", + require => File[$base_installation::puppet_conf_path], + notify => Notify_refresh["notify-ldap-password"], + ensure_newline => true, + } + + concat::fragment { "host_ldap add top": + target => "$base_installation::puppet_conf_path/host_ldap.info", + content => template("base_installation/puppet/host_ldap_add_top.info.erb"), + order => "00-01", + } + concat::fragment { "host_ldap add bottom": + target => "$base_installation::puppet_conf_path/host_ldap.info", + content => "EOF", + order => "00-99", + } + + concat::fragment { "host_ldap mod top": + target => "$base_installation::puppet_conf_path/host_ldap.info", + content => template("base_installation/puppet/host_ldap_mod_top.info.erb"), + order => "01-01", + } + concat::fragment { "host_ldap mod bottom": + target => "$base_installation::puppet_conf_path/host_ldap.info", + content => "EOF", + order => "01-99", } notify_refresh { "notify-ldap-password": diff --git a/modules/base_installation/templates/puppet/host_ldap.info.erb b/modules/base_installation/templates/puppet/host_ldap_add_top.info.erb similarity index 51% rename from modules/base_installation/templates/puppet/host_ldap.info.erb rename to modules/base_installation/templates/puppet/host_ldap_add_top.info.erb index 7afdf2d..3aafc19 100644 --- a/modules/base_installation/templates/puppet/host_ldap.info.erb +++ b/modules/base_installation/templates/puppet/host_ldap_add_top.info.erb @@ -14,28 +14,3 @@ objectclass: ipHost environment: <%= @environment %> puppetVar: real_hostname=<%= @real_hostname %> userpassword: {SSHA}<%= Base64.encode64(Digest::SHA1.digest(@ldap_password+@ssha_ldap_seed)+@ssha_ldap_seed).chomp! %> -EOF -#### Or modify an existing entry: -ldapmodify -D "cn=root,<%= @ldap_base %>" -W << 'EOF' -dn: <%= @ldap_dn %> -changetype: modify -replace: userPassword -userpassword: {SSHA}<%= Base64.encode64(Digest::SHA1.digest(@ldap_password+@ssha_ldap_seed)+@ssha_ldap_seed).chomp! %> -- -replace: environment -environment: <%= @environment %> -<%- unless @ips.empty? -%> -- -delete: ipHostNumber -<%- unless @ips["v4"].nil? -%> -- -add: ipHostNumber -ipHostNumber: <%= @ips["v4"]["ipAddress"] %> -<%- end -%> -<%- unless @ips["v6"].nil? -%> -- -add: ipHostNumber -ipHostNumber: <%= @ips["v6"]["ipAddress"] %>/<%= @ips["v6"]["mask"] %> -<%- end -%> -<%- end -%> -EOF diff --git a/modules/base_installation/templates/puppet/host_ldap_mod_top.info.erb b/modules/base_installation/templates/puppet/host_ldap_mod_top.info.erb new file mode 100644 index 0000000..d7a1294 --- /dev/null +++ b/modules/base_installation/templates/puppet/host_ldap_mod_top.info.erb @@ -0,0 +1,23 @@ +#### Or modify an existing entry: +ldapmodify -D "cn=root,<%= @ldap_base %>" -W << 'EOF' +dn: <%= @ldap_dn %> +changetype: modify +replace: userPassword +userpassword: {SSHA}<%= Base64.encode64(Digest::SHA1.digest(@ldap_password+@ssha_ldap_seed)+@ssha_ldap_seed).chomp! %> +- +replace: environment +environment: <%= @environment %> +<%- unless @ips.empty? -%> +- +delete: ipHostNumber +<%- unless @ips["v4"].nil? -%> +- +add: ipHostNumber +ipHostNumber: <%= @ips["v4"]["ipAddress"] %> +<%- end -%> +<%- unless @ips["v6"].nil? -%> +- +add: ipHostNumber +ipHostNumber: <%= @ips["v6"]["ipAddress"] %>/<%= @ips["v6"]["mask"] %> +<%- end -%> +<%- end -%> -- 2.41.0