Необязательный командный модуль не может выполнять аргументы

Здесь существует Ansible noobie.

Проблема, с которой я сталкиваюсь, - это когда я использовал модуль "command" для выполнения команды, это не сработает. Пробовал это на удаленном хосте и локальном хосте.

ОСНОВНАЯ ИНФОРМАЦИЯ:

Версия: ansible 2.0.0 (devel 2c9d1257ba)

Ядро: (снято HEAD 5983d64d77) Последнее обновление: 2015/05/30 07:22:33 (GMT +800)

Дополнительно: (снято HEAD 1276420a3a) Последнее обновление: 2015/05/30 07:22:41 (GMT +800)

Файл Ansible Host

local   ansible_ssh_host=127.0.0.1  ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass=a

Команда

ansible -i ansible_hosts -m command -a "/usr/bin/ls" local

Фактический результат

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'}}}

Что-то не так в моей конфигурации?

Ответы

Ответ 1

Похоже, этот вопрос был разрешен, запустив git submodule update --init --recursive в режиме проверки Ansible, который использовался.

Если другие сталкиваются с одной и той же проблемой, самым простым решением будет установка Ansible из диспетчера системных пакетов хоста, с которого он выполняется, или pip install Ansible в virtualenv.