Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何查看Ansible运行的Unix命令?_Unix_Ansible - Fatal编程技术网

如何查看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使用Python脚本执行其操作(它可能会从Python调用外部程序,但如果没有必要,则不会)

在执行
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
可以验证实际代码(您也可以重新运行它)。

我确实有,但它实际上没有显示它试图执行的命令……您可以发布输出吗?