0

我正在使用 Vagrant,我正在尝试使用 Puppet 作为配置我的一个虚拟机的工具。我在我的 Vagrantfile 的同一目录中创建了一个名为“manifests”的文件夹。在“清单”文件夹中,我创建了一个名为 db.pp 的文件,其内容如下:

exec { "apt-update":
  command => "/usr/bin/apt-get update"
}
package { "mysql-server":
  ensure  => installed,
  require => Exec["apt-update"],
}

我的 Vagrantfile 看起来像这样:

VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) 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.manifest_file = "db.pp"
    end
  end
end

但是当我vagrant up db在命令行上键入时,我收到以下错误消息:The configured puppet manifest is missing. Please specify a path to an existing manifest. 有谁知道它是什么?我的操作系统是 Windows 7。非常感谢!

4

1 回答 1

1

要使用 puppet 供应商,您需要指定以下内容:

  • 清单文件
  • manifests_path

在你的情况下看起来像manifest_fileisdb.ppmanifests_pathismanifests

VAGRANTFILE_API_VERSION = 2
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "hashicorp/precise64"
  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.manifest_file = "db.pp"
      puppet.manifests_path = "manifests"
    end
  end
end

检查 vagrant puppet provisioner 页面

于 2016-01-01T20:05:12.557 回答