diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-04-13 15:51:44 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-04-13 15:51:44 +0000 |
| commit | 883f8208d33208ab9a15e09675df0fb2d55f82ce (patch) | |
| tree | d109368191c3460075f63e8ff8177282aee32804 /openstackclient | |
| parent | 379fd726b67e192992b7389a83d3ff43285ab08f (diff) | |
| parent | 03d932ea0b3074187bfcdd9c0422a968f5f56c59 (diff) | |
| download | python-openstackclient-883f8208d33208ab9a15e09675df0fb2d55f82ce.tar.gz | |
Merge "Append existing information during subnet set"
Diffstat (limited to 'openstackclient')
| -rw-r--r-- | openstackclient/network/v2/subnet.py | 6 | ||||
| -rw-r--r-- | openstackclient/tests/network/v2/test_subnet.py | 20 |
2 files changed, 26 insertions, 0 deletions
diff --git a/openstackclient/network/v2/subnet.py b/openstackclient/network/v2/subnet.py index eb96bb1f..abe49a69 100644 --- a/openstackclient/network/v2/subnet.py +++ b/openstackclient/network/v2/subnet.py @@ -365,6 +365,12 @@ class SetSubnet(command.Command): if not attrs: msg = "Nothing specified to be set" raise exceptions.CommandError(msg) + if 'dns_nameservers' in attrs: + attrs['dns_nameservers'] += obj.dns_nameservers + if 'host_routes' in attrs: + attrs['host_routes'] += obj.host_routes + if 'allocation_pools' in attrs: + attrs['allocation_pools'] += obj.allocation_pools client.update_subnet(obj, **attrs) return diff --git a/openstackclient/tests/network/v2/test_subnet.py b/openstackclient/tests/network/v2/test_subnet.py index 2535bbe6..ede37416 100644 --- a/openstackclient/tests/network/v2/test_subnet.py +++ b/openstackclient/tests/network/v2/test_subnet.py @@ -536,6 +536,26 @@ class TestSetSubnet(TestSubnet): self.assertRaises(exceptions.CommandError, self.cmd.take_action, parsed_args) + def test_append_options(self): + _testsubnet = network_fakes.FakeSubnet.create_one_subnet( + {'dns_nameservers': ["10.0.0.1"]}) + self.network.find_subnet = mock.Mock(return_value=_testsubnet) + arglist = [ + '--dns-nameserver', '10.0.0.2', + _testsubnet.name, + ] + verifylist = [ + ('dns_nameservers', ['10.0.0.2']), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + result = self.cmd.take_action(parsed_args) + attrs = { + 'dns_nameservers': ['10.0.0.2', '10.0.0.1'], + } + self.network.update_subnet.assert_called_once_with( + _testsubnet, **attrs) + self.assertIsNone(result) + class TestShowSubnet(TestSubnet): # The subnets to be shown |
