640 Commits

Author SHA1 Message Date
Slawek Kaplonski
b26b7f3440 Allow to send extra attributes in Neutron related commands
To deprecate and drop support for neutronclient CLI and use only
OSC we need feature parity between OSC and neutronclient.
Last missing piece here is possibility to send in POST/PUT requests
unknown parameters to the Neutron server.
This patch adds such possibility to the OSC.

Change-Id: Iba09297c2be9fb9fa0be1b3dc65755277b79230e
2021-05-26 09:29:15 +02:00
Zuul
8e3dde03f9 Merge "network: Add support for vnic-type vdpa" 2021-03-31 18:40:32 +00:00
Zuul
23e7495d44 Merge "Hides prefix_length column in subnet show output" 2021-03-20 05:55:41 +00:00
James Denton
d769ff4393 Hides prefix_length column in subnet show output
When the openstacksdk is patched to properly support defining prefix
lengths when creating subnets, the resulting subnet show output
reveals a prefix_length column with a value of 'none'. This patch
hides the prefix_length column.

Change-Id: I59dfb0b1585ed624f9d82b3557df2ff5ff9d1b3e
Partial-Bug: 1754062
Depends-On: https://review.openstack.org/#/c/550558/
2021-03-19 18:43:35 +00:00
Stephen Finucane
c58f0277a7 network: Make 'network qos rule create --type' option required
When we create a network qos rule we need specify the type so that we
can call the corresponding API. It's not possible to use the command
without the type so mark it as required. This was already being done
but inline.

Change-Id: I559f884bac198d2c69e800620aef66b200473418
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-03-19 18:39:08 +00:00
Sean Mooney
6f82165979 network: Add support for vnic-type vdpa
Extend 'port create' to support vinc-type vdpa as introduced by neutron
in [1].

[1] https://review.opendev.org/c/openstack/neutron/+/760047

Change-Id: I635c5269f4e8fc55f234c98e85fced87b39fce81
2021-03-19 15:19:38 +00:00
Bharat Kunwar
ed731d6cd9 network: Add missing subnet unset --gateway <subnet-id>
Story: 2008695
Task: 42003
Change-Id: I9486a09531b11f27a9ff0d68fd4ad8c68a65cccf
2021-03-05 14:15:20 +00:00
Zuul
1c84b44ac2 Merge "Add --name to port list" 2021-03-03 17:03:02 +00:00
Brian Haley
16c72f8642 Add --name to port list
The neutron API supports filtering ports by name, but
the CLI was missing support for it like it does for
other networking resources.

Change-Id: I4ff339e18656013218a26f045b205cb7a02dd2fb
Story: #2008654
2021-02-23 18:58:24 -05:00
Miguel Lavalle
e8509d81ee Add 'address_group' type support to rbac commands
Depends-On: https://review.opendev.org/c/openstack/neutron/+/772460
Change-Id: Icd5e96d180364b979d1e93fcb39f9133a41a06e5
2021-02-10 17:40:39 -06:00
Zuul
01a53fa96f Merge "Add device profile to `port`" 2021-01-22 20:42:59 +00:00
Rodolfo Alonso Hernandez
0cc878e5b0 Add device profile to `port`
Added device profile parameter to ``port create`` command.

Related-Bug: #1906602

Change-Id: I4c222ac334d3a0a0ee568ed1e0bc8518baa375e1
2021-01-19 14:42:46 +00:00
Hang Yang
e01e59caeb Support remote-address-group in SG rules
Add support for using remote-address-group in security group rules.

Change-Id: Ib1972244d484839943bc3cda07519a6c6d4b945a
Implements: blueprint address-groups-in-sg-rules
Depends-On: https://review.opendev.org/755644
2021-01-12 10:55:24 -06:00
Stephen Finucane
dd89efd5ac network: Address nits for I3c313fc9329837dde67815901528a34dca98ebcc
Address comments left in the review for $subject.

Change-Id: I69449112027736152c9fb62f5fe427efd6a25107
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-01-12 10:07:58 +00:00
Hang Yang
f57e10b903 Support Neutron Address Group CRUD
Add support for Neutron address group CRUD operations. Subsequent patches
will be added to use address groups in security group rules.

