Commit graph

694 commits

Author SHA1 Message Date
Zuul
4bafc32616 Merge "Fix clearing of dns_domain and description on a network by setting to empty strings" 2024-01-10 18:31:42 +00:00
Brian Haley
e7bc3d9b82 Fix --use-prefix-delegation subnet create argument
The --use-prefix-delegation argument when creating a
subnet should not take an argument of True/False, it
should simply trigger the code to set subnetpool_id
value to 'prefix_delegation'. Change action to correct
this.

Added unit test to cover missing checks.

Related-bug: #2028159
Change-Id: Ib7ee80100327b8611d4a354c7f4eb0e696c953da
2024-01-09 17:23:03 -05:00
Stephen Finucane
be3d438ed2 trivial: Place positional opts last
Change-Id: I5479e71223c8c224e0bba387348e740c997cc7bf
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2023-12-14 12:31:26 +00:00
Stephen Finucane
1b6b639c9f network: Clarify purpose of default sg rules
These only apply to newly created default security groups i.e. when you
create a new project. They do not apply to existing default security
groups.

Change-Id: Ie01bf47dd8a0392354d17d984b41c1fad504e659
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2023-12-14 12:30:03 +00:00
Zuul
2957f28ff1 Merge "tests: Enable logging fixture" 2023-12-05 18:43:13 +00:00
Florian Streibelt
ce0765facb
Fix clearing of dns_domain and description on a network by setting to empty strings
After setting a default dns_domain on a network

 openstack net set --dns-domain 'example.com.' <NETWORKID>

the setting could not be reverted back to an empty string using

 openstack net set --dns-domain '' <NETWORKID>

and the call also does not emit any error.

The same is true for the description of a network.

Reason was using the parsed argument directly as a condition instead of
comparing against None -- dropping the empty string as valid value.

The name parameter already accepted an empty string.

This change also adds a testcase for dns_domain, description and the
network name parameter, checking if the empty string is forwarded.

Change-Id: Ia7b9738205002b028c19e4f397411c86469cba1a
2023-11-24 12:36:07 +01:00
Stephen Finucane
c08d6e0391 parseactions: Use ArgumentError, not ArgumentTypeError
If you use the former, you get a pretty error message when there's a
failure. If you use the latter, you get an ugly traceback when used with
the '--debug' flag.

Without this change:

  $ openstack flavor create ... --property '' foo
  ...
  Traceback (most recent call last):
    File "/tmp/venv/lib/python3.11/site-packages/cliff/app.py", line 402, in run_subcommand
      parsed_args = cmd_parser.parse_args(sub_argv)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib64/python3.11/argparse.py", line 1862, in parse_args
      args, argv = self.parse_known_args(args, namespace)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib64/python3.11/argparse.py", line 1895, in parse_known_args
      namespace, args = self._parse_known_args(args, namespace)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib64/python3.11/argparse.py", line 2107, in _parse_known_args
      start_index = consume_optional(start_index)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib64/python3.11/argparse.py", line 2047, in consume_optional
      take_action(action, args, option_string)
    File "/usr/lib64/python3.11/argparse.py", line 1971, in take_action
      action(self, namespace, argument_values, option_string)
    File "/tmp/venv/lib/python3.11/site-packages/osc_lib/cli/parseractions.py", line 45, in __call__
      raise argparse.ArgumentTypeError(msg % str(values))
  argparse.ArgumentTypeError: Expected 'key=value' type, but got:
  clean_up CreateFlavor: Expected 'key=value' type, but got:

With this change:

  $ openstack flavor create ... --property '' foo
  ...
  usage: openstack flavor create [-h] [-f {json,shell,table,value,yaml}] [-c COLUMN]
                                 [--noindent] [--prefix PREFIX] [--max-width <integer>]
                                 [--fit-width] [--print-empty] [--id <id>]
                                 [--ram <size-mb>] [--disk <size-gb>]
                                 [--ephemeral <size-gb>] [--swap <size-mb>]
                                 [--vcpus <vcpus>] [--rxtx-factor <factor>]
                                 [--public | --private] [--property <key=value>]
                                 [--project <project>] [--description <description>]
                                 [--project-domain <project-domain>]
                                 <flavor-name>
  openstack flavor create: error: argument --property: Expected 'key=value' type, but got:
  clean_up CreateFlavor:

Change-Id: I9e78b35ad9d016d7a33655141ec579397c5344c0
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2023-11-15 11:33:19 +00:00
Stephen Finucane
89a8f72960 tests: Enable logging fixture
Quieten the output of our test runs significantly.

