The Cloud-Init manual says that the address field in the Nameserver configuration item type should be a list of addresses:
https://github.com/canonical/cloud-init/blob/7d57fcff6d32fd706dd745315c0f8f72d94385eb/doc/rtd/reference/network-config-format-v1.rst#nameserver
However, inside sources for ConfigDrive DNS entries are converted into simple strings: https://github.com/canonical/cloud-init/blob/7d57fcff6d32fd706dd745315c0f8f72d94385eb/cloudinit/sources/helpers/openstack.py#L753-L756
An example.
Source in the ConfigDrive:
"services" : [ { "address" : "192.0.2.1", "type" : "dns" }, { "address" : "192.0.2.2", "type" : "dns" } ]
Rendered Network-Config v1:
{'address': '10.191.255.6', 'type': 'nameserver'}, {'address': '10.255.255.6', 'type': 'nameserver'}],
Because of this, our configuration handler tries to configure each character as a DNS server.
Since this is not the first time when specification and implementation in Cloud-Init are different, I think that we should just add a workaround to this case.