2014-05-20 51 views
0

我正在使用Vagrant,並試圖使用Puppet作爲調配我的一臺虛擬機的工具。 我在我的Vagrantfile的同一目錄下創建了一個名爲'manifests'的文件夾。裏面的「清單」文件夾我創建了一個名爲db.pp有以下內容的文件:使用Vagrant + Puppet時的問題

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.非常感謝!

+0

你試過添加一個明確的'puppet.manifests_path =「清單」嗎? –

+0

是的,我試過了,但仍然無法工作。 – user1517951

+0

如何將db.pp重命名爲default.pp並跳過「manifest_file」選項? –

回答

1

要使用傀儡供應方需要指定如下:

  • manifest_file
  • manifests_path

在你的情況看起來像manifest_filedb.ppmanifests_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