【问题标题】:What is the exact puppet command that vagrant uses for the puppet provisioning?vagrant 用于 puppet 配置的确切 puppet 命令是什么?
【发布时间】:2014-12-28 17:15:23
【问题描述】:

我正在使用带有 puppet 配置的 vagrant。我的 vagrantfile 中的配置设置如下所示:

  config.vm.provision "puppet" do |puppet|
    puppet.manifests_path = "puppet/manifests"
    puppet.hiera_config_path = "puppet/hiera.yaml"
    puppet.module_path    = "../puppet/modules"
    puppet.manifest_file  = "site.pp"
  end

我有另一个不受 vagrant 管理的虚拟机,并希望在其上应用 puppet 配置。我想使用 vagrant 使用的确切的“puppet apply”命令。

有人可以告诉我 vagrant 使用的确切“puppet apply”命令吗?

【问题讨论】:

    标签: vagrant puppet


    【解决方案1】:

    它是开源的,你可以随时查看源代码:plugins/provisioners/puppet/provisioner/puppet.rb。相关方法为run_puppet_apply。和/或您可以在测试配置上启用详细日志记录并检查日志以查看命令行。

    我有另一个不受 vagrant 管理的虚拟机,并希望在其上应用 puppet 配置。我想使用 vagrant 使用的确切的“puppet apply”命令。

    那是行不通的。确切的 vagrant puppet 配置命令包含对 vagrant 文件所在的临时附加文件夹的引用。

    有人可以告诉我 vagrant 使用的确切“puppet apply”命令吗?

    没有人能够做到这一点,因为 exact 命令是特定于您的环境的。

    我的建议是从日志中提取应用于您现有虚拟机之一的命令,并以此为起点构建您自己的手动命令。相关的命令项是模块路径(其中将包含对临时共享文件夹的引用,基本上使../puppet/modules 在 VM 中可见)、您的 hiera 文件(被“上传”到 VM 中的临时文件中)和 @987654324 @ 定义,如果有的话。

    【讨论】:

    • 我想使用 puppet 应用配置。我可以复制 VM 上的所有 puppet 代码(site.pp、hiera 文件、模块等)并执行“puppet apply”。为此,我需要知道需要传递给“puppet apply”的其他参数。例如我想知道如何在命令行上将 hiera 详细信息指定为“puppet apply”。我是 puppet 的新手,所以对我来说很容易找到 vagrant 生成的“puppet apply”命令。
    • 查看 vagrant source 如何构建命令行:options << "--modulepath '#{module_paths.join(module_path_sep)}'"options << "--hiera_config=#{@hiera_config_path}"options << "--manifestdir #{manifests_guest_path}"options << @manifest_file。所以会建立类似puppet apply -modulepath /tmp/puppet/modules -hiera_config=/tmp/puppet/hiera.yaml -manifestdir /tmp/puppet/manifests site.pp
    • 根据您的输入,我执行了以下命令(通过设置适当的参数值)并成功运行:“puppet apply --modulepath= --hiera_config= --manifestdir= site.pp”。
    【解决方案2】:

    如果你需要直接回答,命令是

    sudo puppet apply --hiera_config puppet/hiera.yaml --modulepath=../puppet/modules puppet/manifests/site.pp
    

    通常,当前文件夹(包括模块和清单文件夹等)将安装在来宾实例的 /vagrant 下。在 vagrant upvagrant ssh 到该实例之后,您可以 cd 到文件夹 /vagrant 并在 puppet apply 命令上方运行以证明该命令是否运行良好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-05
      • 1970-01-01
      • 1970-01-01
      • 2015-11-20
      • 1970-01-01
      • 1970-01-01
      • 2014-02-24
      • 1970-01-01
      相关资源
      最近更新 更多