fatal: [control1]: FAILED! => { "msg": "template error while templating string: no filter named 'kolla_address'. String: {% for host in groups['baremetal'] %}\n{% set api_interface = hostvars[host]['api_interface'] %}\n{% if host not in groups['bifrost'] or api_interface in hostvars[host].ansible_facts %}\n{% set hostnames = [hostvars[host].ansible_facts.nodename, hostvars[host].ansible_facts.hostname] %}\n{{ 'api' | kolla_address(host) }} {{ hostnames | unique | join(' ') }}\n{% endif %}\n{% endfor %}\n" }
时间: 2024-02-18 08:01:59 浏览: 284
这个错误出现的原因可能是在Kolla的模板文件中使用了未定义的“kolla_address”过滤器。Kolla使用Jinja2模板引擎来生成配置文件,而Jinja2模板引擎支持自定义过滤器,但是默认情况下并没有定义名为“kolla_address”的过滤器。
解决这个问题的方法是在Kolla的配置文件(比如/etc/kolla/globals.yml)中定义一个名为“kolla_address”的变量,而不是使用过滤器。例如:
```
kolla_address: "192.168.1.10"
```
然后在Kolla的模板文件中使用该变量,如下所示:
```
bind_address = {{ kolla_address }}
```
如果这个错误还是无法解决,那么可能是因为使用了较早版本的Kolla,可以尝试升级到最新版本,或者查看Kolla文档中是否包含有关kolla_address过滤器的信息。
阅读全文