Не могу запустить куклу с модулями на бродяге

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


DEBUG ssh: Exit status: 0 INFO interface: info: Running Puppet with db.pp... INFO interface: info: ==> db: Running Puppet with db.pp... ==> db: Running Puppet with db.pp... DEBUG ssh: Re-using SSH connection. INFO ssh: Execute: puppet apply --verbose --debug --modulepath '/tmp/vagrant-puppet/modules-9f098f5eef3eb89ba69e9481e2fa4839:/etc/puppet/modules' --detailed-exitcodes --manifestdir /tmp/vagrant-puppet/manifests-a11d1078b1b1f2e3bdea27312f6ba513 /tmp/vagrant-puppet/manifests-a11d1078b1b1f2e3bdea27312f6ba513/db.pp (sudo=true) DEBUG ssh: stderr: stdin: is not a tty

INFO interface: info: stdin: is not a tty INFO interface: info: ==> db: stdin: is not a tty ==> db: stdin: is not a tty DEBUG ssh: stdout: warning: Could not retrieve fact fqdn INFO interface: info: warning: Could not retrieve fact fqdn INFO interface: info: ==> db: warning: Could not retrieve fact fqdn ==> db: warning: Could not retrieve fact fqdn DEBUG ssh: stdout:

DEBUG ssh: stderr: Could not find class msql-server for precise32 at /tmp/vagrant-puppet/manifests-a11d1078b1b1f2e3bdea27312f6ba513/db.pp:59 on node precise32 INFO interface: info: Could not find class msql-server for precise32 at /tmp/vagrant-puppet/manifests-a11d1078b1b1f2e3bdea27312f6ba513/db.pp:59 on node precise32 INFO interface: info: ==> db: Could not find class msql-server for precise32 at /tmp/vagrant-puppet/manifests-a11d1078b1b1f2e3bdea27312f6ba513/db.pp:59 on node precise32 ==> db: Could not find class msql-server for precise32 at /tmp/vagrant-puppet/manifests-a11d1078b1b1f2e3bdea27312f6ba513/db.pp:59 on node precise32


Очевидно, Vagrant не использует модули, как описано в этом файле vagrant (в разделе db machine):

Vagrant.configure(2) do |config|


config.vm.box = "hashicorp/precise32"
  config.vm.define :db do |db_config|
    db_config.vm.network :private_network,
                         :ip => "192.168.33.10"
    db_config.vm.provision "puppet" do |puppet|
        puppet.module_path = "modules"
        puppet.manifest_file = "db.pp"
        puppet.options = "--verbose --debug"
    end
  end

  config.vm.define :web do |web_config|
    web_config.vm.network :private_network,
                          :ip => "192.168.33.12"
    web_config.vm.provision "puppet" do |puppet|
        puppet.module_path = "modules"
        puppet.manifest_file = "web.pp"
    end
  end

  config.vm.define :monitor do |monitor_config|
    monitor_config.vm.network :private_network,
                              :ip => "192.168.33.14"
  end
end

Любая подсказка о том, что происходит?

РЕДАКТИРОВАНИЕ

Я смог понять... это была проблема синтаксиса в марионетке. Но теперь у меня есть другая проблема

:: Сбой ресурса с ошибкой ArgumentError: Неверный тип ресурса msql::db

Тип ресурса используется в манифесте:

include mysql::server

msql::db { "loja":   schema   => "loja_schema",   password => "xxxx", }

Определение ниже:

define mysql::db($schema, $user = $title, $password) {
  #Dependência
  Class['mysql::server'] -> Mysql::db[$title]

  exec { "$title-schema":
    unless  => "mysql -uroot $schema",
    command => "mysqladmin -uroot create $schema",
    path  => "/usr/bin/",
  }

  exec {"$title-user":
    unless  => "mysql -u$user -p$password $schema",
    command => "mysql -uroot -e \"GRANT ALL PRIVILEGES ON \
                                  $schema.* TO '$user'@'%' \
                                  IDENTIFIED BY '$password';\"",
    path    => "/usr/bin/",
    require => Exec["$title-schema"],
  }
}

1 ответ

Проблема была решена путем включения классов модуля в файл манифеста, указанный Vagrant.

Пример:

Внутри манифесты /db.pp добавить:

include <module name>::<class name>
Другие вопросы по тегам