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

Не удалось оценить: не удалось получить информацию из источников загрузчика среды.

Чувствую себя полным новичком в марионетке (признаю, я очень заржавел :-)

Итак, мой файл manifest / site.pp содержит.

 file {"/tmp/findme.txt":
    source => "puppet:///modules/concat/concatfragments.rb"
  }


  file { "/etc/pupppetlabs/code/":
    path => "/etc/puppetlabs/code/",
    source  => "puppet:///modules/puppetEnv/code/",
    recurse => true
  }

Первая копия файла работает нормально. Я нахожу файл в /tmp/findme.txt, но вторая копия файла (фактически копия каталога) не работает. Получается и ошибка

==> puppetmaster: Error: /Stage[main]/Main/Node[puppetmaster]/File[/etc/pupppetlabs/code/]: Could not evaluate: Could not retrieve information from environment bootmaster source(s) puppet:///modules/puppetEnv/code

Другая информация.

из моего Vagrantfile

 pm.vm.provision "puppet" do |puppet|
   # puppet.options = "--verbose --debug"
    puppet.environment_path = "code/environments"
    puppet.environment = "bootmaster"
  end

Глядя на полученный каталог / tmp / vagrant-puppet на виртуальной машине (куда vagrant помещает файлы марионеток), все выглядит нормально.

[vagrant@puppetmaster vagrant-puppet]$ tree -d
.
├── environments
│   ├── bootmaster
│   │   ├── manifests
│   │   └── modules
│   │       ├── baseconfig
│   │       │   └── manifests
│   │       ├── concat
│   │       │   ├── files
│   │       │   ├── lib
. . . 
│   │       ├── puppetEnv
│   │       │   ├── files
│   │       │   │   └── code
│   │       │   │       └── environments
│   │       │   │           └── test
│   │       │   │               ├── manifests
│   │       │   │               └── modules

Ваша проблема выглядит как завершающая косая черта на вашем пути.

Вам также не нужно указывать path поскольку он унаследован от имени ресурса, и всегда лучше явно ensure что это каталог для удобочитаемости кода.

Пример:

file { '/etc/pupppetlabs/code':
  ensure  => directory,
  source  => 'puppet:///modules/puppetEnv/code',
  recurse => true,
}