如何查看Ansible运行的Unix命令?
我有一个负责任的任务:如何查看Ansible运行的Unix命令?,unix,ansible,Unix,Ansible,我有一个负责任的任务: - name: Ensure Gluster volume is mounted. mount: name: "{{ mount_dir }}" src: "{{ inventory_hostname }}:{{ brick_name }}" fstype: glusterfs opts: "defaults,_netdev" state: mounted 输出失败: fatal: [remotehost.com]: FAIL
- name: Ensure Gluster volume is mounted.
mount:
name: "{{ mount_dir }}"
src: "{{ inventory_hostname }}:{{ brick_name }}"
fstype: glusterfs
opts: "defaults,_netdev"
state: mounted
输出失败:
fatal: [remotehost.com]: FAILED! => {"changed": false, "failed": true, "invocation": {"module_args": {"dump": null, "fstab": "/etc/fstab", "fstype": "glusterfs", "name": "ssl", "opts": "defaults,_netdev", "passno": null, "src": "remotehost.com:/craik/clm/ssl", "state": "mounted"}, "module_name": "mount"}, "msg": "Error mounting ssl: Mount failed. Please check the log file for more details.\n"}
是否可以看到Ansible将装载任务转换为的实际Unix命令
例如:
mount -t glusterfs remotehost.com:/craik/clm/ssl /srv/gluster/ssl
您是否尝试过使用-vv标志运行ansible? 这将启用详细性,并且通常会显示正在运行的命令
它通常隐藏在输出的某个地方,但它就在那里 否,如果不修改源代码,您将无法看到该命令
mount
模块建议:
- 将%(src)s%(name)s%(fstype)s%(opts)s%(dump)s%(passno)s\n'写入fstab
- 执行
mount
Ansible playbook
之前,您可以通过向控制计算机上的环境添加Ansible\u KEEP\u REMOTE\u FILES=1
使Ansible保留在目标计算机上运行的实际脚本
例如,如果您运行:
ANSIBLE_KEEP_REMOTE_FILES=1 ansible-playbook playbook.yml -vvv
您将在成绩单中看到如下内容:
PUT /var/folders/nw/2vnhg_gj77v_cyfv0p1vdfj80000gn/T/tmpidULyi TO /home/vagrant/.ansible/tmp/ansible-tmp-1484137690.32-255077767492235/mount.py
然后,如果您打开
mount.py
可以验证实际代码(您也可以重新运行它)。我确实有,但它实际上没有显示它试图执行的命令……您可以发布输出吗?