Я настроил динамические среды в puppet.conf
Такие как:
modulepath = $confdir/environments/$environment/modules
manifest = $confdir/environments/$environment/site/manifests/site.pp
environmentpath = /etc/puppetlabs/puppet/environments
Мой environments
dir имеет среды вместе с manifest/site.pp
файл и modules
реж.
Однако, когда я запускаю агент sudo puppet agent --test --environment=test
Я получаю следующую ошибку (я не настроил среду на production
в агентском puppet.conf
файл):
Warning: Local environment: "test" doesn't match server specified node environment "production", switching agent to "production".
Он применяет только модули производственной среды.
Я использую марионеточное предприятие 3.7.3.
Получается, что из-за того, что я использовал PE-версию, узел был автоматически классифицирован как production
окружающая среда, отсюда и проблема. Изменение окружающей среды на agent-specified
в разделе классификации работал.
У меня нет объяснения, но у меня 3.73 и я использую среду без проблем. Мой puppet.conf
файл содержит: environmentpath=$confdir/environments
но не содержит manifest
или modulepath
вход.
Путь к модулю и манифесту определяется в environment.conf
в корне каталога среды:
manifest = manifests/
modulepath = modules:site
Что касается агента, я модифицировал puppet.conf
на узле, чтобы указать среду, но параметр, который вы задали, должен работать (он четко сообщает агенту, какую среду использовать в соответствии с указанной вами ошибкой).