zun deploy fails when haproxy_single_external_frontend is enabled

Bug #2070112 reported by Andrew Babbitt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
kolla-ansible
New
Undecided
Unassigned

Bug Description

When Zun is enabled along with haproxy_single_external_frontend the deployment fails with the following log:

TASK [include_role : zun] ***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************

TASK [haproxy-config : Copying over zun haproxy config] *****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
ok: [control02] => (item={'key': 'zun-api', 'value': {'container_name': 'zun_api', 'group': 'zun-api', 'enabled': True, 'image': 'quay.io/openstack.kolla/zun-api:2024.1-ubuntu-jammy', 'volumes': ['/etc/kolla/zun-api/:/var/lib/kolla/config_files/:ro', '/etc/localtime:/etc/localtime:ro', '/etc/timezone:/etc/timezone:ro', '', 'kolla_logs:/var/log/kolla/'], 'dimensions': {}, 'healthcheck': {'interval': '30', 'retries': '3', 'start_period': '5', 'test': ['CMD-SHELL', 'healthcheck_curl http://172.19.2.2:9517'], 'timeout': '30'}, 'haproxy': {'zun_api': {'enabled': True, 'mode': 'http', 'external': False, 'port': '9517', 'listen_port': '9517'}, 'zun_api_external': {'enabled': True, 'mode': 'http', 'external': True, 'external_fqdn': 'zun.mycloud.internal', 'port': '443', 'listen_port': '9517'}}}})
ok: [control01] => (item={'key': 'zun-api', 'value': {'container_name': 'zun_api', 'group': 'zun-api', 'enabled': True, 'image': 'quay.io/openstack.kolla/zun-api:2024.1-ubuntu-jammy', 'volumes': ['/etc/kolla/zun-api/:/var/lib/kolla/config_files/:ro', '/etc/localtime:/etc/localtime:ro', '/etc/timezone:/etc/timezone:ro', '', 'kolla_logs:/var/log/kolla/'], 'dimensions': {}, 'healthcheck': {'interval': '30', 'retries': '3', 'start_period': '5', 'test': ['CMD-SHELL', 'healthcheck_curl http://172.19.2.1:9517'], 'timeout': '30'}, 'haproxy': {'zun_api': {'enabled': True, 'mode': 'http', 'external': False, 'port': '9517', 'listen_port': '9517'}, 'zun_api_external': {'enabled': True, 'mode': 'http', 'external': True, 'external_fqdn': 'zun.mycloud.internal', 'port': '443', 'listen_port': '9517'}}}})
ok: [control03] => (item={'key': 'zun-api', 'value': {'container_name': 'zun_api', 'group': 'zun-api', 'enabled': True, 'image': 'quay.io/openstack.kolla/zun-api:2024.1-ubuntu-jammy', 'volumes': ['/etc/kolla/zun-api/:/var/lib/kolla/config_files/:ro', '/etc/localtime:/etc/localtime:ro', '/etc/timezone:/etc/timezone:ro', '', 'kolla_logs:/var/log/kolla/'], 'dimensions': {}, 'healthcheck': {'interval': '30', 'retries': '3', 'start_period': '5', 'test': ['CMD-SHELL', 'healthcheck_curl http://172.19.2.3:9517'], 'timeout': '30'}, 'haproxy': {'zun_api': {'enabled': True, 'mode': 'http', 'external': False, 'port': '9517', 'listen_port': '9517'}, 'zun_api_external': {'enabled': True, 'mode': 'http', 'external': True, 'external_fqdn': 'zun.mycloud.internal', 'port': '443', 'listen_port': '9517'}}}})
ok: [control02] => (item={'key': 'zun-wsproxy', 'value': {'container_name': 'zun_wsproxy', 'group': 'zun-wsproxy', 'enabled': True, 'image': 'quay.io/openstack.kolla/zun-wsproxy:2024.1-ubuntu-jammy', 'volumes': ['/etc/kolla/zun-wsproxy/:/var/lib/kolla/config_files/:ro', '/etc/localtime:/etc/localtime:ro', '/etc/timezone:/etc/timezone:ro', '', 'kolla_logs:/var/log/kolla/'], 'dimensions': {}, 'healthcheck': {'interval': '30', 'retries': '3', 'start_period': '5', 'test': ['CMD-SHELL', 'healthcheck_listen zun-wsproxy 6784'], 'timeout': '30'}, 'haproxy': {'zun_wsproxy': {'enabled': True, 'mode': 'http', 'external': False, 'port': '6784'}, 'zun_wsproxy_external': {'enabled': True, 'mode': 'http', 'external': True, 'port': '6784'}}}})
skipping: [control02] => (item={'key': 'zun-compute', 'value': {'container_name': 'zun_compute', 'group': 'zun-compute', 'enabled': True, 'image': 'quay.io/openstack.kolla/zun-compute:2024.1-ubuntu-jammy', 'privileged': True, 'volumes': ['/etc/kolla/zun-compute/:/var/lib/kolla/config_files/:ro', '/etc/localtime:/etc/localtime:ro', '/etc/timezone:/etc/timezone:ro', 'kolla_logs:/var/log/kolla/', '', '/run:/run:shared', '/usr/lib/docker:/usr/lib/docker', '/var/lib/docker:/var/lib/docker', '/lib/modules:/lib/modules:ro', '/dev:/dev', '', ''], 'dimensions': {}, 'healthcheck': {'interval': '30', 'retries': '3', 'start_period': '5', 'test': ['CMD-SHELL', 'healthcheck_port zun-compute 5672'], 'timeout': '30'}}})
skipping: [control02] => (item={'key': 'zun-cni-daemon', 'value': {'container_name': 'zun_cni_daemon', 'group': 'zun-cni-daemon', 'enabled': True, 'image': 'quay.io/openstack.kolla/zun-cni-daemon:2024.1-ubuntu-jammy', 'privileged': True, 'volumes': ['/etc/kolla/zun-cni-daemon/:/var/lib/kolla/config_files/:ro', '/etc/localtime:/etc/localtime:ro', '/etc/timezone:/etc/timezone:ro', 'kolla_logs:/var/log/kolla/', '', '/run:/run:shared'], 'dimensions': {}, 'healthcheck': {'interval': '30', 'retries': '3', 'start_period': '5', 'test': ['CMD-SHELL', 'healthcheck_listen zun-cni-daemon 9036'], 'timeout': '30'}}})
ok: [control01] => (item={'key': 'zun-wsproxy', 'value': {'container_name': 'zun_wsproxy', 'group': 'zun-wsproxy', 'enabled': True, 'image': 'quay.io/openstack.kolla/zun-wsproxy:2024.1-ubuntu-jammy', 'volumes': ['/etc/kolla/zun-wsproxy/:/var/lib/kolla/config_files/:ro', '/etc/localtime:/etc/localtime:ro', '/etc/timezone:/etc/timezone:ro', '', 'kolla_logs:/var/log/kolla/'], 'dimensions': {}, 'healthcheck': {'interval': '30', 'retries': '3', 'start_period': '5', 'test': ['CMD-SHELL', 'healthcheck_listen zun-wsproxy 6784'], 'timeout': '30'}, 'haproxy': {'zun_wsproxy': {'enabled': True, 'mode': 'http', 'external': False, 'port': '6784'}, 'zun_wsproxy_external': {'enabled': True, 'mode': 'http', 'external': True, 'port': '6784'}}}})
skipping: [control01] => (item={'key': 'zun-compute', 'value': {'container_name': 'zun_compute', 'group': 'zun-compute', 'enabled': True, 'image': 'quay.io/openstack.kolla/zun-compute:2024.1-ubuntu-jammy', 'privileged': True, 'volumes': ['/etc/kolla/zun-compute/:/var/lib/kolla/config_files/:ro', '/etc/localtime:/etc/localtime:ro', '/etc/timezone:/etc/timezone:ro', 'kolla_logs:/var/log/kolla/', '', '/run:/run:shared', '/usr/lib/docker:/usr/lib/docker', '/var/lib/docker:/var/lib/docker', '/lib/modules:/lib/modules:ro', '/dev:/dev', '', ''], 'dimensions': {}, 'healthcheck': {'interval': '30', 'retries': '3', 'start_period': '5', 'test': ['CMD-SHELL', 'healthcheck_port zun-compute 5672'], 'timeout': '30'}}})
ok: [control03] => (item={'key': 'zun-wsproxy', 'value': {'container_name': 'zun_wsproxy', 'group': 'zun-wsproxy', 'enabled': True, 'image': 'quay.io/openstack.kolla/zun-wsproxy:2024.1-ubuntu-jammy', 'volumes': ['/etc/kolla/zun-wsproxy/:/var/lib/kolla/config_files/:ro', '/etc/localtime:/etc/localtime:ro', '/etc/timezone:/etc/timezone:ro', '', 'kolla_logs:/var/log/kolla/'], 'dimensions': {}, 'healthcheck': {'interval': '30', 'retries': '3', 'start_period': '5', 'test': ['CMD-SHELL', 'healthcheck_listen zun-wsproxy 6784'], 'timeout': '30'}, 'haproxy': {'zun_wsproxy': {'enabled': True, 'mode': 'http', 'external': False, 'port': '6784'}, 'zun_wsproxy_external': {'enabled': True, 'mode': 'http', 'external': True, 'port': '6784'}}}})
skipping: [control01] => (item={'key': 'zun-cni-daemon', 'value': {'container_name': 'zun_cni_daemon', 'group': 'zun-cni-daemon', 'enabled': True, 'image': 'quay.io/openstack.kolla/zun-cni-daemon:2024.1-ubuntu-jammy', 'privileged': True, 'volumes': ['/etc/kolla/zun-cni-daemon/:/var/lib/kolla/config_files/:ro', '/etc/localtime:/etc/localtime:ro', '/etc/timezone:/etc/timezone:ro', 'kolla_logs:/var/log/kolla/', '', '/run:/run:shared'], 'dimensions': {}, 'healthcheck': {'interval': '30', 'retries': '3', 'start_period': '5', 'test': ['CMD-SHELL', 'healthcheck_listen zun-cni-daemon 9036'], 'timeout': '30'}}})
skipping: [control03] => (item={'key': 'zun-compute', 'value': {'container_name': 'zun_compute', 'group': 'zun-compute', 'enabled': True, 'image': 'quay.io/openstack.kolla/zun-compute:2024.1-ubuntu-jammy', 'privileged': True, 'volumes': ['/etc/kolla/zun-compute/:/var/lib/kolla/config_files/:ro', '/etc/localtime:/etc/localtime:ro', '/etc/timezone:/etc/timezone:ro', 'kolla_logs:/var/log/kolla/', '', '/run:/run:shared', '/usr/lib/docker:/usr/lib/docker', '/var/lib/docker:/var/lib/docker', '/lib/modules:/lib/modules:ro', '/dev:/dev', '', ''], 'dimensions': {}, 'healthcheck': {'interval': '30', 'retries': '3', 'start_period': '5', 'test': ['CMD-SHELL', 'healthcheck_port zun-compute 5672'], 'timeout': '30'}}})
skipping: [control03] => (item={'key': 'zun-cni-daemon', 'value': {'container_name': 'zun_cni_daemon', 'group': 'zun-cni-daemon', 'enabled': True, 'image': 'quay.io/openstack.kolla/zun-cni-daemon:2024.1-ubuntu-jammy', 'privileged': True, 'volumes': ['/etc/kolla/zun-cni-daemon/:/var/lib/kolla/config_files/:ro', '/etc/localtime:/etc/localtime:ro', '/etc/timezone:/etc/timezone:ro', 'kolla_logs:/var/log/kolla/', '', '/run:/run:shared'], 'dimensions': {}, 'healthcheck': {'interval': '30', 'retries': '3', 'start_period': '5', 'test': ['CMD-SHELL', 'healthcheck_listen zun-cni-daemon 9036'], 'timeout': '30'}}})

