yaml.parser.ParserError error when configuring postgres listen address with IPv6
Summary
- A customer reports, configuring
postgresql['listen_address']
using GET as[::]
leads to the following error:
2025-09-23_05:27:26.42434 yaml.parser.ParserError: while parsing a flow node
2025-09-23_05:27:26.42435 expected the node content, but found ':'
2025-09-23_05:27:26.42435 in "/var/opt/gitlab/patroni/patroni.yaml", line 14, column 12
Steps to reproduce
- Configure GET using IPv6 addresses
- Set
postgresql['listen_address']
to[::]
- Run the playbook
What is the current bug behavior?
- Get the
yaml.parser.ParserError
error
What is the expected correct behavior?
- Configuring an IPv6 address for
postgresql['listen_address']
should work - The issue stems from this line of code where the IP and port are merged together:
listen: <%= @postgresql_defaults['listen_address'] %>:<%= @postgresql_defaults['port'] %>