Change-Id: I3c313fc9329837dde67815901528a34dca98ebcc
Implements: blueprint address-groups-in-sg-rules
Depends-On: https://review.opendev.org/738274
Depends-On: https://review.opendev.org/745594
2020-12-24 11:27:23 -06:00
Rodolfo Alonso Hernandez
8387b114e3 Add "fields" parameter to ListPort query
This new query parameter will allow to send a query to the Neutron
server filtering only by those parameters needed by the list
command: ID, name, MAC address, fixed IPs and status.

When using input parameter "long", security groups IDs, device owner
and tags will be added to the fields filter.

With 4500 ports, those are the execution times for the command
"openstack port list" (average values in a development environment):

                 Neutron API (seconds)  CLI (seconds)
Without filter:  3.05                   10.15
With filter:     2.76                   8.19

Depends-On: https://review.opendev.org/#/c/754113/

Change-Id: I1cccf0bc3533f8085e8dd61bf2fbe78c49b74b31
Closes-Bug: #1897100
2020-11-18 17:42:14 +00:00
Zuul
2eeab20eca Merge "Always display direction for security group rules" 2020-10-13 23:26:24 +00:00
Zuul
375fe31525 Merge "Add source_ip_prefix and destination_ip_prefix to metering label rules" 2020-10-13 12:21:15 +00:00
songwenping
c2df9215e1 Remove usage of six
With python3.x, classes can use 'metaclass=' instead of
'six.add_metaclass', 'six.iteritems' and 'six.iterkeys' can
be replaced by 'items' and 'keys', 'six.moves.urllib.parse'
can be replaced by 'urllib.parse', 'six.StringIO' and
'six.moves.cStringIO' can be replaced by 'io.StringIO',
'six.text_type' and 'six.string_type' are just 'str'.

Change-Id: I84848c0bf8ab3c36dd821141191e2725e4e3b58b
2020-10-07 02:15:25 +00:00
Zuul
51aee432d9 Merge "Support tagging Neutron ports on creation" 2020-09-13 20:34:00 +00:00
Miguel Lavalle
67700e6dd9 Support tagging Neutron ports on creation
This change adds support for tagging ports on creation

Co-Authored-By: Slawek Kaplonski <skaplons@redhat.com>

Change-Id: I3148a568664588eb2f529138f984859570c0fca1
Related-Bug: #1815933
2020-09-04 14:30:07 +02:00
Rafael Weingärtner
58f1c90971 Add source_ip_prefix and destination_ip_prefix to metering label rules
As proposed in the RFE and then approved in the spec, we are adding to
the neutron metering rules two new parameters. The source IP prefix, and
destination IP prefix.

Partially-Implements: https://bugs.launchpad.net/neutron/+bug/1889431
RFE: https://bugs.launchpad.net/neutron/+bug/1889431

Depends-On: https://review.opendev.org/#/c/746586/
Change-Id: Ic44d88fabea0fffef2279f2f2c3d2b1da6426d4d
2020-09-02 17:26:00 -03:00
Rodolfo Alonso Hernandez
454b219564 Add NUMA affinity policy parameter to "port"
Added port NUMA affinity policy parameter to "port create",
"port set" and "port unset" commands.

Change-Id: I48cacab275856af2911829f9b7176bb87fd039b3
Related-Bug: #1886798
2020-07-31 15:18:55 +00:00
Zuul
abfca138d9 Merge "port: add --host to list command" 2020-06-26 01:13:35 +00:00
Mohammed Naser
307d23bb58 port: add --host to list command
This adds an option to allow filtering ports bound to a specific host
when listing them.

Change-Id: I747ed0f8b070074c51789576a158345f670fe733
2020-06-17 16:33:34 +00:00
Jens Harbott
8b7a2c8d59 Don't display Munch objects in the output
When the sdk gives us a resource that contains Munch columns, drop them
from the output as they are for programmatic usage only and have no use
in a CLI context.

Change-Id: Idd7306cd763b5a017a66e410e70e1adb02663c2a
2020-06-17 10:09:36 +00:00
Jens Harbott (frickler)
a04172969a Revert "Format location columns in network commands"
This reverts commit 6ee7b8d138e07bfc37c5cd887f7afa49cdabb02f.