TASK [haproxy-config : Add configuration for zun when using single external frontend] ***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
ok: [control01] => (item={'key': 'zun-api', 'value': {'container_name': 'zun_api', 'group': 'zun-api', 'enabled': True, 'image': 'quay.io/openstack.kolla/zun-api:2024.1-ubuntu-jammy', 'volumes': ['/etc/kolla/zun-api/:/var/lib/kolla/config_files/:ro', '/etc/localtime:/etc/localtime:ro', '/etc/timezone:/etc/timezone:ro', '', 'kolla_logs:/var/log/kolla/'], 'dimensions': {}, 'healthcheck': {'interval': '30', 'retries': '3', 'start_period': '5', 'test': ['CMD-SHELL', 'healthcheck_curl http://172.19.2.1:9517'], 'timeout': '30'}, 'haproxy': {'zun_api': {'enabled': True, 'mode': 'http', 'external': False, 'port': '9517', 'listen_port': '9517'}, 'zun_api_external': {'enabled': True, 'mode': 'http', 'external': True, 'external_fqdn': 'zun.mycloud.internal', 'port': '443', 'listen_port': '9517'}}}})
fatal: [control01]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'dict object' has no attribute 'external_fqdn'. 'dict object' has no attribute 'external_fqdn'\n\nThe error appears to be in '/home/ubuntu/mycloud/.venv/kolla-ansible/share/kolla-ansible/ansible/roles/haproxy-config/tasks/main.yml': line 25, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: \"Add configuration for {{ project_name }} when using single external frontend\"\n ^ here\nWe could be wrong, but this one looks like it might be an issue with\nmissing quotes. Always quote template expression brackets when they\nstart a value. For instance:\n\n with_items:\n - {{ foo }}\n\nShould be written as:\n\n with_items:\n - \"{{ foo }}\"\n"}
ok: [control03] => (item={'key': 'zun-api', 'value': {'container_name': 'zun_api', 'group': 'zun-api', 'enabled': True, 'image': 'quay.io/openstack.kolla/zun-api:2024.1-ubuntu-jammy', 'volumes': ['/etc/kolla/zun-api/:/var/lib/kolla/config_files/:ro', '/etc/localtime:/etc/localtime:ro', '/etc/timezone:/etc/timezone:ro', '', 'kolla_logs:/var/log/kolla/'], 'dimensions': {}, 'healthcheck': {'interval': '30', 'retries': '3', 'start_period': '5', 'test': ['CMD-SHELL', 'healthcheck_curl http://172.19.2.3:9517'], 'timeout': '30'}, 'haproxy': {'zun_api': {'enabled': True, 'mode': 'http', 'external': False, 'port': '9517', 'listen_port': '9517'}, 'zun_api_external': {'enabled': True, 'mode': 'http', 'external': True, 'external_fqdn': 'zun.mycloud.internal', 'port': '443', 'listen_port': '9517'}}}})
fatal: [control03]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'dict object' has no attribute 'external_fqdn'. 'dict object' has no attribute 'external_fqdn'\n\nThe error appears to be in '/home/ubuntu/mycloud/.venv/kolla-ansible/share/kolla-ansible/ansible/roles/haproxy-config/tasks/main.yml': line 25, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: \"Add configuration for {{ project_name }} when using single external frontend\"\n ^ here\nWe could be wrong, but this one looks like it might be an issue with\nmissing quotes. Always quote template expression brackets when they\nstart a value. For instance:\n\n with_items:\n - {{ foo }}\n\nShould be written as:\n\n with_items:\n - \"{{ foo }}\"\n"}
ok: [control02] => (item={'key': 'zun-api', 'value': {'container_name': 'zun_api', 'group': 'zun-api', 'enabled': True, 'image': 'quay.io/openstack.kolla/zun-api:2024.1-ubuntu-jammy', 'volumes': ['/etc/kolla/zun-api/:/var/lib/kolla/config_files/:ro', '/etc/localtime:/etc/localtime:ro', '/etc/timezone:/etc/timezone:ro', '', 'kolla_logs:/var/log/kolla/'], 'dimensions': {}, 'healthcheck': {'interval': '30', 'retries': '3', 'start_period': '5', 'test': ['CMD-SHELL', 'healthcheck_curl http://172.19.2.2:9517'], 'timeout': '30'}, 'haproxy': {'zun_api': {'enabled': True, 'mode': 'http', 'external': False, 'port': '9517', 'listen_port': '9517'}, 'zun_api_external': {'enabled': True, 'mode': 'http', 'external': True, 'external_fqdn': 'zun.mycloud.internal', 'port': '443', 'listen_port': '9517'}}}})
fatal: [control02]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'dict object' has no attribute 'external_fqdn'. 'dict object' has no attribute 'external_fqdn'\n\nThe error appears to be in '/home/ubuntu/mycloud/.venv/kolla-ansible/share/kolla-ansible/ansible/roles/haproxy-config/tasks/main.yml': line 25, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: \"Add configuration for {{ project_name }} when using single external frontend\"\n ^ here\nWe could be wrong, but this one looks like it might be an issue with\nmissing quotes. Always quote template expression brackets when they\nstart a value. For instance:\n\n with_items:\n - {{ foo }}\n\nShould be written as:\n\n with_items:\n - \"{{ foo }}\"\n"}

description: updated
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.