Согласно http://docs.ansible.com/apt_module.html, модуль уместность позволяет установку из .deb файла:анзибль не распознает параметр Деб для способности
# Install a .deb package
- apt: deb=/tmp/mypackage.deb
Но работает анзибль 1.9.2 или 1.8.4 на Ubuntu 14.04, этой конфигурации:
- name: install riak
apt: deb=/data/riak/riak.deb update_cache=no
производит этот выход:
TASK: [riak | install riak] ***************************************************
failed: [riak-server-1] => {"failed": true}
msg: unsupported parameter for module: deb
То же анзибль сценарий горе rks отлично работает на Mac с Ansible 1.8.4 и 1.9.
Гость во всех случаях - это созданный Vagrant ubuntu/trusty64. Все создание и настройка VM выполняется с помощью Vagrant и Ansible, и мы все работаем с теми же файлами Vagrant/Ansible.
Edit:
>ansible-playbook --version
ansible-playbook 1.9.2
configured module search path = /usr/share/ansible
>ansible --version
ansible 1.9.2
configured module search path = /usr/share/ansible
>locate apt.py | xargs md5sum
0058a84d0685ad1b67895fdf2da95bc5 /usr/local/lib/python2.7/dist-packages/ansible-1.9.2-py2.7.egg/ansible/modules/core/packaging/os/apt.py
134ac4074dd7929826f5cf888b2ec3ad /usr/local/lib/python2.7/dist-packages/ansible-1.9.2-py2.7.egg/ansible/modules/core/packaging/os/apt.pyc
Он построен из источника:
>git status
On branch stable-1.9
Your branch is up-to-date with 'origin/stable-1.9'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
(commit or discard the untracked or modified content in submodules)
modified: lib/ansible/module_utils/basic.py
modified: lib/ansible/modules/core (modified content)
modified: v2/ansible/modules/core (modified content)
>git diff lib/ansible/module_utils/basic.py
diff --git a/lib/ansible/module_utils/basic.py b/lib/ansible/module_utils/basic.py
index 91501b1..3430abe 100644
--- a/lib/ansible/module_utils/basic.py
+++ b/lib/ansible/module_utils/basic.py
@@ -911,7 +911,7 @@ class AnsibleModule(object):
#if k in ('CHECKMODE', 'NO_LOG'):
# continue
if k not in self._legal_inputs:
- self.fail_json(msg="unsupported parameter for module: %s" % k)
+ self.fail_json(msg="unsupported parameter for module: %s. supported parameters are %s" % (k, self._legal_inputs))
def _count_terms(self, check):
count = 0
TASK: [riak | install riak] ***************************************************
failed: [riak-server-3] => {"failed": true}
msg: unsupported parameter for module: deb. supported parameters are ['CHECKMODE', 'NO_LOG', 'dpkg_options', 'upgrade', 'force', 'package', 'pkg', 'name', 'purge', 'state', 'update_cache', 'update-cache', 'default_release', 'default-release', 'install_recommends', 'install-recommends', 'cache_valid_time']
Это действительно смотрит на меня, как это собирание старую версию apt.py откуда-то. Я побежал sudo find/-name apt.py
, и есть несколько копий в моем доме, но только один под/usr.
Edit:
Я удалил все экземпляры apt.py, лежащие вокруг, так что:
>sudo find/-name apt.py* | xargs md5sum
134ac4074dd7929826f5cf888b2ec3ad /usr/local/lib/python2.7/dist-packages/ansible-1.9.2-py2.7.egg/ansible/modules/core/packaging/os/apt.pyc
0058a84d0685ad1b67895fdf2da95bc5 /usr/local/lib/python2.7/dist-packages/ansible-1.9.2-py2.7.egg/ansible/modules/core/packaging/os/apt.py
Это очень странно. Вы втрое проверили версию Ansible? Если нарушающая команда является 'ansible-playbook', попробовали ли вы' ansible-playbook -version' непосредственно перед тем, как попытаться выполнить команду оскорбления? Если вы работаете в virtualenv, попробуйте удалить и переустановить virtualenv. –
Действительно, странно. Я проверял три раза и больше, но продолжаю копать, потому что похоже, что где-то должна быть какая-то старая версия. –
@AntonisChristofides - отредактированный вопрос, чтобы добавить дополнительную информацию. –