Ansible命令模块不能执行参数

Eng*_*eng 14 ansible

这里有一个Ansible noobie.

我遇到的问题是当我使用"命令"模块执行命令时,它将失败.在远程主机和localhost上也尝试过这个.

基础信息:

版本:ansible 2.0.0(开发2c9d1257ba)

核心:(分离的HEAD 5983d64d77)上次更新时间2015/05/30 07:22:33(GMT +800)

其他:(分离头HEAD 1276420a3a)最后更新时间2015/05/30 07:22:41(GMT +800)

Ansible主机文件

local   ansible_ssh_host=127.0.0.1  ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass=a
Run Code Online (Sandbox Code Playgroud)

命令

ansible -i ansible_hosts -m command -a "/usr/bin/ls" local
Run Code Online (Sandbox Code Playgroud)

实际结果

local | FAILED! => {u'msg': u'Traceback (most recent call last):\r\n 
File
"/root/.ansible/tmp/ansible-tmp-1436165888.5-23845581569171/command",
line 2139, in <module>\r\n    main()\r\n  File
"/root/.ansible/tmp/ansible-tmp-1436165888.5-23845581569171/command",
line 158, in main\r\n    module =
CommandModule(argument_spec=dict())\r\n  File
"/root/.ansible/tmp/ansible-tmp-1436165888.5-23845581569171/command",
line 606, in __init__\r\n    self._check_for_check_mode()\r\n  File
"/root/.ansible/tmp/ansible-tmp-1436165888.5-23845581569171/command",
line 1142, in _check_for_check_mode\r\n    for (k,v) in
self.params.iteritems():\r\nAttributeError: \'tuple\' object has no
attribute \'iteritems\'\r\n', u'failed': True, u'changed': False,
u'parsed': False, u'invocation': {u'module_name': u'command',
u'module_args': {u'_raw_params': u'/usr/bin/ls'}}}
Run Code Online (Sandbox Code Playgroud)

我的配置有什么问题吗?

小智 1

听起来这个问题是通过运行git submodule update --init --recursive正在使用的 Ansible 的结帐来解决的。

如果其他人遇到同样的问题,最简单的解决方法是从运行 Ansible 的主机的系统包管理器或virtualenvpip install Ansible中安装 Ansible 。