summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmilien Macchi <emilien@redhat.com>2018-03-15 13:21:41 +0100
committerIhar Hrachyshka <ihrachys@redhat.com>2018-03-26 14:26:53 +0000
commita3caf7b331709d76fc6aec5222c60688fd6112a9 (patch)
tree9404f13431a1e4ade5cd0b71c9062499d0acad90
parenta2b9d2cd7c0f29ba3ab4a47864b86c6e0016ecbd (diff)
downloadpython-openstackclient-a3caf7b331709d76fc6aec5222c60688fd6112a9.tar.gz
neutron: add --mtu for create/set network3.14.1
Support Neutron network mtu configuration with a new argument, --mtu that allows CLI users to set MTU for Neutron networks. Change-Id: I93d23581c7e8c84eaf9bb3b293360036f60f456b (cherry picked from commit 18563b4132f794cc6612c2897795f96a31b565ae)
-rw-r--r--doc/source/cli/command-objects/network.rst12
-rw-r--r--openstackclient/network/v2/network.py14
-rw-r--r--openstackclient/tests/unit/network/v2/fakes.py1
-rw-r--r--openstackclient/tests/unit/network/v2/test_network.py9
-rw-r--r--releasenotes/notes/neutron_mtu-d87e53e2d76f8612.yaml5
5 files changed, 41 insertions, 0 deletions
diff --git a/doc/source/cli/command-objects/network.rst b/doc/source/cli/command-objects/network.rst
index 5f20dc38..220fbf32 100644
--- a/doc/source/cli/command-objects/network.rst
+++ b/doc/source/cli/command-objects/network.rst
@@ -24,6 +24,7 @@ Create new network
[--enable | --disable]
[--share | --no-share]
[--description <description>]
+ [--mtu <mtu>]
[--availability-zone-hint <availability-zone>]
[--enable-port-security | --disable-port-security]
[--external [--default | --no-default] | --internal]
@@ -74,6 +75,12 @@ Create new network
*Network version 2 only*
+.. option:: --mtu <mtu>
+
+ Set network mtu
+
+ *Network version 2 only*
+
.. option:: --availability-zone-hint <availability-zone>
Availability Zone in which to create this network
@@ -353,6 +360,7 @@ Set network properties
[--enable | --disable]
[--share | --no-share]
[--description <description>]
+ [--mtu <mtu>]
[--enable-port-security | --disable-port-security]
[--external [--default | --no-default] | --internal]
[--provider-network-type <provider-network-type>]
@@ -386,6 +394,10 @@ Set network properties
Set network description
+.. option:: --mtu <mtu>
+
+ Set network mtu
+
.. option:: --enable-port-security
Enable port security by default for ports created on
diff --git a/openstackclient/network/v2/network.py b/openstackclient/network/v2/network.py
index 4c1725c5..d1c7f005 100644
--- a/openstackclient/network/v2/network.py
+++ b/openstackclient/network/v2/network.py
@@ -107,6 +107,10 @@ def _get_attrs_network(client_manager, parsed_args):
if parsed_args.description:
attrs['description'] = parsed_args.description
+ # set mtu
+ if parsed_args.mtu:
+ attrs['mtu'] = parsed_args.mtu
+
# update_external_network_options
if parsed_args.internal:
attrs['router:external'] = False
@@ -217,6 +221,11 @@ class CreateNetwork(common.NetworkAndComputeShowOne):
metavar='<description>',
help=_("Set network description")
)
+ parser.add_argument(
+ '--mtu',
+ metavar='<mtu>',
+ help=_("Set network mtu")
+ )
identity_common.add_project_domain_option_to_parser(parser)
parser.add_argument(
'--availability-zone-hint',
@@ -619,6 +628,11 @@ class SetNetwork(command.Command):
metavar="<description",
help=_("Set network description")
)
+ parser.add_argument(
+ '--mtu',
+ metavar="<mtu",
+ help=_("Set network mtu")
+ )
port_security_group = parser.add_mutually_exclusive_group()
port_security_group.add_argument(
'--enable-port-security',
diff --git a/openstackclient/tests/unit/network/v2/fakes.py b/openstackclient/tests/unit/network/v2/fakes.py
index a77cab8b..5f3a8a4a 100644
--- a/openstackclient/tests/unit/network/v2/fakes.py
+++ b/openstackclient/tests/unit/network/v2/fakes.py
@@ -335,6 +335,7 @@ class FakeNetwork(object):
'name': 'network-name-' + uuid.uuid4().hex,
'status': 'ACTIVE',
'description': 'network-description-' + uuid.uuid4().hex,
+ 'mtu': '1350',
'tenant_id': 'project-id-' + uuid.uuid4().hex,
'admin_state_up': True,
'shared': False,
diff --git a/openstackclient/tests/unit/network/v2/test_network.py b/openstackclient/tests/unit/network/v2/test_network.py
index 357088f3..9f4a6acc 100644
--- a/openstackclient/tests/unit/network/v2/test_network.py
+++ b/openstackclient/tests/unit/network/v2/test_network.py
@@ -64,6 +64,7 @@ class TestCreateNetworkIdentityV3(TestNetwork):
'ipv4_address_scope',
'ipv6_address_scope',
'is_default',
+ 'mtu',
'name',
'port_security_enabled',
'project_id',
@@ -87,6 +88,7 @@ class TestCreateNetworkIdentityV3(TestNetwork):
_network.ipv4_address_scope_id,
_network.ipv6_address_scope_id,
_network.is_default,
+ _network.mtu,
_network.name,
_network.is_port_security_enabled,
_network.project_id,
@@ -149,6 +151,7 @@ class TestCreateNetworkIdentityV3(TestNetwork):
"--disable",
"--share",
"--description", self._network.description,
+ "--mtu", self._network.mtu,
"--project", self.project.name,
"--project-domain", self.domain.name,
"--availability-zone-hint", "nova",
@@ -165,6 +168,7 @@ class TestCreateNetworkIdentityV3(TestNetwork):
('disable', True),
('share', True),
('description', self._network.description),
+ ('mtu', self._network.mtu),
('project', self.project.name),
('project_domain', self.domain.name),
('availability_zone_hints', ["nova"]),
@@ -188,6 +192,7 @@ class TestCreateNetworkIdentityV3(TestNetwork):
'name': self._network.name,
'shared': True,
'description': self._network.description,
+ 'mtu': self._network.mtu,
# TODO(dtroyer): Remove tenant_id when we clean up the SDK refactor
'tenant_id': self.project.id,
'project_id': self.project.id,
@@ -286,6 +291,7 @@ class TestCreateNetworkIdentityV2(TestNetwork):
'ipv4_address_scope',
'ipv6_address_scope',
'is_default',
+ 'mtu',
'name',
'port_security_enabled',
'project_id',
@@ -309,6 +315,7 @@ class TestCreateNetworkIdentityV2(TestNetwork):
_network.ipv4_address_scope_id,
_network.ipv6_address_scope_id,
_network.is_default,
+ _network.mtu,
_network.name,
_network.is_port_security_enabled,
_network.project_id,
@@ -1023,6 +1030,7 @@ class TestShowNetwork(TestNetwork):
'ipv4_address_scope',
'ipv6_address_scope',
'is_default',
+ 'mtu',
'name',
'port_security_enabled',
'project_id',
@@ -1046,6 +1054,7 @@ class TestShowNetwork(TestNetwork):
_network.ipv4_address_scope_id,
_network.ipv6_address_scope_id,
_network.is_default,
+ _network.mtu,
_network.name,
_network.is_port_security_enabled,
_network.project_id,
diff --git a/releasenotes/notes/neutron_mtu-d87e53e2d76f8612.yaml b/releasenotes/notes/neutron_mtu-d87e53e2d76f8612.yaml
new file mode 100644
index 00000000..8fadb6a8
--- /dev/null
+++ b/releasenotes/notes/neutron_mtu-d87e53e2d76f8612.yaml
@@ -0,0 +1,5 @@
+---
+features:
+ - |
+ Add ``--mtu`` option to ``network create`` and ``network set``
+ commands, allowing CLI users to set the MTU for Neutron networks.