Change-Id: Ie32c919bb987eb0b9bc4c5b2ec54ee20a6841c03
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2023-11-13 17:31:07 +00:00
Slawek Kaplonski
7b99b57165 Add support for default security group rule CRUDs
Change-Id: I1c18c2ec5eb4923e1ab8b3fc6199ef6f329b4a4d
2023-10-19 16:04:22 +02:00
Zuul
98fbc56603 Merge "Fix --security-group for port list" 2023-10-11 15:59:22 +00:00
Stephen Finucane
fb2e0ced6e tests: Explicitly specify port fields for output
Rather than excluding the few fields we don't want, explicitly indicate
the ones we do want. We were already in-effect doing this in our tests,
so this is simply moving the definition from tests to the main code.

Note that this is a problem in the tests for virtually all commands
that will be seen as the SDK continues to evolve and new fields are
added to existing resources. This is a problem that be solved over
time though, rather than in a big bang commit.

Change-Id: Iaa64e97450f5c73cab2e2c3b0c741aec1495b4f1
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2023-09-12 08:33:20 +00:00
Miguel Lavalle
f8f174c458 Add the flavor-id option to router create
The --flavor-id option is added to the router create command. The
flavor_id attribute has been supported by the Neutron API for router
POST operations since a long time ago [0].

Partial-Bug: #2020823

[0] https://review.opendev.org/c/openstack/neutron-lib/+/494289

Change-Id: If88499533a92c09e67b0827d1d64156682a3bb8e
2023-08-17 10:03:28 -05:00
Bence Romsics
22d1a26d1d Neutron port hints
Introduce the hints port attribute that allows passing in backend
specific hints mainly to allow backend specific performance tuning.

Enable:
  openstack port create --hint ALIAS=VALUE
  openstack port set --hint ALIAS=VALUE
  openstack port unset --hints

Required neutron extension:
  port-hints
  port-hint-ovs-tx-steering

Valid hint aliases and values:
  ovs-tx-steering=hash
  ovs-tx-steering=thread

The same hints in JSON format, as expected by the Neutron API:
  {"openvswitch": {"other_config": {"tx-steering": "hash"}}}
  {"openvswitch": {"other_config": {"tx-steering": "thread"}}}

Change-Id: I4c7142909b1e4fb26fc77ad9ba08ec994cc450b2
Depends-On: https://review.opendev.org/c/openstack/neutron/+/873113
Partial-Bug: #1990842
Related-Change (server side): https://review.opendev.org/c/openstack/neutron/+/873113
Related-Change (spec): https://review.opendev.org/c/openstack/neutron-specs/+/862133
2023-05-24 13:08:15 +02:00
Stephen Finucane
6475dc58e8 Blacken openstackclient.network
Black used with the '-l 79 -S' flags.

A future change will ignore this commit in git-blame history by adding a
'git-blame-ignore-revs' file.

Change-Id: I8048746dbc2ef0cb582f68934734db4c1153d779
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2023-05-10 10:51:30 +01:00
Artem Goncharov
a675c61e46 Fix pep issue in the network service provider
pep gods started complaining (correctfully) about spacing in the old
command. Apply `black -l 79` on the file to make it looking nice and
passing checks.

Change-Id: I716f6a1496fc552b32809c7eb744283f3a3cd5a4
2023-04-20 11:15:37 +02:00
Rodolfo Alonso Hernandez
f1cf3a10b5 Show Network QoS rules one per line
The command "network show qos policy <qos>" now shows the QoS rules
printed one per line.

Example: https://paste.opendev.org/show/bgam6amfLUVheAMhDxB3/
Change-Id: I65a99da16056902a822804e29b2dd9376a72e091
2023-03-28 18:18:49 +02:00
Johannes Kulik
aa227f8d16 Fix --security-group for port list
"openstack port list --security-group <id>" was using a filter that
didn't exist in `openstacksdk`: "security_groups". Up until version
1.0.1, `openstacksdk` did not support filtering `Port` objects by
security groups. Later versions will support the filtering (via [1]),
but the filter is called the same way the attribute on the `Port` object
is called: `security_group_ids`.

We're not bumping the `openstacksdk` version here, because the feature
we're using [1] is merged too recently and a bump of min requirements
thus unlikely. `openstackclient` continue to work with older versions of
`openstacksdk` - the "--security-group" filter will just do nothing like
before.

[1] https://review.opendev.org/c/openstack/openstacksdk/+/866008

Change-Id: I07088484592e99ce0a12b67d68a3e47ae7c7af81
2023-03-20 15:19:46 +01:00
Zuul
02acd27c6a Merge "Add port ranges on floating ip portforwardings cli" 2023-02-22 12:32:14 +00:00
Zuul
f9b025e4cb Merge "Move network trunk commands from python-neutronclient" 2023-01-31 12:40:59 +00:00
elajkat
7f1c21b27a Move network trunk commands from python-neutronclient
Network trunk commands originally were added to python-neutronclient,
although we can long consider these operations core Networking operations.
This patch is not a blind copy but also changes the original code to use
openstacksdk python bindings instead of the binding code in
python-neutronclient as that is already deprecated.

