Commit graph

3011 commits

Author SHA1 Message Date
Stephen Finucane
2c878ad2b7 tests: Remove dead code
None of these fakes are used anymore. Remove them.

Change-Id: I06721aa77f93b76b189901bbdc13a9825fe2fc3d
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2025-04-14 16:27:31 +01:00
Stephen Finucane
b0fe724caf tests: Remove use of legacy resource helpers
This allows us to remove get_servers, create_servers, and
create_one_servers.

Change-Id: I31a86b6333fdc3da1b54407f077873511260a5df
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2025-04-14 14:10:55 +01:00
Zuul
db4739fc5c Merge "Require confirmation to reset server state." 2025-04-11 13:23:47 +00:00
Sean Mooney
25cd1178b3 Require confirmation to reset server state.
This change updates the server set state command to require confirmation
before it is applied. The same pattern as project clean is used and a
new --auto-approve flag is added to allow skipping the prompt.

Operators often use reset state in cases that are incorrect
this change updates the warning to be more explicit
about when and when not to use it.

Change-Id: Iab14739cf6043ad45ad49edff0580e81d75af2fd
2025-04-11 11:53:14 +01:00
melanie witt
d123be0819 Fix 'openstack keypair list --project <project>'
The --project option of 'openstack keypair list' is supposed to filter
keypairs by a project but has not been working and instead returns
keypairs from all projects.

The reason appears to be because it uses a request for a user list
filtered by project but tenant_id/project_id is not a valid filter for
GET /users.

This fixes the issue by requesting role assignments for the specified
project and then requesting keypairs for users with a role in the
project.

This change depends on a recent openstacksdk bug fix change
Ic552dee83d56278d2b866de0cb365a0c394fe26a which fixed the user_id query
parameter for the compute /os-keypairs APIs. The bug fix was released in
openstacksdk 4.4.0.

Closes-Bug: #2096947

Change-Id: Ibb5757766e3040e58d64388b95678fab9b2b6f23
2025-04-10 17:59:29 -07:00
Zuul
616d6f3a29 Merge "Add support for showing scheduler_hints in server details" 2025-04-10 18:37:26 +00:00
Douglas Viroel
c68622402e Add support for showing scheduler_hints in server details
Adds support for a new compute microversion that returns the
associated scheduler_hints in ``GET /servers/{server_id}``,
``GET /servers/detail``, ``PUT /servers/{server_id}`` and
``POST /server/{server_id}/action`` (rebuild) responses.

Change-Id: Ia5a4e0047b5123f2fb063cfc9ab1f58b2844308f
2025-04-08 19:27:29 +00:00
Zuul
7ecdb69f08 Merge "Refactor network fakes to sdk properties PART6" 2025-04-08 18:40:06 +00:00
Zuul
0874e2d33f Merge "Refactor network fakes to sdk properties PART 5" 2025-04-08 17:37:57 +00:00
Stephen Finucane
d96c81ff7f Refactor network fakes to sdk properties PART6
Included resources:
router
security_group
security_group_rule

Change-Id: I2423fc31d94f85aeefc7b0a205dfb38829417a29
2025-04-08 16:36:48 +00:00
Stephen Finucane
f870548c7f Refactor network fakes to sdk properties PART 5
Included resources:
qos_policy
qos_rule
qos_rule_type

Note: Parameters in unittests was modified
for compatibility with sdk

Change-Id: Iaa902d64ff1b29a07c28ed2100d437da506be475
2025-04-07 15:53:30 +01:00
Stephen Finucane
80eaa33ffe volume: Make better use of argparse
The latest in a series.

Change-Id: I8273c817e38120ba0b25aebdbfa1c2872222765e
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2025-04-04 18:11:27 +01:00
Stephen Finucane
181bb194c7 image: Migrate 'create image' volume calls to SDK
Change-Id: Ie57a5c17a6df5a333abd6b11e28b65833740e102
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2025-04-04 18:11:27 +01:00
Zuul
30aa27b7f9 Merge "tests: Rename 'compute_sdk_client' -> 'compute_client'" 2025-04-03 18:09:11 +00:00
Zuul
dd8e4740ec Merge "compute: Migrate to 'compute' client alias" 2025-04-03 18:08:17 +00:00
Stephen Finucane
dc68be6b7b tests: Rename 'compute_sdk_client' -> 'compute_client'
Resolve a TODO. Achieved using:

  sed -i 's/self.compute_sdk_client/self.compute_client/' \
    $(ag -w self.compute_sdk_client -l)

Change-Id: I76798058b9dee9fc7ef01ff8656543fbb1266d43
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2025-04-03 16:39:04 +01:00
Stephen Finucane
dae2539490 compute: Migrate to 'compute' client alias
This is no longer assigned to novaclient, meaning we can use it for SDK.

Change-Id: I43d9ede39d36cc29301f94fa462b9b9d9441807c
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2025-04-03 16:39:03 +01:00
Stephen Finucane
ac1ad1c4e4 Remove use of formatter function
We also update tests to use proper SDK fakes so we actually test this.

