kolla-ansible pull fails (mariadb tries to evaluate service dict)

Bug #1877902 reported by alpha23
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
kolla-ansible
Triaged
Medium
Unassigned

Bug Description

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 %}"}

alpha23 (alpha23)
description: updated
Changed in kolla-ansible:
status: New → Triaged
summary: - kolla-ansible pull fails - Rocky
+ kolla-ansible pull fails (mariadb tries to evaluate service dict)
Changed in kolla-ansible:
importance: Undecided → Medium
Revision history for this message
Radosław Piliszek (yoctozepto) wrote :

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.

Revision history for this message
Radosław Piliszek (yoctozepto) wrote :

Forgot to mention Kolla-Ansible for Rocky is versioned 7.x.y

That said, if this is new deployment, then we advise to use Train. Rocky is in extended maintenance (so not actively maintained).

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.