diff --git a/shared/additional-modules/god/templates/god-init.d b/shared/additional-modules/god/templates/god-init.d index b6cc1cd..196b4d6 100644 --- a/shared/additional-modules/god/templates/god-init.d +++ b/shared/additional-modules/god/templates/god-init.d @@ -1,4 +1,4 @@ -<%= scope.function_template('base/init-d-header') %> +<%= scope.function_template(['base/init-d-header']) %> <% bin = scope.lookupvar('god::bin') %> <%= init_d_prolog %> @@ -36,5 +36,5 @@ stop() { echo "$NAME." } -<%= scope.function_template('base/init-d-actions') %> +<%= scope.function_template(['base/init-d-actions']) %> diff --git a/shared/additional-modules/varnish/manifests/init.pp b/shared/additional-modules/varnish/manifests/init.pp index 7ca1870..dc6dc56 100644 --- a/shared/additional-modules/varnish/manifests/init.pp +++ b/shared/additional-modules/varnish/manifests/init.pp @@ -49,6 +49,7 @@ class varnish($version, $vcl_template, $store_file_mb = 1024) { god_init { $name: start => $varnish_start, stop => $varnish_stop, + dir => config_path('god.d'), restart => "${varnish_stop} && ${varnish_start}", pid_file => $pid, ensure => present, diff --git a/shared/additional-modules/varnish/templates/varnish-init.d b/shared/additional-modules/varnish/templates/varnish-init.d index e7a209a..0c32ef8 100644 --- a/shared/additional-modules/varnish/templates/varnish-init.d +++ b/shared/additional-modules/varnish/templates/varnish-init.d @@ -1,4 +1,4 @@ -<%= scope.function_template('base/init-d-header') %> +<%= scope.function_template([ 'base/init-d-header' ]) %> <%= init_d_prolog %> <%= init_d_prerun %> @@ -14,6 +14,7 @@ start() { -f <%= scope.lookupvar('varnish::vcl_path') %> \ -s file,<%= scope.lookupvar('varnish::store_file_path') %> RETVAL=$? + echo $RETVAL if [ $RETVAL -eq 0 ]; then <%= scope.lookupvar('varnish::ncsa_bin') %> \ -P <%= scope.lookupvar('varnish::ncsa_pid') %> \ @@ -40,5 +41,5 @@ stop() { echo "done" } -<%= scope.function_template('base/init-d-actions') %> +<%= scope.function_template([ 'base/init-d-actions' ]) %> diff --git a/shared/lib/puppet/provider/god_init/install.rb b/shared/lib/puppet/provider/god_init/install.rb index bb74fcc..bb1b55b 100644 --- a/shared/lib/puppet/provider/god_init/install.rb +++ b/shared/lib/puppet/provider/god_init/install.rb @@ -4,6 +4,8 @@ Puppet::Type.type(:god_init).provide(:install) do desc "Install a God script" def create + FileUtils.mkdir_p File.dirname(file) + File.open(file, 'wb') { |fh| fh.print processed_config } end @@ -21,7 +23,7 @@ Puppet::Type.type(:god_init).provide(:install) do private def file - "/etc/god.d/#{@resource[:name]}.god" + File.join(@resource[:dir], "#{@resource[:name]}.god") end def start diff --git a/shared/lib/puppet/type/god_init.rb b/shared/lib/puppet/type/god_init.rb index c8b2821..c5a36dd 100644 --- a/shared/lib/puppet/type/god_init.rb +++ b/shared/lib/puppet/type/god_init.rb @@ -19,6 +19,10 @@ Puppet::Type.newtype(:god_init) do desc "The command to restart/reload the process" end + newparam(:dir) do + desc "The directory where god configs are held" + end + newparam(:pid_file) do desc "A pid file" end