Merge "Fix subnet host_routes error"

This commit is contained in:
Zuul 2018-06-24 05:03:04 +00:00 committed by Gerrit Code Review
commit 4ffb3a905a
2 changed files with 31 additions and 1 deletions

View File

@ -589,7 +589,7 @@ class SetSubnet(command.Command):
if not parsed_args.no_host_route:
attrs['host_routes'] += obj.host_routes
elif parsed_args.no_host_route:
attrs['host_routes'] = ''
attrs['host_routes'] = []
if 'allocation_pools' in attrs:
if not parsed_args.no_allocation_pool:
attrs['allocation_pools'] += obj.allocation_pools

View File

@ -1046,6 +1046,36 @@ class TestSetSubnet(TestSubnet):
_testsubnet, **attrs)
self.assertIsNone(result)
def test_clear_options(self):
_testsubnet = network_fakes.FakeSubnet.create_one_subnet(
{'host_routes': [{'destination': '10.20.20.0/24',
'nexthop': '10.20.20.1'}],
'allocation_pools': [{'start': '8.8.8.200',
'end': '8.8.8.250'}],
'dns_nameservers': ['10.0.0.1'], })
self.network.find_subnet = mock.Mock(return_value=_testsubnet)
arglist = [
'--no-host-route',
'--no-allocation-pool',
'--no-dns-nameservers',
_testsubnet.name,
]
verifylist = [
('no_dns_nameservers', True),
('no_host_route', True),
('no_allocation_pool', True),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
result = self.cmd.take_action(parsed_args)
attrs = {
'host_routes': [],
'allocation_pools': [],
'dns_nameservers': [],
}
self.network.update_subnet.assert_called_once_with(
_testsubnet, **attrs)
self.assertIsNone(result)
def _test_set_tags(self, with_tags=True):
if with_tags:
arglist = ['--tag', 'red', '--tag', 'blue']