diff options
| author | reedip <reedip.banerjee@nectechnologies.in> | 2016-04-04 11:17:29 +0900 |
|---|---|---|
| committer | Reedip <reedip.banerjee@nectechnologies.in> | 2016-04-06 16:52:47 +0000 |
| commit | 1b351e16956563916cdf4f27071653e4b69569c2 (patch) | |
| tree | 24514b1ea950aaf8832cfb5a38051eff3a4a0176 /openstackclient | |
| parent | 107bc5164f99ef956d952273235648c7f8f26764 (diff) | |
| download | python-openstackclient-1b351e16956563916cdf4f27071653e4b69569c2.tar.gz | |
Add provider network options to osc network create
The following patch adds the provider network options
to OSC "network create".
Change-Id: Ib8449c00ee4b4285889588f03ddd7a686ce8f987
Partial-Bug: #1545537
Diffstat (limited to 'openstackclient')
| -rw-r--r-- | openstackclient/network/v2/network.py | 26 | ||||
| -rw-r--r-- | openstackclient/tests/network/v2/test_network.py | 9 |
2 files changed, 35 insertions, 0 deletions
diff --git a/openstackclient/network/v2/network.py b/openstackclient/network/v2/network.py index 6fd18efb..d3b20c0f 100644 --- a/openstackclient/network/v2/network.py +++ b/openstackclient/network/v2/network.py @@ -165,6 +165,26 @@ class CreateNetwork(common.NetworkAndComputeShowOne): action='store_true', help='Do not use the network as the default external network.' 'By default, no network is set as an external network.') + parser.add_argument( + '--provider-network-type', + metavar='<provider-network-type>', + choices=['flat', 'gre', 'local', + 'vlan', 'vxlan'], + help='The physical mechanism by which the virtual network ' + 'is implemented. The supported options are: ' + 'flat, gre, local, vlan, vxlan') + parser.add_argument( + '--provider-physical-network', + metavar='<provider-physical-network>', + dest='physical_network', + help='Name of the physical network over which the virtual ' + 'network is implemented') + parser.add_argument( + '--provider-segmentation-id', + metavar='<provider-segmentation-id>', + dest='segmentation_id', + help='VLAN ID for VLAN networks or tunnel-id for GRE/VXLAN ' + 'networks') return parser def update_parser_compute(self, parser): @@ -185,6 +205,12 @@ class CreateNetwork(common.NetworkAndComputeShowOne): attrs['is_default'] = False if parsed_args.default: attrs['is_default'] = True + if parsed_args.provider_network_type: + attrs['provider:network_type'] = parsed_args.provider_network_type + if parsed_args.physical_network: + attrs['provider:physical_network'] = parsed_args.physical_network + if parsed_args.segmentation_id: + attrs['provider:segmentation_id'] = parsed_args.segmentation_id obj = client.create_network(**attrs) columns = _get_columns(obj) data = utils.get_item_properties(obj, columns, formatters=_formatters) diff --git a/openstackclient/tests/network/v2/test_network.py b/openstackclient/tests/network/v2/test_network.py index 572bc6ae..2493362e 100644 --- a/openstackclient/tests/network/v2/test_network.py +++ b/openstackclient/tests/network/v2/test_network.py @@ -142,6 +142,9 @@ class TestCreateNetworkIdentityV3(TestNetwork): "--project-domain", identity_fakes_v3.domain_name, "--availability-zone-hint", "nova", "--external", "--default", + "--provider-network-type", "vlan", + "--provider-physical-network", "physnet1", + "--provider-segmentation-id", "400", self._network.name, ] verifylist = [ @@ -152,6 +155,9 @@ class TestCreateNetworkIdentityV3(TestNetwork): ('availability_zone_hints', ["nova"]), ('external', True), ('default', True), + ('provider_network_type', 'vlan'), + ('physical_network', 'physnet1'), + ('segmentation_id', '400'), ('name', self._network.name), ] @@ -166,6 +172,9 @@ class TestCreateNetworkIdentityV3(TestNetwork): 'tenant_id': identity_fakes_v3.project_id, 'is_default': True, 'router:external': True, + 'provider:network_type': 'vlan', + 'provider:physical_network': 'physnet1', + 'provider:segmentation_id': '400', }) self.assertEqual(self.columns, columns) self.assertEqual(self.data, data) |