Change-Id: Ib98348cab613b7139f0faa0b5df90ff44353974f
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2025-04-02 12:39:26 +01:00
Zuul
ade7da8797 Merge "Prepare for osc-lib changes" 2025-04-01 17:57:57 +00:00
Zuul
1f25a2f935 Merge "volume: Remove Cinder v1 support" 2025-04-01 14:01:22 +00:00
Stephen Finucane
dc8596fe74 Prepare for osc-lib changes
Change-Id: I665cd61272f881dce2d387da6035a2f35c866add
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2025-04-01 13:39:50 +01:00
Zuul
77143f9bed Merge "typing: Resolve incompatible operand issues" 2025-04-01 11:50:55 +00:00
Zuul
28bd00a642 Merge "typing: Correct type for missing attributes" 2025-04-01 11:50:53 +00:00
Zuul
93da5f7af5 Merge "typing: Use consistent types" 2025-04-01 11:50:49 +00:00
Zuul
6e89f9da63 Merge "identity: Migrate 'endpoint' commands to SDK" 2025-04-01 10:55:58 +00:00
Zuul
cf25526e94 Merge "Return the `port` column headers expected in the list command" 2025-04-01 10:48:10 +00:00
Stephen Finucane
e6be9a3edf volume: Remove Cinder v1 support
The Cinder v1 API was removed in Queens [1]. Its replacement, the v2
API, has existed since Grizzly [2]. More importantly, the v1 commands
are implemented using python-cinderclient but support for the v1 API was
removed from python-cinderclient in Train [3], meaning none of these
have worked since then. Clearly if no one has noticed or cared in the 6
years or so since that happened, it's safe to say we can delete these
commands.

[1] 3e91de956e
[2] 75ca60f619
[3] 2189e5702b

Change-Id: Ibe1cd6461d2cb78826467078aa17272f171746aa
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2025-04-01 10:46:03 +01:00
Antonia Gaete
7750fc1cf4 identity: Migrate 'endpoint' commands to SDK
Change-Id: I71b5ae8a4bbcb2fdebf894d8bd5cc8322c31bdb5
Depends-On: I599ff3e88d4e1e9ffafc638bb74186f2739b5a77
Depends-On: I9aa39810fe94f7ee9b68d34050f4adb9dbdfccb8
2025-03-31 16:58:27 -07:00
Stephen Finucane
9de592ebaf typing: Resolve incompatible operand issues
Change-Id: I7f3dd908053b9ace5206d0a1bd3b8258fd0264ef
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2025-03-31 17:52:16 +01:00
Stephen Finucane
e28046cc19 typing: Correct type for missing attributes
Change-Id: I55652220ecd663fa024937646dfef92595e1cd0f
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2025-03-31 17:52:16 +01:00
Stephen Finucane
2c0a3ba137 typing: Use consistent types
Resolve 'Incompatible types in assignment' errors.

Change-Id: I1ea186ff766e0f72cac384fab22d1c2f82e02ef0
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2025-03-31 17:48:36 +01:00
Stephen Finucane
7380fbe300 typing: Add types for empty dicts, tuples
In some cases, simply remove them.

Change-Id: I24a311a24eb533325dda83005777bcb2e0afc320
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2025-03-31 17:48:36 +01:00
Stephen Finucane
9c7a5d4e51 pre-commit: Bump versions
Apply manual changes required by ruff. Automatic changes were done
separately.

Change-Id: I7db65bd2ac3f31b0479699946398752d8d729338
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2025-03-31 17:48:31 +01:00
Zuul
ab2e68f407 Merge "Prepare for ruff bump" 2025-03-31 10:37:30 +00:00
Rodolfo Alonso Hernandez
4dbfc47552 Return the `port` column headers expected in the list command
In [1], it was added the ability to print in the "port list" command
any field not defined in the hardcoded column set for this command.

But in [2], it was added a filter list in the API call in order to
reduce the CLI execution time. The unintentional drawback of this
optimization was that is no longer possible to print any field outside
the "port list" column set.

Because the optimization if preferred and it is always possible to use
"port show" to see all the port fields, the code added in [1] is
removed.

[1]https://review.opendev.org/c/openstack/python-openstackclient/+/522901
[2]https://review.opendev.org/c/openstack/python-openstackclient/+/754117

Closes-Bug: #2098980
Related-Bug: #1707848
Related-Bug: #1897100
Change-Id: Ia944b8e108c454219d642cfa595ffafdf060a57f
2025-03-26 15:57:12 +00:00
Rodolfo Alonso Hernandez
07515cd160 [Neutron] Add "qos-policy" parameter to router creation command
This patch adds the parameter "qos-policy" to the router creation
command.