Change-Id: Ic4bc35c296a95d5dae92e9fc1cab3a3fa8f103cd
Related-Bug: #1999774
2023-01-16 14:07:55 +01:00
Rodolfo Alonso Hernandez
bfab0199be Add qos rule type filtering
Added two new filter flags to ``openstack network qos rule type list``:
- "--all-supported", to return any QoS rule type supported by at least
  one loaded driver.
- "--all-rules", to return all QoS rule types supported by the current
  version of Neutron server, regardless of the loaded drivers.

Depends-On: https://review.opendev.org/c/openstack/openstacksdk/+/827671
Depends-On: https://review.opendev.org/c/openstack/neutron/+/827683

Related-Bug: #1959749
Change-Id: Ie0622e79ecf7dadd6560fea142352f5a2ed66b74
2022-12-10 17:01:11 +01:00
Maksim Malchuk
b7d01833d0 Add baremetal agent type list filtering
This change adds and ability to filter out the baremetal nodes in
'network agent list' command.

Related-Story: 2008590
Related-Task: 41746
Related-Bug: #1658964
Change-Id: I01ffbd82662abbc1c2f56eb8f1e700f392bc063c
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
2022-11-09 17:38:06 +03:00
Zuul
cd27f0dd48 Merge "Improve help text for network create --external" 2022-09-30 12:23:17 +00:00
Zuul
38dda16639 Merge "network: Add tenant project filter for RBAC list" 2022-09-30 12:10:29 +00:00
Zuul
c7bb7f806c Merge "Fix missing closing brackets in metavar" 2022-09-30 12:01:22 +00:00
Bence Romsics
390f8135bd Improve help text for network create --external
Change-Id: Ie802fbb8a35e53dcb79b5581f64caa2db1609480
Closes-Bug: #1990285
2022-09-26 12:40:08 +02:00
Jan Hartkopf
4d7d7e627e network: Add tenant project filter for RBAC list
Implements a new parser argument "--target-project" to
list RBAC policies for a specific tenant project only.
This uses the already existing server-side query
parameter "target_tenant".

Story: 2009937
Task: 44824
Depends-On: https://review.opendev.org/c/openstack/openstacksdk/+/834442
Change-Id: I83ff07041a022e8795e3c5550c6a7aabb0c0d8c8
Signed-off-by: Jan Hartkopf <jhartkopf@inovex.de>
2022-09-06 14:13:10 +02:00
Yang JianFeng
b36cd0f4c0 Add router ndp proxy commands
Depends-on: https://review.opendev.org/749036
Change-Id: I77e12cc2dfe4000bd5ae6511878c6591f52d9791
Related-Bug: #1877301
2022-08-26 08:15:43 +08:00
Takashi Kajinami
2093a5b681 Fix missing closing brackets in metavar
... to display the complete format in --help output.

Change-Id: I4d0f044072b206f6205b4b4f4992fd08f01729d6
2022-08-26 01:07:04 +09:00
Pedro Martins
bced4852c7 Add port ranges on floating ip portforwardings cli
This patch is one of a series of patches
to implement floating ip port forwarding with
port ranges.

The specification is defined in:
https://github.com/openstack/neutron-specs/blob/master/specs/wallaby/port-forwarding-port-ranges.rst

Change-Id: If9679c87fd8b770fcd960048e091ee8d59205285
Implements: blueprint floatingips-portforwarding-ranges
Related-Bug: #1885921
2022-07-13 16:24:15 -03:00
Przemyslaw Szczerbik
6ccbcdde64 Add support for CRUD operations for QoS minimum packet rate rule
Closes-Bug: #1922237
Depends-On: https://review.opendev.org/c/openstack/openstacksdk/+/810364
See-Also: https://review.opendev.org/785236
Change-Id: Ie7e1eb0575fd37121d5097ecbc318d0769ab3db0
2022-07-01 13:55:41 +00:00
Dr. Jens Harbott
604ceeedf9 Don't show tenant_id in network objects
Patch [0] dropped mapping the tenant_id attribute to project_id.
However, the Neutron API still returns the tenant_id attribute in
addition to the project_id and so we still need to discard it from
the output.

[0] I5f62f2a76592eaaaed6703624e959df41a6ecc8f

Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Change-Id: Iba1e003bf587802f28928cb44d160b3b3fb1f840
2022-06-27 10:50:03 +02:00
Nurmatov Mamatisa
ccd84f8f2b Refactor network fakes to sdk properties PART 4
Included resources:
port
network_agent
network_flavor_profile
network_rbac

