【问题标题】:Vagrant provision live output流浪者提供实时输出
【发布时间】:2013-09-27 11:59:28
【问题描述】:

有没有办法让 Vagrant 在运行时显示配置工具的输出,而不仅仅是在最后?如果这很重要,我正在使用 Ansible 插件。

Vagrant 似乎在运行整个 config.vm.provision 部分并收集输出,只有在一切完成后才显示它。

这会导致一些问题,例如流程中的某个步骤挂起或您希望有涉及用户的交互式步骤。

【问题讨论】:

    标签: command-line ssh vagrant provisioning configuration-management


    【解决方案1】:

    您可能希望将 vagrant 日志记录级别更改为调试,以便在提供时查看更多输出 => VAGRANT_LOG=debug vagrant up --provision

    这适用于 Chef Solo(我还没有尝试过使用 Ansible 的 Vagrant),配置部分的输出类似于使用 debug (-l debug) 日志级别运行 chef-solo。

    下面添加了更新

    对于 Ansible 供应商,自 vagrant 1.3.2 以来添加了以下内容:

    • provisioners/ansible:支持更详细的级别,更好的文档。 [GH-2153]。

    详见 pull request 2153,官方文档好像还没有更新。

    我认为您应该能够在 Vagrantfile 中添加 ansible.verbosity 以启用最大详细级别

    Vagrant.configure("2") do |config|
      config.vm.provision "ansible" do |ansible|
        ansible.playbook = "provisioning/playbook.yml"
        ansible.verbose = "true"
        ansible.verbosity = "-vvv"
      end
    end
    

    【讨论】:

    • 感谢您的提示,但这无济于事。我现在尝试了 chef_solo 配置,可以看到它显示配置的每个步骤的实时输出。我认为我遇到的问题只是 Vagrant 的 Ansible 供应商的限制(可能是因为它更新且不太成熟)
    • 不再支持详细程度 1.5.0-dev
    【解决方案2】:

    我发现了这个:

    export PYTHONUNBUFFERED=1
    

    这里: https://groups.google.com/forum/#!topic/ansible-project/aXutTmXAbR0

    并在此处添加: https://github.com/mitchellh/vagrant/issues/2194

    【讨论】:

      【解决方案3】:

      我使用 Vagrant 1.7.4 并且 ansible.verbosity 不再可用(从 1.5 开始)。 这是正确的做法:

      Vagrant.configure("2") do |config|
        config.vm.provision "ansible" do |ansible|
          ansible.playbook = "provisioning/playbook.yml"
          ansible.verbose = "vvv"
        end
      end
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-08
        • 1970-01-01
        • 2014-07-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多