Closes-Bug: #2103774
Change-Id: I742b3273c5e9d3ec16e8018beddc8cdace8a57c6
2025-03-26 07:46:40 +00:00
Zuul
866009211f Merge "Fix networking quota usage show" 2025-03-25 13:13:29 +00:00
Slawek Kaplonski
6d27b2f2b6 Fix networking quota usage show
Quotas details returned from the Neutron service are in different format
then quota details returned from Nova and Cinder services. This patch
fixes helper function to convert data from Neutron to the same
format as data from Nova and Cinder is given.

Closes-Bug: #2102513
Change-Id: I18649f6c2ee179b64b7e605f4ea07d4b0c7a1635
2025-03-25 09:52:39 +01:00
Dmitriy Chubinidze
2883f3fb95 Specifying project-domain for project
The fix ensures that if a user wants to set a default project,
they must also provide the project domain. If it's missing,
an explicit error message is shown, making it clear that the
project domain is required.

Also adding some unit tests by modifying respective calls.

Change-Id: Ia6e921a53da55ab1bce85a42c8160872a9d47d64
Closes-Bug: #2102146
2025-03-23 09:38:24 +00:00
Zuul
1763c11963 Merge "Fix image import --disallow-failure flag" 2025-03-19 13:06:38 +00:00
Stephen Finucane
290bc580e6 Prepare for ruff bump
Change-Id: Ia9c402edebc8537d5019d18920b6679b05ea4378
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2025-03-19 12:04:39 +00:00
Pavlo Shchelokovskyy
1efca54465 Fix image import --disallow-failure flag
the flag should store False to 'allow_failure', not True.

Also, make the --allow-failure and --disallow-failure flags
mutually exclusive.

Change-Id: I03699e14d4d69d9f08caab647293732fc211dbad
2025-03-14 10:52:39 +00:00
Vladimir Kozhukalov
1458330d3b identity: Fix 'trust' commands to work with SDK
Closes-Bug: #2102039
Change-Id: I632937e06683cc76e78390a4e6f3de4e3c4f1f87
2025-03-11 12:31:09 -05:00
Zuul
4b7e32ca37 Merge "handle 'router create --flavor' option" 2025-02-25 22:48:45 +00:00
Tim Burke
1979c20ff0 Fix credential creation
openstacksdk's Credential expects user_id and project_id, not user and
project. Previously, we would send payloads like

   {'type': 'ec2', 'blob': '{"access": "s3-user1", "secret": "s3-secret1"}'}

which Keystone would reject with

   'user_id' is a required property

Change-Id: I0544bef7df9247395f0726ea075112d6ac992252
2025-02-25 10:30:22 -08:00
Zuul
d22b7732ad Merge "[Neutron] Support `uplink-status-propagation-updatable` extension" 2025-02-24 09:05:05 +00:00
Rodolfo Alonso Hernandez
0ba77e6727 [Neutron] Fix the "port show" command for trunk details
In [1], the "port list --long" command received a new column, showing
the trunk subports related to a parent port. The problem of this patch
is that the ``_formatters`` definition, that is shared with the "port
show" command too, is changed. The "trunk_details" information presented
in both commands differ:
* In the "port list" command, only the subports are presented, in order
  to print a list of dictionaries without showing the ``trunk_id``.
* In the "port show" command, it is presented all the trunk information,
  including the ``trunk_id``.

This patch includes functional tests to validate the fix.

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

Closes-Bug: #2098950
Change-Id: Ib1107fb3dbb025b39a7c55f90f5fe51ae433a72f
2025-02-20 01:07:39 +00:00
Rodolfo Alonso Hernandez
426abbdc68 [Neutron] Support `uplink-status-propagation-updatable` extension
Added ``--enable-uplink-status-propagation`` option and
``--disable-uplink-status-propagation`` option to ``port update``
command.

Now the Neutron extension "uplink-status-propagation-updatable" allows
to update the related value in a port. That was implemented in the
following patches (during 2025.1 Epoxy release):
* https://review.opendev.org/c/openstack/neutron-lib/+/927820
* https://review.opendev.org/c/openstack/neutron-lib/+/936234
* https://review.opendev.org/c/openstack/neutron/+/931641

Related-Bug: #1722720
Change-Id: I99cdcf21438d6d85092c995b50cb10b26ae7c059
2025-02-18 12:09:37 +00:00
Doug Goldstein
1f407afe1c
handle 'router create --flavor' option
The '--flavor' option appears in the usage and arglist but is not
actually parsed. The '--flavor-id' option is what is silently parsed.
Since the goal is to allow the name or the id, this adds the '--flavor'
option to being parsed.

Closes-Bug: 2091731
Change-Id: Id83facd3825f472e7d864427699bd072d1c08779
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2025-02-15 14:04:28 -06:00
Slawek Kaplonski
3412147372 Add "qinq-vlan" and "no-qinq-vlan" params to the "network create" cmd
Depends-On: https://review.opendev.org/c/openstack/openstacksdk/+/939703

Related-Bug: #1915151
Change-Id: Icacf83c20c3650a9d75f665f020b8818e1b4a585
2025-02-13 10:10:42 +01:00