Windows上的puppet-acl模块抛出transactionstore.yaml损坏错误

时间:2016-08-17 12:43:17

标签: puppet

在Windows Server 2016,Preview5上试用puppet-acl模块。我在第二次傀儡运行上遇到了最奇怪的错误。如果我删除trnsactionstore.yaml文件,并重新运行puppet代理,行为是可重复的。我用最新的代理版本运行puppet4。

这是我的代码块

acl { "c:/temp":
  permissions => [
    { identity  =>  'Administrator', rights => ['full'] },
    { identity  =>  'Users', rights => ['read','execute'] }
  ],
}

这是puppet-run的输出。

PS C:\ProgramData\PuppetLabs\puppet\cache\state> puppet agent -t
Info: Using configured environment 'local'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Caching catalog for opslowebf02n02.local
Error: Transaction store file C:/ProgramData/PuppetLabs/puppet/cache/state/transactionstore.yaml is corrupt (wrong number of arguments (0 for 1..2)); replacing
Error: Transaction state file C:/ProgramData/PuppetLabs/puppet/cache/state/transactionstore.yaml is valid YAML but not returning a hash. Check the file for corruption, or remove it before continuing.
Info: Applying configuration version '1471436916'
Notice: /Stage[main]/platform_base_system::Role::Windows/Exec[check-powershell-exection-policy]/returns: executed successfully
Notice: /Stage[main]/configs_iis::Profile::Default/Exec[check-iis-global-anonymous-authentication]/returns: executed successfully
Notice: Applied catalog in 7.42 seconds

在transactionstore.yaml文件中,这是错误部分:

Acl[c:/temp]:
   parameters:
     permissions:
       system_value:
       - !ruby/hash:Puppet::Type::Acl::Ace {}
       - !ruby/hash:Puppet::Type::Acl::Ace {}
     inherit_parent_permissions:
       system_value: :true

2 个答案:

答案 0 :(得分:0)

通过将傀儡代理人降级到4.5.3已经解决了这个问题。 4.6.0版本的行为必须已更改。

使用4.5.3我仍然会在日志文件中看到错误,但是puppetrun不会失败 我会尝试和傀儡的人谈谈这件事。

Acl[c:/temp]:
parameters:
  permissions:
  system_value:
  - !ruby/hash:Puppet::Type::Acl::Ace {}
  - !ruby/hash:Puppet::Type::Acl::Ace {}
  inherit_parent_permissions:
  system_value: :true

答案 1 :(得分:0)