From f3a9a0df029a2decdf9d0cde51e6da97255dfbab Mon Sep 17 00:00:00 2001 From: Alex Skrenchuk Date: Tue, 13 Mar 2018 15:00:49 -0700 Subject: [PATCH 1/2] convert client certificate hostnames to lowercase fixes Error: Could not initialize global default settings: Certificate names must be lower case; see #1168 in cases where :fqdn contains capital letters. --- manifests/init.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/init.pp b/manifests/init.pp index 592bcc2..7c29d91 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -89,7 +89,7 @@ $ini_settings = { 'server' => { setting => 'server', value => $server,}, 'ca_server' => { setting => 'ca_server', value => $ca_server,}, - 'certname' => { setting => 'certname', value => $certname,}, + 'certname' => { setting => 'certname', value => downcase($certname),}, 'environment' => { setting => 'environment', value => $env,}, 'trusted_node_data' => { setting => 'trusted_node_data', value => true,}, 'graph' => { setting => 'graph', value => $graph,}, From 936d66566cc036f183aaa0c1bbdf382198836125 Mon Sep 17 00:00:00 2001 From: Alex Skrenchuk Date: Tue, 13 Mar 2018 18:08:31 -0700 Subject: [PATCH 2/2] add spec tests for capitalizaton of certname --- manifests/init.pp | 2 ++ spec/classes/init_spec.rb | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/manifests/init.pp b/manifests/init.pp index 7c29d91..936e3e3 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -89,6 +89,8 @@ $ini_settings = { 'server' => { setting => 'server', value => $server,}, 'ca_server' => { setting => 'ca_server', value => $ca_server,}, + # certname must be lower case + # see https://puppet.com/docs/puppet/latest/configuration.html#certname and https://tickets.puppetlabs.com/browse/PUP-2551 'certname' => { setting => 'certname', value => downcase($certname),}, 'environment' => { setting => 'environment', value => $env,}, 'trusted_node_data' => { setting => 'trusted_node_data', value => true,}, diff --git a/spec/classes/init_spec.rb b/spec/classes/init_spec.rb index 7039d78..7953030 100644 --- a/spec/classes/init_spec.rb +++ b/spec/classes/init_spec.rb @@ -251,6 +251,21 @@ end end + describe 'with certname containing capitalization' do + let(:params) { { :certname => 'puppet.example.COM' } } + + it do + should contain_ini_setting('certname').with({ + :ensure => 'present', + :setting => 'certname', + :value => 'puppet.example.com', + :path => '/etc/puppetlabs/puppet/puppet.conf', + :section => 'main', + :require => 'File[puppet_config]', + }) + end + end + describe 'parameter type and content validations' do validations = { 'absolute paths' => {