Не удалось найти класс при запуске модуля puppet во время развертывания Vagrant

Я планирую развернуть виртуальную машину CentOS 7 VirtualBox с помощью Vagrant 1.9.5 и хочу запустить несколько кукольных модулей, развернутых локально.

Ниже мой Vagrantfile:

Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
  config.vm.hostname = "test01.virtual"         

  config.vm.provision :puppet do |puppet|
    puppet.manifests_path = "puppet/manifests"
    puppet.module_path = "puppet/modules/"
    puppet.options = ['--verbose']
  end
end

и мой файл default.pp в./puppet/manifests:

Package { allow_virtual => true }

include mycode-dummy

Кукольный модуль выглядит нормально:

$ grep class puppet/modules/mycode-dummy/manifests/init.pp
class dummy($path    = '/tmp/dummy',

Когда я запускаю vagrant up, я получаю следующее сообщение об ошибке:

....
==> default: Info: Loading facts
==> default: Error: Could not find class mycode-dummy for test01.virtual on node test01.virtual
==> default: Error: Could not find class mycode-dummy for test01.virtual on node test01.virtual
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

Это происходит также с другими модулями и с другими бродячими коробками.
Я не поймал был неправ...

BR
FleX

1 ответ

Решение

Вы не вызываете фиктивный класс, вы включаете модуль, но ничего не вызываете из этого модуля.

В вашем default.pp вам нужно что-то вроде

Package { allow_virtual => true }

class {dummy: }

include dummy
Другие вопросы по тегам