web-dev-qa-db-ja.com

puppet.confでFutureParserを有効にできません

再現手順

  1. このドキュメント の説明に従って、将来のパーサーを有効にします。

/ etc/puppet/puppet.conf

_[main]
parser = future
_
  1. ラムダコードをppファイルに追加する

site.pp

_$systems = [
  'system01',
  'system02',
  'system03',
  'system04',
  'system05',
  'system06',
  'system07',
  'system08',
  'system09',
  'system10'
]

each($systems) |$value| { notify $value }
_
  1. 人形を実行します

結果

_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
_

問題の解決を試みます

  1. _Could not parse for environment production: This Name is not productive_も_A non productive construct may only be placed last in a block/sequence_もグーグルで検索しても、問題を解決する答えは得られませんでした。
  2. each($systems) |$value| { notify $value }をファイルの最後に移動しても、問題は解決しませんでした
1
030

each($systems) |$value| { notify $value }each($systems) |$value| { notify {$value:} }に変更した後に機能します。

0
030