Выходные данные о бродяжничестве
Есть ли способ заставить Vagrant отображать вывод средства инициализации по мере его запуска, а не только в конце? Я использую плагин Ansible, если это имеет значение.
Кажется, что Vagrant запускает весь раздел config.vm.provision
, собирающий вывод, только отображая его, как только все будет завершено.
Это вызывает проблемы, например, когда висит процесс в процессе или когда вы хотите иметь интерактивные действия, которые связаны с пользователем.
Ответы
Ответ 1
Возможно, вы захотите изменить уровень ведения журнала бродяг для отладки, чтобы увидеть больше выходных данных, если это условие = > VAGRANT_LOG=debug vagrant up --provision
Это работает для Chef Solo (я не пробовал Vagrant с Ansible), выход для части обеспечения похож на работу chef-solo с уровнем отладки (-l debug
).
Обновление добавлено ниже
Для Ansible Proviser добавлено следующее: vagrant 1.3.2:
- Providers/ansible: поддержка большего количества уровней детализации, лучшей документации. [GH-2153].
Подробнее см. запрос на растяжение 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
Ответ 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 и недоступен. Верность больше не доступна (начиная с 1.5).
Это правильный способ:
Vagrant.configure("2") do |config|
config.vm.provision "ansible" do |ansible|
ansible.playbook = "provisioning/playbook.yml"
ansible.verbose = "vvv"
end
end