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收藏列表的输出是什么?你确定你的设置正确吗?如上所述-我没有设置集合路径,但上面给出的路径是默认路径,并且集合中的角色运行正常表明路径正常。筛选器插件需要保存到筛选器目录。所以过滤器目录是错误的。请尝试将目录名从筛选器更改为筛选器。