有没有办法让 Vagrant 在运行时显示配置工具的输出,而不仅仅是在最后?如果这很重要,我正在使用 Ansible 插件。
Vagrant 似乎在运行config.vm.provision
收集输出的整个部分,只有在一切完成后才显示它。
这会导致一些问题,例如流程中的某个步骤何时挂起或您希望有涉及用户的交互式步骤。
有没有办法让 Vagrant 在运行时显示配置工具的输出,而不仅仅是在最后?如果这很重要,我正在使用 Ansible 插件。
Vagrant 似乎在运行config.vm.provision
收集输出的整个部分,只有在一切完成后才显示它。
这会导致一些问题,例如流程中的某个步骤何时挂起或您希望有涉及用户的交互式步骤。
您可能希望将 vagrant 日志记录级别更改为调试,以便在提供时查看更多输出 =>VAGRANT_LOG=debug vagrant up --provision
这适用于 Chef Solo(我没有尝试过使用 Ansible 的 Vagrant),配置部分的输出类似于使用 debug ( -l debug
) 日志级别运行 chef-solo。
对于 Ansible 供应商,自 vagrant 1.3.2 以来添加了以下内容:
有关详细信息,请参阅 pull request 2153,看起来官方文档尚未更新。
我认为您应该能够添加ansible.verbosity
Vagrantfile 以启用最大详细级别
Vagrant.configure("2") do |config|
config.vm.provision "ansible" do |ansible|
ansible.playbook = "provisioning/playbook.yml"
ansible.verbose = "true"
ansible.verbosity = "-vvv"
end
end
我找到了这个:
export PYTHONUNBUFFERED=1
在这里: https ://groups.google.com/forum/#!topic/ansible-project/aXutTmXAbR0
我使用了 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