使用Vagrant + Puppet时出现问题

时间:2014-05-20 14:10:42

标签: vagrant puppet vagrantfile

我正在使用Vagrant,我正在尝试使用Puppet作为配置我的虚拟机的工具。 我在Vagrantfile的同一目录中创建了一个名为“manifests”的文件夹。在'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.非常感谢!

1 个答案:

答案 0 :(得分:1)

要使用puppet配置器,您需要指定以下内容:

  • manifest_file
  • manifests_path

在您的情况下,manifest_file似乎是db.pp,而manifests_pathmanifests

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

Check the vagrant puppet provisioner page