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

Ошибка копирования файла с использованием ресурса Puppet File

Я пытаюсь скопировать файлы, используя файловый ресурс. Мой код выглядит следующим образом:

node 'Node-002' {
 file { "/root/helloworld.txt":
 ensure => file,
 owner  => "root",
 group  => "root",
 mode   => "0644",
 source  => "puppet://modules/templates/${fqdn}/hosts.erb",
}
}

Но он не работает со следующей ошибкой

Error: /Stage[main]/Main/Node[Node-002]/File[/root/helloworld.txt]: Could not evaluate: Could not retrieve information from environment production source(s) puppet:///modules/templates/Node-002.example.com/hosts.erb

Расположение шаблона следующее:

  ls -l /apps/wps/puppetlabs/code/environments/production/modules/templates/Node-002.example.com/hosts.erb
 -rw-r--r-- 1 puppet puppet 462 Jul 20 02:13 /apps/wps/puppetlabs/code/environments/production/modules/templates/Node-002.wiley.com/hosts.erb

Даже если я дам полный путь в source параметр, он не работает с той же ошибкой.

Я использую Puppet 4.5.4

Пожалуйста, предложите

Ваш модуль (ы) не соответствует стандартной структуре каталогов. С исходным URL-адресом puppet:///modules/foo/bar.txt, Марионетка будет искать ${codedir}/environments/production/modules/foo/files/bar.txt. Статические файлы должны быть в files подкаталог в вашем модуле. Шаблоны должны быть в templates подкаталог в вашем модуле и указанный в file ресурс с content => template('foo/bar.erb'). Кажется, есть некоторая путаница с тем, что вы используете шаблон ERB в качестве источника, который никак не обрабатывается.

Видеть https://docs.puppet.com/puppet/latest/reference/modules_fundamentals.html о том, как должны быть структурированы ваши модули.