【问题标题】:Issue when using Vagrant+Puppet使用 Vagrant+Puppet 时的问题
【发布时间】:2016-01-02 04:18:54
【问题描述】:

我正在使用 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。非常感谢!

【问题讨论】:

  • 您是否尝试过添加明确的puppet.manifests_path = "manifests"
  • 是的,我试过了,还是不行。
  • 如何将 db.pp 重命名为 default.pp 并跳过 manifest_file 选项?
  • 伙计们,它成功了!问题是我将文件 db.pp 保存为 .txt 文件。为我感到羞耻。感谢您的帮助。

标签: vagrant puppet vagrantfile


【解决方案1】:

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

  • 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-08
    • 2016-09-05
    • 2017-12-08
    • 1970-01-01
    相关资源
    最近更新 更多