Ansible:冲突的动作声明:组,标签
问题描述:
我已经在角色的下面的代码:Ansible:冲突的动作声明:组,标签
- name: Create user group
group: name={{ user.group }} state=present
tags:
- user
当我运行ansible-playbook -i localhost --ask-become-pass playbook.yml
我抓住了一个错误:
ERROR! conflicting action statements: group, tags
The error appears to have been in '/home/user/spark/roles/base/tasks/main.yml': line 12, column 3, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
- name: Create user group
^here
...
exception type: <class 'ansible.errors.AnsibleParserError'>
exception: conflicting action statements: group, tags
...
完整的错误日志:https://www.pastiebin.com/59cb4faf9ae35
如果我删除tags
它运行没有错误。
它被认为是例外:行动中意外的参数类型:在我只留下名称和标签后。完整的错误日志:pastiebin.com/59cb5b2996a10letely一直都可以,但现在它没有任何可识别的原因。我试图用剧本以前的工作版本(通过git的结帐),但无论如何,存在错误:(
我是有这方面的暗示感激。
PS我有ansible playbook for Archlinux machine叉。 PPS
ansible 2.4.0.0
config file = /home/user/spark/ansible.cfg
configured module search path = [u'/home/user/spark/library/ansible-aur']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.14 (default, Sep 20 2017, 01:25:59) [GCC 7.2.0]
Ansible AUR:
[submodule "library/ansible-aur"]
path = library/ansible-aur
url = https://github.com/pigmonkey/ansible-aur.git
ansible.cfg
[defaults]
library = ./library/ansible-aur
UPD。如果我删除group
关键字如下:
- name: Create user group
tags:
- user
我赶上了一个错误:在行动中意外的参数类型:以后我只留下名字和标签。全错误日志:pastiebin.com/59cb5b2996a10
答
这是非常有趣的故事。
我有一个vim插件,为项目创建ctags tags
。它创建了一个名为:spark/library/ansible-aur/tags
的文件。
这不是python文件或其他东西。这只是常见的ctags文件。
我发现它是通过使用pdb调试器和代码来解决所有问题的根源。
我发现错误字符串之一,我看到:在ansible代码conflicting action statements
:
> /usr/lib/python2.7/site-packages/ansible/parsing/mod_args.py(293)parse()
-> raise AnsibleParserError("conflicting action statements: %s, %s" % (action, item), obj=self._task_ds)
并注入pdb.set_trace()
那里。
然后我做了一些研究:
(Pdb) item
u'tags'
(Pdb) item in module_loader
True
(Pdb) module_loader.find_plugin(item)
u'/home/user/spark/library/ansible-aur/tags'
最后一行是那种淡淡的。删除tags
文件后,一切都完全正常。
在您的磁盘上搜索tags.py文件。如果它位于Ansible寻找模块的路径中,则可能导致此类行为。 – techraf
我有'/ usr/lib/calibre/calibre/ebooks/lrf/tags.py'。我试图卸载Calibre,但它没有帮助:( – petRUShka
我不认为Ansible看起来如果你注释掉'group'行并留下'tags'会发生什么?它是否抱怨没有定义动作? – techraf