Andres and I tracked this down to a possibly-incorrectly-migrated field.
The dns_servers column in the Subnet table is supposed to be a list (postgresql array). However, looking at the output of "subnets list", Andres saw that the dns_servers list was in the form:
dns_servers: ["10.245.200.27,10.245.200.1"]
Whereas, we would expect it to be:
dns_servers: ["10.245.200.27", "10.245.200.1"]
So, two issues we need to solve here:
(1) See if we can fix the migrations to correctly migrate this field (if that was indeed the issue); requires installing 1.7 or 1.8, specifying multiple DNS servers within a cluster interface configuration, and then migrating to 1.9.
(2) Make the code more robust by checking wherever we read this field if there is a comma, and if so, split it by commas, then strip the whitespace off of all split sections. (maybe create a property or helper method in the Subnet model class to do this.)
I think fix (2) may be required even if we do fix (1), because people who have already migrated to a more recent MAAS 1.9 RC could already have a corrupt field.
Andres and I tracked this down to a possibly- incorrectly- migrated field.
The dns_servers column in the Subnet table is supposed to be a list (postgresql array). However, looking at the output of "subnets list", Andres saw that the dns_servers list was in the form:
dns_servers: ["10.245. 200.27, 10.245. 200.1"]
Whereas, we would expect it to be:
dns_servers: ["10.245.200.27", "10.245.200.1"]
So, two issues we need to solve here:
(1) See if we can fix the migrations to correctly migrate this field (if that was indeed the issue); requires installing 1.7 or 1.8, specifying multiple DNS servers within a cluster interface configuration, and then migrating to 1.9.
(2) Make the code more robust by checking wherever we read this field if there is a comma, and if so, split it by commas, then strip the whitespace off of all split sections. (maybe create a property or helper method in the Subnet model class to do this.)
I think fix (2) may be required even if we do fix (1), because people who have already migrated to a more recent MAAS 1.9 RC could already have a corrupt field.