Change-Id: I5f59959ba8a01aba49e29f4cb007397467344e58
2020-06-17 10:09:36 +00:00
Zuul
af1ffc456f Merge "Revert "Disallow setting default on internal network"" 2020-04-22 15:40:21 +00:00
Zuul
92254bb0ac Merge "Add 'subnetpool' type support to rbac commands" 2020-04-15 08:44:49 +00:00
Zuul
347c5b9df4 Merge "Add 'address_scope' type support to network rbac commands" 2020-04-10 00:18:56 +00:00
Igor Malinovskiy
557e65d8eb Add 'subnetpool' type support to rbac commands
Change-Id: Id6e528ebd1bf21ca142e60052d28371f97f629ac
Partial-Bug: #1862032
Depends-On: https://review.opendev.org/710755
2020-04-09 19:50:38 +03:00
Zuul
78b18030b5 Merge "Support for stateless security groups" 2020-04-08 08:31:28 +00:00
Vasyl Saienko
bdaebeb508 Revert "Disallow setting default on internal network"
The original patch assumes that both --external and --is-default are set
in the same request and broke case when --is-default is set as an
network update. The validation logic have to be moved on API side to
avoid extra API calls from openstackclient.

This reverts commit 962efd949feb461283a9bb4a668fbd310f80ba40.

Related-Bug: #1745658

Change-Id: Idf08abb0e08a6880f89c3e9df9dd2ac82f36c432
2020-04-08 07:14:52 +00:00
pedro
74a7c1d9d6 Add description field to portforwarding NAT rules
Add the `description` field to Floating IP Port Forwardings

Depends-On: https://review.opendev.org/#/c/705038/
Change-Id: I6477368e32570c96cacddba4f86455262e533277
Implements: blueprint portforwarding-description
Closes-Bug: #1850818
2020-04-02 13:15:19 -03:00
Tom Stappaerts
5e62411e5f Support for stateless security groups
Add support for stateful attribute of security groups,
using --stateful and --no-stateful flag on security group.
This allows a user to create security groups with stateful
false.

Change-Id: Ifd20b5fc47fd0ea0bb5aeda84820dcc0fb1e8847
Blueprint: stateless-security-groups
Depends-On: https://review.opendev.org/711513/
2020-03-31 12:05:18 +02:00
Bence Romsics
dba57c85d5 Add command: router add/remove route --route
Add commands to osc to call the two new API methods introduced by
new Neutron extension: extraroute-atomic.

Bump our openstacksdk requirement to >=0.38.0 which contains
the corresponding sdk change.

The lower-constraints of dogpile.cache and keystoneauth1 are bumped
because of requirements bumps in openstacksdk.

The lower-constraint of decorator is bumped because of problem already
fixed by amotoki here: https://review.opendev.org/701706

Change-Id: Ia9b9c216f1d1161ebedac31594a2c464d77f4ae2
Depends-On: https://review.opendev.org/674324
Partial-Bug: #1826396 (rfe)
Related-Change: https://review.opendev.org/655680 (spec)
2020-03-30 16:19:05 +02:00
Igor Malinovskiy
f03cb68ad8 Add 'address_scope' type support to network rbac commands
Change-Id: I6a4b7219934805c1bbd1e88fcc670ae231d9ac37
Partial-Bug: #1862968
Depends-On: https://review.opendev.org/709122
2020-03-26 12:40:12 +00:00
Zuul
a0d7f98f18 Merge "Add "fields" parameter to ListSecurityGroup query" 2020-03-24 14:07:02 +00:00
Zuul
9e8960bad0 Merge "Fix network segment range "_get_ranges" function" 2020-03-23 21:41:45 +00:00
Rodolfo Alonso Hernandez
27da238da2 Fix network segment range "_get_ranges" function
This function should return an ordered set of ranges based on an
unordered list of numbers (int or str).

Change-Id: I918c8befc51236cc33d96a5c88fb6eafdd143e9c
Story: 2007341
Task: 38878
2020-03-23 14:17:14 +00:00
Daniel Strong
d2826e89e9 Allow setting floating IP description
Change-Id: If664bfe3c9fdcb69c7046eb16c5d32602d1b3262
Story: 2007439
Task: 39094
2020-03-18 18:10:17 +00:00
Rodolfo Alonso Hernandez
711b9c9405 Add "fields" parameter to ListSecurityGroup query
This new query parameter will allow to send a query sending the
"fields" parameter. This "fields" parameter contains the needed
API fields, translated into OVO fields in Neutron server, that
require to be retrieved from the DB.

