Я новичок в Puppet Enterprise, но пытаюсь научиться развертывать файлы пользовательских классов на серверах Windows. Я пытаюсь использовать модуль opentable / windowsfeature, но получаю сообщение об ошибке, когда мой класс пытается работать на узле. Похоже, он выдает эту ошибку в модуле windowsfeature -
Ошибка: не удалось получить каталог с удаленного сервера: ошибка 400 на СЕРВЕРЕ: «истина» не является логическим. Похоже, это строка в /etc/puppetlabs/puppet/environments/production/modules/windowsfeature/manifests/init.pp:64 на узле test-server-02.testdomain.local Предупреждение: не используется кеш в неудачном каталоге Ошибка: Не удалось получить каталог; пропуск бега
Кто-нибудь видел эту ошибку раньше или знает, как ее исправить? Код модуля пытается инициализировать переменную как false, но я не понимаю, почему, когда он пытается выполнить validate_bool ($ restart), ошибка говорит, что для нее установлено строковое значение «true».
Вот список установленных мной модулей:
[root @ testserver01 ~] # список модулей марионеток
/ и т.д. / puppetlabs / марионетка / среды / производство / модули
├── linux_base_config (???)
├── nanliu-staging (v1.0.2)
├── функция opentable-windows (v1.0.0)
├── puppetlabs-concat (v1.1.2)
├── puppetlabs-powershell (v1.0.4)
├── puppetlabs-registry (v1.0.3)
├── puppetlabs-stdlib (v4.4.0)
├── puppetlabs-tomcat (v1.2.0)
└── windows_base_config (???)
/ etc / puppetlabs / puppet / modules (модули не установлены)
/ opt / puppet / share / puppet / modules
├── puppetlabs-pe_accounts (v2.0.2-6-gd2f698c)
├── puppetlabs-pe_concat (v1.1.2-4-g2b7bba2)
├── puppetlabs-pe_console_prune (v0.1.1-4-g293f45b)
├── puppetlabs-pe_inifile (v1.1.4-16-gcb39966)
├── puppetlabs-pe_java_ks (v1.2.4-35-g44fbb26)
├── puppetlabs-pe_postgresql (v3.4.4-15-g32e56ed)
├── puppetlabs-pe_razor (v0.2.1-9-g8d78ec2)
├── puppetlabs-pe_repo (v0.7.7-51-g5ba0427)
├── puppetlabs-pe_staging (v0.3.3-2-g3ed56f8)
├── puppetlabs-puppet_enterprise (v3.7.1-5-ga436912)
└── puppetlabs-reboot (v0.1.8)
Хотя может показаться, что проблема исходит из файла init.pp в функции Windows, это почти наверняка не так. Взгляните на файл. Строка 64 - это функция проверки, которая проверяет переменную $ restart, которая почти наверняка была передана в качестве параметра с помощью или найдена через hiera. Короткий ответ заключается в том, что ваша проблема в другом месте, скорее всего, в том месте, где вы установили значение «$ restart» на «true».
52 define windowsfeature (
53 $ensure = 'present',
54 $feature_name = $title,
55 $installmanagementtools = false,
56 $installsubfeatures = false,
57 $restart = false,
58 $source = false
59 ) {
60
61 validate_re($ensure, '^(present|absent)$', 'valid values for ensure are \'present\' or \'absent\'')
62 validate_bool($installmanagementtools)
63 validate_bool($installsubfeatures)
64 validate_bool($restart)
ошибка говорит, что для нее установлено «истинное» строковое значение.
Переменная со значением true
отличается от переменной со значением "true"
. Один из них - строка, а другой - логическое значение.