Я создал марионеточный сервер (5.0.0), используя пример docker-compose и успешно подключил шесть клиентов (с помощью марионеточного агента, предоставленного debian).
Хотя я могу предоставить файлы с необработанным содержимым, например
file { '/etc/systemd/timesyncd.conf':
ensure => present,
content => "[Time]\nNTP=time.xxx.net\n",
notify => Service["systemd-timesyncd.service"]
}
передача файлов через исходный код не работает:
file { "/etc/default/grub":
ensure => present,
source => "puppet:///modules/debian-noquiet-grub/etc-default-grub",
}
Клиенты ошибаются с
Error: /Stage[main]/Loudgrub/File[/etc/default/grub]: Could not evaluate: Could not retrieve information from environment production source(s) puppet:///modules/debian-noquiet-grub/etc-default-grub
и сервер с
2017-08-24 13:40:21,582 INFO [puppetserver] Puppet Not Found: Could not find file_metadata modules/debian-noquiet-grub/etc-default-grub
10.161.xxx.zzz - - - 24/Aug/2017:13:40:21 +0000 "GET /puppet/v3/file_metadata/modules/debian-noquiet-grub/etc-default-grub?environment=production&links=manage&checksum_type=md5&source_permissions=ignore HTTP/1.1" 404 132 10.161.xxx.zzz 10.161.xxx.zzz 8140 6
Расположение файлов (внутри контейнера Docker):
/etc/puppetlabs/code/environments/production/manifests/site.pp (site.pp)
/etc/puppetlabs/code/environments/production/modules/debian-noquiet-grub/files/etc-default-grub (the text file)
/etc/puppetlabs/code/environments/production/modules (first element of puppet config print modulepath --section master --environment production)
Что вызывает эту ошибку и как ее исправить?
В соответствии с документы (и комментарии):
Имена модулей должны содержать только строчные буквы, цифры и символы подчеркивания и должны начинаться с строчной буквы. [...]