On Fri, Aug 10, 2012 at 10:14 AM, Matt Zagrabelny <[email protected]> wrote:
> On Fri, Aug 10, 2012 at 9:53 AM, David Schmitt <[email protected]> wrote:
>> On 10.08.2012 16:19, Matt Zagrabelny wrote:
>>>
>>> Hi!
>>>
>>> I've got a simple file and exec resource coupling that does not seem
>>> to be working as expected:
>>>
>>> file { "/etc/postfix/transport":
>>> source => "puppet:///private/etc/postfix/transport",
>>> }
>>>
>>> exec { "rebuild_transport_index_for_mailman":
>>> command => "postmap /etc/postfix/transport",
>>> path => "/bin:/sbin:/usr/bin:/usr/sbin",
>>> subscribe => File["/etc/postfix/transport"],
>>> refreshonly => true,
>>> }
>>>
>>> The above postmap command should create the file
>>> "/etc/postfix/transport.db".
>>>
>>> I restart puppet on the node and the exec is not run:
>>>
>>> Aug 10 09:16:11 lists puppet-agent[1099]: Starting Puppet client version
>>> 2.6.2
>>> Aug 10 09:16:13 lists puppet-agent[1099]:
>>> (/Stage[main]/Mailman::Service/Service[mailman]/ensure) ensure changed
>>> 'stopped' to 'running'
>>> Aug 10 09:16:18 lists puppet-agent[1099]: Finished catalog run in 5.43
>>> seconds
>>>
>>> Of course the "transport.db" does not get created:
>>>
>>> % ls -alhrt /etc/postfix
>>> total 84K
>>> drwxr-xr-x 2 root root 4.0K May 4 2011 sasl
>>> -rwxr-xr-x 1 root root 24K May 4 2011 post-install
>>> -rwxr-xr-x 1 root root 8.6K May 4 2011 postfix-script
>>> -rw-r--r-- 1 root root 19K May 4 2011 postfix-files
>>> -rw-r--r-- 1 root root 318 Aug 9 14:57 dynamicmaps.cf
>>> drwxr-xr-x 77 root root 4.0K Aug 9 15:35 ..
>>> -rw-r--r-- 1 root root 1.7K Aug 9 16:26 main.cf
>>> -rw-r--r-- 1 root root 31 Aug 9 16:52 transport
>>> -rw-r--r-- 1 root root 4.0K Aug 9 16:52 master.cf
>>> drwxr-xr-x 3 root root 4.0K Aug 10 09:11 .
>>>
>>> Any ideas of how to debug this?
>
> Hi David,
>
>> You already have all the information. "/etc/postfix/transport" didn't
>> change, and thus didn't notify the exec, which didn't run.
>
> Thanks for the pointer. I had a disconnect between a resource not
> existing (supposing in my head /etc/postfix/transport.db was a file
> resource) and the fact that it resulted from an exec resource.
A followup to this discussion. Is there a more optimal way to ensure
the file (/etc/postfix/transport.db) is created by the exec and is
subscribed to the source file?
file { "/etc/postfix/transport":
source => "puppet:///private/etc/postfix/transport",
}
exec { "build_transport_index_for_mailman_if_it_doesnt_exist":
command => "postmap /etc/postfix/transport",
path => "/bin:/sbin:/usr/bin:/usr/sbin",
unless => "test -f /etc/postfix/transport.db",
}
exec { "rebuild_transport_index_for_mailman":
command => "postmap /etc/postfix/transport",
path => "/bin:/sbin:/usr/bin:/usr/sbin",
subscribe => File["/etc/postfix/transport"],
refreshonly => true,
}
Thanks for any hints.
-mz
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.