| |
| |
| |
| |
| @@ -6,9 +6,11 @@ |
| |
| from six import StringIO |
| |
| +from cloudinit.distros.parsers import chop_comment |
| +from cloudinit import log as logging |
| from cloudinit import util |
| |
| -from cloudinit.distros.parsers import chop_comment |
| +LOG = logging.getLogger(__name__) |
| |
| |
| # See: man resolv.conf |
| @@ -79,9 +81,10 @@ class ResolvConf(object): |
| if len(new_ns) == len(current_ns): |
| return current_ns |
| if len(current_ns) >= 3: |
| - # Hard restriction on only 3 name servers |
| - raise ValueError(("Adding %r would go beyond the " |
| - "'3' maximum name servers") % (ns)) |
| + LOG.warn("ignoring nameserver %r: adding would " |
| + "exceed the maximum of " |
| + "'3' name servers (see resolv.conf(5))" % (ns)) |
| + return current_ns[:3] |
| self._remove_option('nameserver') |
| for n in new_ns: |
| self._contents.append(('option', ['nameserver', n, ''])) |
| |
| |
| |
| |
| @@ -46,7 +46,7 @@ class TestResolvHelper(TestCase): |
| self.assertNotIn('10.3', rp.nameservers) |
| self.assertEqual(len(rp.nameservers), 3) |
| rp.add_nameserver('10.2') |
| - self.assertRaises(ValueError, rp.add_nameserver, '10.3') |
| + rp.add_nameserver('10.3') |
| self.assertNotIn('10.3', rp.nameservers) |
| |
| def test_search_domains(self): |