Hello guys,

I am trying to audit directory on server and automaticaly regenerate (with 
custom script run by *exec*) it's content whenever user touches it. With 
single files it's easy to do with

file {'/etc/myconfig':
  audit => content,
}

-> exec {'/usr/local/bin/generate-myconfig.sh':
  refreshonly => true,
}

Unfortunately when I try to audit directory, content of it's file is not 
audited (which I kinda understand) and even list of files is not audited 
(which I can understand less). When I try to switch to `audit => mtime`, I 
am getting strange errors with `transaction.yaml` format and missing class 
Time.

file {'/etc/mysoft/conf.d':
  ensure => directory,
  audit  => mtime,
}

-> exec {'/usr/local/bin/generate-mysoft-conf.sh':
  refreshonly => true,
}

On first puppet agent run everything is completely fine, in verbose run I 
got notice
Notice: /Stage[main]/MySoftModule::Config/File[/etc/mysoft/conf.d]/mtime: 
audit change: previously recorded value '2020-04-28 11:11:00 +0200' has 
been changed to '2020-04-28 11:27:16 +0200'

but another runs gives me always an error
Error: Transaction store file /opt/puppetlabs/puppet/cache/state/
transactionstore.yaml is corrupt ((/opt/puppetlabs/puppet/cache/state/
transactionstore.yaml): Tried to load unspecified class: Time); replacing
Wrapped exception:
Tried to load unspecified class: Time

and when I searched `transactionstore.yaml` I can found this section, which 
I belive is related to this error
  File[/etc/mysoft/conf.d]:
    parameters:
      ensure:
        system_value:
        - :directory
      mtime:
        system_value:
        - 2020-04-28 11:27:16.291317766 +02:00

Do you have any idea what am I doing wrong? I believe it's supposed to be 
used like that, but I cannot find much oficial reference and examples to 
audit metaparameter usage. I am using oficial puppetlabs packages, 
currently in version 6.14.0-buster1, but this behaves exactly same at in 
previous versions.

Thank you for any advice.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/a8e8cf8b-17ad-4c8b-aa36-12436caa8d85%40googlegroups.com.

Reply via email to