summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshihanzhang <shihanzhang@huawei.com>2014-05-29 15:12:49 +0800
committershihanzhang <shihanzhang@huawei.com>2015-01-12 09:34:44 +0800
commit096fd1b175085fcc3c46a248b4afb67561fd29ef (patch)
treefb9422e22cbba6308dd808502f329e5c67adf5b2
parent27499fa6a45e78d2bf93a2240b44bb3977c3b447 (diff)
downloadpython-neutronclient-096fd1b175085fcc3c46a248b4afb67561fd29ef.tar.gz
Add '--router:external' option to 'net-create'
Change-Id: Ibb100d54a5fd8b04ac5e1fc3a26826c695f4d951 Closes-bug: #1320793
-rw-r--r--neutronclient/neutron/v2_0/network.py8
-rw-r--r--neutronclient/tests/unit/test_cli20_network.py14
2 files changed, 21 insertions, 1 deletions
diff --git a/neutronclient/neutron/v2_0/network.py b/neutronclient/neutron/v2_0/network.py
index a984926..9850601 100644
--- a/neutronclient/neutron/v2_0/network.py
+++ b/neutronclient/neutron/v2_0/network.py
@@ -120,6 +120,11 @@ class CreateNetwork(neutronV20.CreateCommand):
help=_('Set the network as shared.'),
default=argparse.SUPPRESS)
parser.add_argument(
+ '--router:external',
+ action='store_true',
+ help=_('Set network as external, it is only available for admin'),
+ default=argparse.SUPPRESS)
+ parser.add_argument(
'name', metavar='NAME',
help=_('Name of network to create.'))
@@ -128,7 +133,8 @@ class CreateNetwork(neutronV20.CreateCommand):
'name': parsed_args.name,
'admin_state_up': parsed_args.admin_state}, }
neutronV20.update_dict(parsed_args, body['network'],
- ['shared', 'tenant_id'])
+ ['shared', 'tenant_id', 'router:external'])
+
return body
diff --git a/neutronclient/tests/unit/test_cli20_network.py b/neutronclient/tests/unit/test_cli20_network.py
index a7f5aa8..bd8181f 100644
--- a/neutronclient/tests/unit/test_cli20_network.py
+++ b/neutronclient/tests/unit/test_cli20_network.py
@@ -85,6 +85,20 @@ class CLITestV20NetworkJSON(test_cli20.CLITestV20Base):
position_names, position_values,
tags=['a', 'b'])
+ def test_create_network_external(self):
+ """Create net: --router:external myname."""
+ resource = 'network'
+ cmd = network.CreateNetwork(test_cli20.MyApp(sys.stdout), None)
+ name = 'myname'
+ myid = 'myid'
+ args = [name, '--router:external']
+ position_names = ['name', ]
+ position_values = [name, ]
+ external = {'router:external': True}
+ self._test_create_resource(resource, cmd, name, myid, args,
+ position_names, position_values,
+ **external)
+
def test_create_network_state(self):
"""Create net: --admin_state_down myname."""
resource = 'network'