Foreman-installer failed with multiple DNS forwarders declared

In Foreman 3.10 and 3.11-rc1 I was able to configure the dns forwaders by setting the variable :
DNS_FORWARDERS=“192.168.10.90; 8.8.8.8”
and when running foreman-installer use the argument :
–foreman-proxy-dns-forwarders “${DNS_FORWARDERS}”

In Foreman 3.12 (and possibly the latest Foreman 3.11 too), having the multiple addresses in the foreman-proxy-dns-forwarders argument now breaks the installer. I’ve tried replacing the semi colon with a comma and also with a space and that does not work either. The workaround for now was to just have one address in the argument and after install edit the yaml file to add the other forwarder and run the install again with no arguments.

Expected outcome:
The foreman-installer should parse multiple forwarder addresses as previously

Foreman and Proxy versions:
3.12

Other relevant data:
The error message during install

2024-10-11 22:25:34 [INFO ] [root] Running validation checks.
2024-10-11 22:25:34 [ERROR ] [root] Parameter foreman-proxy-dns-forwarders invalid: Elements of the array are invalid: 192.168.10.90; 8.8.8.8 is not one of regexes matching /\A([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){3}(\s+port\s+[0-9]{1,5})?\z/ or regexes matching /\A[[:xdigit:]]{1,4}(:[[:xdigit:]]{1,4}){7}\z/ or regexes matching /\A:(:|(:[[:xdigit:]]{1,4}){1,7})\z/ or /\A([[:xdigit:]]{1,4}:){1}(:|(:[[:xdigit:]]{1,4}){1,6})\z/ or /\A([[:xdigit:]]{1,4}:){2}(:|(:[[:xdigit:]]{1,4}){1,5})\z/ or /\A([[:xdigit:]]{1,4}:){3}(:|(:[[:xdigit:]]{1,4}){1,4})\z/ or /\A([[:xdigit:]]{1,4}:){4}(:|(:[[:xdigit:]]{1,4}){1,3})\z/ or /\A([[:xdigit:]]{1,4}:){5}(:|(:[[:xdigit:]]{1,4}){1,2})\z/ or /\A([[:xdigit:]]{1,4}:){6}(:|(:[[:xdigit:]]{1,4}){1,1})\z/ or /\A([[:xdigit:]]{1,4}:){7}:\z/ or regexes matching /\A([[:xdigit:]]{1,4}:){6}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){3}\z/ or /\A([[:xdigit:]]{1,4}:){5}:([0-9]|[1-9][0-9]|1[

looking at the foreman-answers.yaml of the 3.10 instalation it has

dns_forwarders:
  - 192.168.10.90; 8.8.8.8

Is this even correct ?

I would have expected it to be :

dns_forwarders:
  - 192.168.10.90
  -  8.8.8.8

It depends. It’s the correct syntax for bind to accept is as two, so it worked. But it’s not correct syntax for the installer to see “there are two forwarders”

The correct way to pass multiple would be --foreman-proxy-dns-forwarders 192.168.10.90 --foreman-proxy-dns-forwarders 8.8.8.8.

See Fixes #37604 - Validate DNS forwarders · theforeman/puppet-dns@3f53f46 · GitHub and Refs #37604 - Normalize DNS forwarders to an array · theforeman/foreman-installer@e4fc682 · GitHub and Refs #37604 - Use the correct answer in DNS normalize migration · theforeman/foreman-installer@b97f0be · GitHub for the technical details inside the installer.

Cheers thanks