Ansible can';在集合中找不到筛选器
我有一个集合,它定义了一个角色和一个过滤器,关键文件是:Ansible can';在集合中找不到筛选器,ansible,Ansible,我有一个集合,它定义了一个角色和一个过滤器,关键文件是: ~/.ansible/collections/ansible_collections/myns/mycoll/ plugins/filters/foo.py roles/test/tasks/main.yml 过滤器的定义如
~/.ansible/collections/ansible_collections/myns/mycoll/
plugins/filters/foo.py
roles/test/tasks/main.yml
过滤器的定义如下:
def myfilter(val):
返回值+10
类FilterModule(对象):
def过滤器(自):
返回{
“myfilter”:myfilter,
}
角色尝试使用筛选器:
- debug:
msg: "{{ 16 | myns.mycoll.myfilter }}"
但这在以下方面失败:
template error while templating string: no filter named 'myns.mycoll.myfilter'.
有什么建议吗?出了什么问题
ETA:galaxy cli显示角色已安装正常:
# /home/centos/.ansible/collections/ansible_collections
Collection Version
------------------------------ -------
myns.mycoll 1.0.0
ansible galaxy收藏列表的输出是什么?你确定你的设置正确吗?如上所述-我没有设置集合路径,但上面给出的路径是默认路径,并且集合中的角色运行正常表明路径正常。筛选器插件需要保存到筛选器目录。所以过滤器目录是错误的。请尝试将目录名从筛选器更改为筛选器。