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

Марионетка не может найти файл модуля

Я создал марионеточный сервер (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)

Что вызывает эту ошибку и как ее исправить?

В соответствии с документы (и комментарии):

Имена модулей должны содержать только строчные буквы, цифры и символы подчеркивания и должны начинаться с строчной буквы. [...]