From b478a4eb162d5a3a117c44ef9b49f20462facf50 Mon Sep 17 00:00:00 2001 From: mh Date: Fri, 29 Jan 2016 19:14:12 +0100 Subject: also manage directory as puppet user needs write perms as well --- manifests/yaml.pp | 23 +++++++++++++++++------ spec/classes/yaml_spec.rb | 6 ++++++ 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/manifests/yaml.pp b/manifests/yaml.pp index 8ac0071..aca164b 100644 --- a/manifests/yaml.pp +++ b/manifests/yaml.pp @@ -6,7 +6,8 @@ # Default: /var/lib/trocla/trocla_data.yaml # This should be managed using the package. class trocla::yaml( - $data_file = '/var/lib/trocla/trocla_data.yaml', + $manage_data_dir = true, + $data_file = '/var/lib/trocla/trocla_data.yaml', ) { class{'trocla::config': @@ -19,10 +20,20 @@ class trocla::yaml( }, } - file{$data_file: - ensure => file, - owner => puppet, - group => 0, - mode => '0600'; + if $manage_data_dir { + $data_dir = dirname($data_file) + file{$data_dir: + ensure => directory, + owner => puppet, + group => 0, + mode => '0600'; + } + } + file{ + $data_file: + ensure => file, + owner => puppet, + group => 0, + mode => '0600'; } } diff --git a/spec/classes/yaml_spec.rb b/spec/classes/yaml_spec.rb index c5912f2..53ee507 100644 --- a/spec/classes/yaml_spec.rb +++ b/spec/classes/yaml_spec.rb @@ -27,6 +27,12 @@ store_options: adapter_options: :file: /var/lib/trocla/trocla_data.yaml ") } + it { should contain_file('/var/lib/trocla').with( + :ensure => 'directory', + :owner => 'puppet', + :group => 0, + :mode => '0600' + )} it { should contain_file('/var/lib/trocla/trocla_data.yaml').with( :ensure => 'file', :owner => 'puppet', -- cgit v1.2.3