流浪汉提供实时输出

时间:2013-09-22 14:26:35

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

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

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

这会导致问题,例如当流程中的某个步骤挂起或您想要涉及用户的交互式步骤时。

3 个答案:

答案 0 :(得分:16)

您可能希望将vagrant日志记录级别更改为debug以便在它执行provision =>时查看更多输出。 VAGRANT_LOG=debug vagrant up --provision

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

下面添加了更新

对于Ansible供应商,自流浪者1.3.2以来增加了以下内容:

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

有关详细信息,请参阅请求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

答案 1 :(得分:3)

我发现了这个:

export PYTHONUNBUFFERED=1

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

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

答案 2 :(得分:1)

我使用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