Невозможно включить Future Parser в puppet.conf

Действия по воспроизведению

  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 ответ

Решение

Работает после смены each($systems) |$value| { notify $value } в each($systems) |$value| { notify {$value:} }:

Другие вопросы по тегам