Skip to content

domain controller role: cannot specify only ipv4 or ipv6 forwarders #64

@AdamWill

Description

@AdamWill

I have a situation where I want to specify the DNS forwarders for the domain controller role, but only IPv4 forwarders (there is no IPv6 connectivity).

rolekit will refuse point blank to accept a dns_forwarders dict with no ipv6 key.

rolekit will accept a dns_forwarders dict with an ipv6 list containing valid IPv6 servers, but the deployment will fail because none of them can be contacted.

rolekit will accept a dns_forwarders dict with an empty ipv6 list, and sometimes this even works, but quite often it fails with an error message "Unable to guess signature from an empty list", which appears to be a ValueError that can be raised by python-dbus in some circumstances.

Fortunately I found a loophole: rolekit does not actually check that the values in the ipv4 list are IPv4 addresses and the values in the ipv6 list are IPv6 addresses. In fact it doesn't check anything about them other than that they're strings. It just turns the items in both lists into --forwarder args for ipa-server-install (which leads me to wonder why there are two separate lists in the first place). So I can work around this by just sticking IPv4 servers in the ipv6 list. But it certainly seems to be a bug, there is no reason to require both lists to be present and non-empty.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions