我正在使用带有ansible游戏手册的流浪汉在一个ubuntu映像上自动安装一组程序。有一个程序未能安装在流浪VM上。在我的Vagrant文件中
config.vm.provision :ansible do |ansible|
ansible.verbose = "vvv"
ansible.playbook = "provisioning/playbook.yml"
end但是详细的输出不包括apt-get输出。我的playbook.yml看起来就像
---
- hosts: all
sudo: true
tasks:
- name: get vi
apt: state=latest name=vim 我如何才能在VM上看到单个(或全部)apt-get install的控制台输出,因为ansible会以格式输出每个安装。
TASK: [Install vim] ***********************************************************
failed: [default] => {"failed": true}
...发布于 2015-12-02 09:06:19
您可以将apt模块执行的输出注册到变量中,然后打印出来。
- hosts: localhost
sudo: true
tasks:
- name: get vi
apt: state=latest name=vim
register: aptout
# show the content of aptout var
- debug: var=aptout发布于 2017-06-14 01:44:26
复制stdout of apt
下面是如何复制stdout of apt…
---
- name: 'apt: update & upgrade'
apt:
update_cache: yes
cache_valid_time: 3600
upgrade: safe
register: apt
- debug: msg={{ apt.stdout.split('\n')[:-1] }}…感谢.split('\n'),并使用[:-1]省略最后一个空字符串,所有这些当然都是Python操作。
"msg": [
"Reading package lists...",
"Building dependency tree...",
"Reading state information...",
"Reading extended state information...",
"Initializing package states...",
"Building tag database...",
"No packages will be installed, upgraded, or removed.",
"0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.",
"Need to get 0 B of archives. After unpacking 0 B will be used.",
"Reading package lists...",
"Building dependency tree...",
"Reading state information...",
"Reading extended state information...",
"Initializing package states...",
"Building tag database..."
]发布于 2017-09-23 11:08:49
在我目前使用的ansible版本中,ansible-playbook -v似乎足以获得apt输出。诚然,我没有测试过失败。输出以JSON的形式出现,这使其读起来有点困难(因为另一个答案是工作的)。
我测试的Ansible版本是2.3.2.0。
https://stackoverflow.com/questions/34026875
复制相似问题