Назад | Перейти на главную страницу

Невозможно включить 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 } до конца файла тоже проблему не решило

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