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
The nova API we're using to delete a server volume attachment needs to
be handed a volume, not a volume attachment.
Also make sure that we create an error if the volume isn't actually
attached to the server.
Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Co-authored-by: Stephen Finucane <sfinucan@redhat.com>
Change-Id: I12abd3787ea47acb4da282d00fdc1989405a0564
Fix the issue where the flavor name was empty in server list output.
This requires somewhat invasive unit test changes to reflect the changed
API response from the server, but this has the upside of meaning we
don't need new tests since what we have validates things.
Also drop the flavor ID column as it is removed from the compute API.
Change-Id: Ica3320242a38901c1180b2b29109c9474366fde0
Signed-off-by: Khomesh Thakre <khomeshthakre24@gmail.com>
Story: 2008257
Task: 41113
This has no impact on the end result, but it should make fixing issues
introduced by API microversion 2.69 a little easier.
Change-Id: I7d70eac8aa1a6197ed05a49f071e6899ec219c03
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Switch the server suspend and server resume commands from novaclient to
SDK. Use the SDK versions of test fakes to support fake Server
resources.
Change-Id: Idd0b4f13fab0f238e42844a7d759538bbda24f68
Switch the server pause and server unpause commands from novaclient to
SDK. Use the SDK versions of test fakes to support fake Server
resources.
Change-Id: Id626f06f3d7edd44b306b7fc7b9b00d04af09621
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
File tests.unit.volume.v2.fakes is modified to provide sdk volume fakes.
File tests.unit.compute.v2.fakes is modified to provide sdk volume
attachment fakes. For test, setup_sdk_volumes_mock() method is created
so that volumes are created in similar way as servers are created.
Change-Id: I290ba83b6ba27a1377ab73fd0ae06ecced25efd1
These haven't been used since we switched the image commands from
glanceclient to openstacksdk. There's more cleanup to be done here but
that can be done later.
Change-Id: I3de1f24323886b122b3a30660fb3de18eb7014e9
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Switch the server image create command from novaclient to SDK. Use the
SDK versions of test fakes to support fake Server resources. Also,
fetch updated image *after* waiting. If a user requests that we wait
(--wait) for a server image to become active before returning, then we
should probably return the final image. If we don't then the image can
appear to be in a non-active state when it fact it's active. Correct
this by fetching the image after the wait call.
Change-Id: I83a403c035add9ab041ed6d59b5b29e42267f143
The old novaclient.v2.server.Server.interface_attach() method is
replaced with proxy.create_server_interface().
In swargs, 'net_id' and 'port_id' are mutual-exclusive, if one of
them is given with value, the other one cannot be None, as the
API would responde with 400 (None is not string).
In unit test, temporary method 'setup_sdk_servers_mock' is added,
because other tests are still using the old 'setup_servers_mock'.
Functional tests are added. Releasenote is generated.
Change-Id: I9899f0509febc5143560a1859ae6344d0a6d1427
The API behind the 'server add volume' command returns details of the
created volume attachment, however, we were dropping these results
rather than displaying them to the user. Correct this.
Change-Id: I3f7e121220d29422ccf4e6940de2f28bb8496c83
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Switch this command from novaclient to SDK. As this is the first command
related to server that we are migrating, we need to extend our test
fakes to support fake Server resources. The extended fakes will replace
the old ones once all commands related to server are switched.
Change-Id: If476fb1614a64320ed071bbda35e941bf3290a2e
There were a number of 'get_osc_show_columns_for_sdk_resource' defined
in-tree. However, osc-lib has provided this method for some time (since
2.2.0, June 2020 [1] - our minimum version is currently 2.3.0) so
there's no need to provide our own copies. Remove them.
[1] https://github.com/openstack/osc-lib/commit/29a0c5a5
Change-Id: I25695f4f9a379dd691b7eaa1e3247164668ae77e
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
The nova API expects the 'tags' and 'not-tags' filters of the 'GET
/servers' (list servers) API to be a CSV string [1]:
tags (Optional)
A list of tags to filter the server list by. Servers that match all
tags in this list will be returned. Boolean expression in this case
is 't1 AND t2'. Tags in query must be separated by comma.
New in version 2.26
not-tags (Optional)
A list of tags to filter the server list by. Servers that don’t
match all tags in this list will be returned. Boolean expression in
this case is 'NOT (t1 AND t2)'. Tags in query must be separated by
comma.
New in version 2.26
We were instead providing a Python list, which was simply being URL
encoded. Correct this.
[1] https://docs.openstack.org/api-ref/compute/?expanded=list-servers-detail#list-servers
Change-Id: Ie0251a0dccdf3385089e5bbaedf646a5e928cc48
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Closes-Bug: #1946816
Delete duplicate return code.
While adding return of a new Member type, the existing return code part is not deleted.
Note the code in fakes.py in the below commit where these codes were added.
- Project: python-openstackclient
- The commit: 60e7c51df4
Change-Id: Iae44770a784732991962cd38472095f76ab2543f
this already exists for server rebuild, but was missing for server
create.
This option is supported from Compute API version >= 2.63, and is only
available for servers booted directly from images (not from volumes,
not from snapshots, and not from images first converted to volumes).
Additionally, this patch removes mentions of
OS_TRUSTED_IMAGE_CERTIFICATE_IDS env var from similar option help string
in server rebuild command as it is not actually implemented yet.
Change-Id: I4e9faea05c499bd91034d1d284c44fdcc8e18db5
This microversion drops the duplicate ``id`` field while adding
``attachment_id`` and ``bdm_uuid`` to the output of the
os-volume_attachments API reflected within osc by the ``openstack server
volume list $server``command.
Depends-On: https://review.opendev.org/c/openstack/nova/+/804275
Change-Id: I8a7002d8d65d7795e106b768df868198ab8b8143
Allow configuring hostname when creating a new server or updating or
rebuilding an existing server.
Change-Id: Ibe603eab78bbbec43605f56de62a20493b6aa93d
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Depends-On: https://review.opendev.org/c/openstack/python-novaclient/+/806917
openstack server list -c "Created At" command doesn't work
because the wrong variable was used here.
When we receive resp data, Created At data is saved with
the name "created". But in "server.py", we append columns
as created_at. So it seems to print an empty table.
Story: 2009149
Task: 43112
Change-Id: I06de6903d5cc427a8b0fdcd168fec47192f4365b
Currently, the unified client does not have the ability to show the
"Forced Down" field of a GET /os-services response in microversion 2.11
even though the legacy client can.
This adds a "Forced Down" column to the 'openstack compute service list
--long' command output when microversion 2.11 is used.
Story: 2009115
Task: 43011
Change-Id: I10bc2fedbf0e867a990227962b2b6e60f5681f69
The compute APIs are unfortunately inconsistent with regard to the
response parameters for migrations.
* GET /servers/{server_id}/migrations returns server_uuid
* GET /os-migrations returns instance_uuid
Because the 'Server UUID' column is being specified for parsing the
response from GET /os-migrations, it is always showing as an empty
string to users.
There are a few other mismatches between the column names and the REST
API response fields [1]:
* 'Old Flavor' vs 'old_instance_type_id'
* 'New Flavor' vs 'new_instance_type_id'
* 'Type' vs 'migration_type'
This adds a new list containing the REST API response field names to
pass to utils.get_item_properties so that the responses are correctly
parsed and the client output contains the response data instead of
empty strings.
Story: 2009078
Task: 42890
[1] https://docs.openstack.org/api-ref/compute/?expanded=list-migrations-detail#list-migrations
Change-Id: I8aab60619e0225047f6a1c31e44917ca8fcc799e