624 Commits

Author SHA1 Message Date
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
Zuul
d1385971bb Merge "Add floating IP Port Forwarding commands" 2019-09-09 16:12:23 +00:00
Dean Troyer
6ee7b8d138 Format location columns in network commands
These return a Munch from the SDK, which can be handled exactly
like a dict so do that.

Note that the location column has a nested project dict in the
return value, this is addressed separately in osc_lib.format_columns
in https://review.opendev.org/#/c/679474/.

Change-Id: I99a6d192749a4ac76777f72be8118261c0521cb0
Signed-off-by: Dean Troyer <dtroyer@gmail.com>
2019-08-30 12:53:18 -05:00
LIU Yulong
f044016e29 Add floating IP Port Forwarding commands
Add following commands:
  floating ip port forwarding create
  floating ip port forwarding delete
  floating ip port forwarding list
  floating ip port forwarding set
  floating ip port forwarding show

Closes-Bug: #1811352
Change-Id: I6a5642e8acce28fc830410d4fa3180597b862761
2019-08-29 07:39:42 +08:00
Zuul
fd63a909a8 Merge "Bump hacking version" 2019-08-28 02:42:06 +00:00
Stephen Finucane
6419533f43 Bump hacking version
Pick up newer versions of this library. Thankfully no serious changes
are needed.

Change-Id: I69e523844529fc1c8aa0c1ce764182dbe29cfeb6
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-08-27 17:12:15 -05:00
Zuul
6f60f833e8 Merge "openstack port create support --extra-dhcp-option" 2019-08-01 21:56:43 +00:00
zhouhenglc
68809fce5a openstack port create support --extra-dhcp-option
neutron create-port API  has extra_dhcp_opts parameter, this parameter
can set port with special extra dhcp options.

Change-Id: I199f17e95c509a33f809ac85c65f685a37acd198
2019-07-25 06:13:11 +00:00
Brian Haley
969e6abd20 Support IPv6 addresses better
When adding a security group rule, if no IP address is given
we will use '0.0.0.0/0', but if the ethertype is IPv6 we will
leave it as None.  Change this to be '::/0' to match what we
do for IPv4 - use the "any" address.  The neutron server
treats them both the same when checking for duplicates.

Because there are most likely entries in the DB using None
for the IP, print them as '0.0.0.0/0' or '::/0' so it is more
obvious what address they are actually referring to.

Also change to display the Ethertype column by default
instead of with --long, since easily knowing IPv4 or IPv6
is useful.

Change-Id: Ic396fc23caa66b6b0034c5d30b27c6ed499de5a6
Closes-bug: #1735575
2019-07-15 22:35:49 -04:00
Zuul
3258b9e5e3 Merge "Change default security group protocol to 'any'" 2019-06-22 21:39:31 +00:00
Zuul
1a21f02bc7 Merge "Use cliff formattable columns in network commands" 2019-06-22 18:27:00 +00:00
Sean McGinnis
5a0fc68a87 Remove deprecated network options
The following were deprecated for several releases and can now be
removed:

* Remove ``port create|set`` options ``--device-id`` and ``--port-id``
* Remove ``router set`` option ``--clear-routes``
* Remove ``security group rule create`` options ``--src-group`` and ``--src-ip``

These are backwards incompatible changes and will require a major
version bump after they are merged.

Change-Id: Ieae74c14f6b3e263721a3146cf76f94a9ab792f6
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
Signed-off-by: Dean Troyer <dtroyer@gmail.com>
2019-05-19 18:22:26 -05:00
Akihiro Motoki
c44f26eb7e Use cliff formattable columns in network commands
Use cliff formattable columns not to convert complex fields
into a string when a machine readable format like JSON or YAML
is requested.

Partial-Bug: #1687955
Partially implement blueprint osc-formattable-columns

Change-Id: I9878f327e39f56852cc0fb6e4eee9105b7141da9
2019-05-09 21:51:57 -05:00
Brian Haley
33a255612c Change default security group protocol to 'any'
The default protocol used to create a security rule was changed to
``tcp``, which was a regression from the neutron client.  Change it
back to ``any``, which skips sending the protocol to the API
server entirely when using the Neutron v2 API.

Users that had been creating rules without specifying a protocol
and expecting ``tcp`` need to change to use ``--protocol tcp``
explicitly.

Change-Id: Iedaa027240e00dced551513d8fa828564386b79f
Closes-bug: #1716789
2019-05-06 10:55:13 -04:00
Jim Rollenhagen
c53de3214e Ignore case in security group rule --ethertype
Currently, this only allows 'IPv4' or 'IPv6', but one can imagine a user
frequently typing e.g. 'ipv6' and getting frustrated. Allow any case,
while still keeping correct case for the choices and the value sent to
Neutron.

Change-Id: I70ce1f43d32aad01b174437d03c984a5b608b161
2019-04-01 15:56:40 -04:00
Zuul
6bd9cb6359 Merge "Fix: incorrect check when no shared/private input" 2019-03-16 01:05:18 +00:00
Kailun Qin
510e9a7b8e Fix: incorrect check when no shared/private input
When neither of "--shared" and "--private" is input, we should not allow
to specify "--project". Defaulting the created network segment range to
shared is expected. Therefore, "project_id" attr should only be
populated on a private range creation.

Change-Id: Iab345e1651dd8b7904ff64a20633f194d719bb84
Story: 2005206
Task: 29980
2019-03-14 01:05:21 +08:00