重现步骤
/etc/puppet/puppet.conf
[main] parser = future
site.pp
$systems = [ 'system01', 'system02', 'system03', 'system04', 'system05', 'system06', 'system07', 'system08', 'system09', 'system10' ] each($systems) |$value| { notify $value }
结果
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not parse for environment production: This Name is not productive. A non productive construct may only be placed last in a block/sequence at /etc/puppet/manifests/site.pp:38:27 on node vm-one.domain Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run
尝试解决问题
Could not parse for environment production: This Name is not productive也A non productive construct may only be placed last in a block/sequence是A non productive construct may only be placed last in a block/sequence解决问题的答案。 each($systems) |$value| { notify $value } each($systems) |$value| { notify $value }到文件末尾也没有解决问题 它改变each($systems) |$value| { notify $value } each($systems) |$value| { notify $value }给each($systems) |$value| { notify {$value:} } each($systems) |$value| { notify {$value:} } :