Change-Id: I2e71a3c0fefb56ddcc75865c95746550e2710aa3
2022-04-29 16:40:23 +03:00
Nurmatov Mamatisa
6fe0ae497c Refactor network fakes to sdk properties PART 2
Included resources:
ip_availibility
network

Change-Id: I141bcb43272594da75e776a84a74158fc866ac94
2022-03-15 11:48:33 +03:00
Nurmatov Mamatisa
23ad68264b Refactor network fakes to sdk properties PART 1
Included resources:
address_group
address_scope
auto_allocated_topology
availability_zone

Change-Id: I943f988588efbe68dd3ab17a18441b25ac8c8d4d
2022-03-15 11:28:44 +03:00
Zuul
91a963873f Merge "Fix metavars and typos in local_ip" 2022-03-09 13:44:26 +00:00
Nurmatov Mamatisa
3e61824d4a Fix metavars and typos in local_ip
Change-Id: I2094f343e3353da25f9c5057ea5444345e271665
2022-03-02 12:52:14 +00:00
Zuul
63452f362d Merge "Add support for setting extra DHCP options on existing ports" 2022-02-25 13:26:11 +00:00
Zuul
bf71727c55 Merge "Add support for 'remote-managed' vnic type" 2022-02-23 07:55:28 +00:00
Slawek Kaplonski
47fa9ba356 Add support for setting extra DHCP options on existing ports
It is now possible to set extra DHCP option for an existing port using
"port set" command. It works in the same way like during port creation.

Story: 2009095
Task: 42927
Change-Id: I3577d4e3a303137b708ae8687c44b486aa82e296
2022-02-21 22:52:38 +01:00
Frode Nordahl
d565f11093
Add support for 'remote-managed' vnic type
The 'remote-managed' vnic type will be used to support off-path
SmartNIC port binding with OVN, and it is expected that the user
will create ports with this vnic type as part of the workflow.

As such the client must allow users to interact with this
vnic type and this patch addresses that.

Partial-Bug: #1932154
Depends-On: I496db96ea40da3bee5b81bcee1edc79e1f46b541
Change-Id: I566c3da594d757dd62edcf7f9ea3077db8d6b11a
2022-02-08 07:26:46 +01:00
Nurmatov Mamatisa
26144743d9 Support Neutron Local IP CRUD
Add support for Neutron Local IP CRUD operations.

Partial-Bug: #1930200
Depends-On: https://review.opendev.org/c/openstack/neutron/+/804523
Depends-On: https://review.opendev.org/c/openstack/openstacksdk/+/804988
Change-Id: I1095100efb27b8559412469f0a9d07fc0a3db9d5
2022-01-28 17:24:04 +03:00
Artem Goncharov
18dcd7c9f7 Get rid of tenant_id in the network commands
Finally drop tenant_id completely from the networking service.

Change-Id: I5f62f2a76592eaaaed6703624e959df41a6ecc8f
2022-01-17 09:31:16 +01:00
Zuul
0a887a4786 Merge "Add --security-group to port list" 2022-01-13 20:13:30 +00:00
Dr. Jens Harbott
90eb0ca4bb Hide location columns for network objects
Network objects returned from the SDK include a location column which
has a reference to the cloud to which the object belongs. We don't want
to include them in CLI output where they are useless.
The solution implemented in [0] was dropped as a sideeffect in [1].

[0] https://review.opendev.org/c/openstack/python-openstackclient/+/679445
[1] https://review.opendev.org/c/openstack/python-openstackclient/+/815032

Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Change-Id: I9a408d9721c9c57d752afaab520cd6ee379a5184
2021-12-16 19:33:04 +00:00
Zuul
c10a4cd966 Merge "Allow unset port's host_id" 2021-12-13 10:26:18 +00:00
Dr. Jens Harbott
4e9b929842 Allow setting gateway when creating a router
These options are not only valid when modifying a router, but also when
one is created initially.

Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Change-Id: I3e12901f37cbd1639ac9dc9cc49b04114b80474c
2021-12-09 13:49:27 +00:00
Rodolfo Alonso Hernandez
c8c4f76498 Add --security-group to port list
The neutron API supports filtering ports by security group.

Closes-Bug: #1405057

Depends-On: https://review.opendev.org/c/openstack/openstacksdk/+/804979
Change-Id: I0f626882716c21ac200c1b929ea04664d21874d8
2021-12-02 11:12:47 +00:00
Slawek Kaplonski
f462933113 Allow unset port's host_id
It is supported by Neutron and needs to be done like that when e.g.
admin wants to unbound port from the host.

Task: #44043
Story: #2009705
Change-Id: I08f1bb40f4dc72cfa7c62feeb5f513455de0ca45
2021-11-28 19:58:46 +01:00
Zuul
6fb71af243 Merge "Add --subnet-pool to subnet list" 2021-11-25 17:46:44 +00:00