Received the following with 'kolla-ansible pull'
openstack_release: "rocky"
default on distro and tag so it should be centos/binary. Fails for source as well.
Ubuntu 18.04.4 LTS
kernel: 4.15.0-88-generic
docker: 18.06.1-ce
Why? Isn't this operation just to pull the image from hub.docker.com?
TASK [mariadb : Pulling mariadb image] *********************************************************************************************************************
fatal: [localhost]: FAILED! => {"msg": "An unhandled exception occurred while templating '{u'mariadb': {u'haproxy': {u'mariadb': {u'frontend_tcp_extra': [u'option clitcpka', u'timeout client 3600s'], u'listen_port': u'{{ mariadb_port }}', u'backend_tcp_extra': [u'option srvtcpka', u'timeout server 3600s', u'option mysql-check user haproxy post-41'], u'custom_member_list': u\"{{ internal_haproxy_members.split(';') }}\", u'enabled': u'{{ enable_mariadb|bool and not enable_external_mariadb_load_balancer|bool }}', u'mode': u'tcp', u'port': u'{{ database_port }}'}, u'mariadb_external_lb': {u'frontend_tcp_extra': [u'option clitcpka', u'timeout client 3600s'], u'listen_port': u'{{ mariadb_port }}', u'backend_tcp_extra': [u'option srvtcpka', u'timeout server 3600s'], u'custom_member_list': u\"{{ external_haproxy_members.split(';') }}\", u'enabled': u'{{ enable_external_mariadb_load_balancer|bool }}', u'mode': u'tcp', u'port': u'{{ database_port }}'}}, u'group': u'mariadb', u'dimensions': u'{{ mariadb_dimensions }}', u'image': u'{{ mariadb_image_full }}', u'enabled': True, u'volumes': u'{{ mariadb_default_volumes + mariadb_extra_volumes }}', u'container_name': u'mariadb'}}'. Error was a <class 'ansible.errors.AnsibleError'>, original message: An unhandled exception occurred while templating '{% for host in groups['mariadb'] %}server {{ hostvars[host]['ansible_hostname'] }} {{ 'api' | kolla_address(host) }}:{{ mariadb_port }} check inter 2000 rise 2 fall 5{% if not loop.first %} backup{% endif %};{% endfor %}'. Error was a <class 'ansible.errors.AnsibleError'>, original message: template error while templating string: no filter named 'kolla_address'. String: {% for host in groups['mariadb'] %}server {{ hostvars[host]['ansible_hostname'] }} {{ 'api' | kolla_address(host) }}:{{ mariadb_port }} check inter 2000 rise 2 fall 5{% if not loop.first %} backup{% endif %};{% endfor %}"}
I am pretty sure it has already been reported in this or other variant. The issue is that we use dict to define services and hence all vars in it need to be "evaluatable", even though they are not used per se. Please mark as duplicated whoever finds the duplicate. :-) Triaging for the time being.
That said, your log suggests you are using Kolla-Ansible for Train (some 9.x.y) to deploy Rocky images. It will not work in general. Also, since Train, Kolla-Ansible requires installation in the same venv as Ansible. Hence why it reports 'kolla_address' not defined.
As a final remark, mixing Ubuntu host and CentOS images is not supported either. It may work, may not. This is mostly due to the stricter OS-dependent components like libvirt or ovs.