As commented in the related bug, the OSC "list" command only
prints five parameters, none of them the security group rules. In
systems with a reasonable amount of security groups, skipping the
unnecessary rule load can save a lot of time.

Depends-On: https://review.opendev.org/#/c/710820/
Change-Id: I16f48e292997d029d68f66365db949b9f4b5a0c8
Closes-Bug: #1865223
2020-03-12 11:44:10 +00:00
Hongbin Lu
962efd949f Disallow setting default on internal network
The ``--default`` option should be only used for external network.
Default internal network is not currently supported so we disallow
it for now.

Change-Id: Ia9d39b40e1e041d7bda0f6a27d058e382b572e1a
Closes-Bug: #1745658
2020-03-09 21:01:53 -05:00
Sam Morrison
e410e61d20 Always display direction for security group rules
The --long option is still accepted but is now ignored.

Change-Id: I23dd9fa7cff310ee9a62ce32b843b822b93b7548
Story: #2007323
2020-03-05 09:04:59 +11:00
Michael Johnson
db29e28b7c Switch to using osc_lib.utils.tags
This patch updates the network modules to use the new
osc_lib.utils.tags module and removes the in tree _tag.py version.

A previous patch[1] moves the _tag.py code to osc-lib to allow other
projects to leverage the code.

[1] https://review.opendev.org/662859

Change-Id: Id0c34029e327de50c5fd2732bae5fbf45bbd16ee
2020-01-14 17:10:41 -08:00
Zuul
08c57260e4 Merge "Add dns_publish_fixed_ip attribute to subnets" 2020-01-13 19:27:51 +00:00
lihaijing
d15bbada73 Replace six.iteritems() with .items()
1. As mentioned in [1], we should avoid using six.iteritems to achieve
   iterators. We can use dict.items instead, as it will return iterators
   in PY3 as well. And dict.items/keys will more readable.

2. In py2, the performance about list should be negligible,
   see the link [2].

[1] https://wiki.openstack.org/wiki/Python3
[2] http://lists.openstack.org/pipermail/openstack-dev/2015-June/066391.html

Co-Authored-By: Akihiro Motoki <amotoki@gmail.com>
Change-Id: I4b9edb326444264c0f6c4ad281acaac356a07e85
Implements: blueprint replace-iteritems-with-items
2020-01-09 18:41:29 +09:00
Édouard Thuleau
509ca3ed36 Fix router create/show if extraroute not supported
If neutron does not support extraroute l3 extension, the route column
formatter fails.

Change-Id: I7b89c4f818865073947e0850e86c18d0d2415a51
2019-12-04 14:57:20 +01:00
Eric Fried
cd6c285cc6 neutron: autogenerate docs
$namespace = openstack.network.v2

The subcommand documents for $namespace were hardcoded and thus prone to
drift over time. This commit removes the hardcoded content and uses the
autoprogram-cliff directive to generate them automatically from the
subcommand configuration classes.

This one turned out to be quite involved, because we support both
neutron and nova-network. When running in a real cloud, the command
classes detect whether the neutron service is present, assume
nova-network if that service is not found, and only add parser options
relevant to the detected service. But the docs need to present both sets
of options. This was easy enough when they were hardcoded, but required
a bit of additional infrastructure for generated docs.

Change-Id: I426261eb1d86bcc68656aabd61f10b7f082da402
2019-11-01 14:24:30 -05:00
Jens Harbott
b4e9b225b4 Add dns_publish_fixed_ip attribute to subnets
With the subnet_dns_publish_fixed_ip extension Neutron has added a new
attribute to subnets, allowing to select whether DNS records should be
published for fixed IPs from that subnet. Add support for this when
creating and updating subnets.

[0] https://bugs.launchpad.net/neutron/+bug/1784879
[1] https://review.opendev.org/662405
[2] https://review.opendev.org/662409

Depends-On: https://review.opendev.org/679833
Change-Id: Ia804e878acfd1f05e1f00c2ac9202c1d260827f4
2019-09-11 08:33:16 +00:00