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
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>
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
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>
Quieten the output of our test runs significantly.
Change-Id: Ie32c919bb987eb0b9bc4c5b2ec54ee20a6841c03
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
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>
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
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
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>
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
"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
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
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
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>
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>
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
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
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
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
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