If a required service is not enabled then we skip the test.
The discovery is done by tests/functional/base.py:is_service_enabled
but this method is broken, credentials are not passed to the
'openstack service show' command so every call will fail and every test
that relies on it will be skipped. This commit fixed that method and
the issues that popped up when re-enabling tests.
Network segment range:
- issue where we assumed network-segment-range extension is always
present
- issue where we compare integers and string representations of numbers
Subnet:
- issue where we try to deepcopy an uncopyable object in UnsetSubnet
Change-Id: Id3cc907c1ed2a25b49cf6f4a7233e0401a02383a
Story: 2005169
Task: 29908
"project_id" attribute should not be set to None on shared network
segment range creation since it is not a valid string type which is
required for the API.
Change-Id: Ia2bab12e39b4bb7e05ff2acfffb851252c100651
Story: 2005205
Task: 29975
Add network segment range command object in support of network segment
range management.
This patch set includes documentation, unit tests and functional tests
(currently skipped unit network segment range enabled in Neutron by
default) for the following new commands:
- "os network segment range create"
- "os network segment range delete"
- "os network segment range list"
- "os network segment range set"
- "os network segment range show"
Co-authored-by: Allain Legacy <Allain.legacy@windriver.com>
[depends on removed by dtroyer as those are all +W and
trying to pass the gate, OSC has it's freeze dealine looming]
Depends: https://review.openstack.org/624708
Depends: https://review.openstack.org/624709
Depends: https://review.openstack.org/638386
Partially-implements: blueprint network-segment-range-management
Change-Id: I335692f2db5be07c1c164f09b13f1abb80b7ba33
This patch explicitly points out the change needed while
forming the detailed lists for servers. In those cases
where the server response for ``openstack server list``
has the flavor and image keys missing for the instances
in the down cell, the servers will be skipped from being
processed.
Depends-On: https://review.openstack.org/591657/
Related to blueprint handling-down-cell
Change-Id: Ibcfe9febdc45db1cb86c6e88f65976feceb01c02
since nova api 2.40 the os-simple-tenant-usage API supports pagination
and will by default return a number of entities configured internally in
Nova.
This means that when there are many enough projects,
the single call to usage.list() will not return usages for all projects.
This patch effectively copy-pastes the logic to paginate over usage list
results from novaclient/v2/shell.py code.
Change-Id: I1b639fe386b7b7db3223f6965495094b9d51533a
Story: #2005099
Task: #29713
As to reflect cinder reset-state --attach-status functionality,
this patch adds --attached / --detached parameter to OSC's volume set
command.
Change-Id: Ic8ee928c9ab0e579512cfb7608f63bfcc2993c7b
Closes-Bug: #1745699
VolumeBackupsRetore object has '_info' attribute
which contains the output data of the restore
command which should be returned instead of the
'VolumeBackupsRestore' object.
Change-Id: I64b75649c1ac9c24e05a197f7280975564b4d386
Story: 2004740
Task: 28811
In order to see image sharing membership it is required to additionally
pass member_status filter to API. Otherwise only those with status 'all'
will be returned. Thus adding possibility to see images shared with
project to be approved or rejected.
Change-Id: Ifd6e13e5a4ef09fbc29e76d464c93fbdbb178ae4
With passing "--detail" argument to "openstack quota list", details
about current usage should be returned.
It is currently supported by Nova and Neutron so details of
resources from those projects can be returned.
Change-Id: I48fda15b34283bb7c66ea18ed28262f48b9229fe
Related-Bug: #1716043
test_snapshot_delete within test_snapshot.py found in both volume v1 and
v2 of python-openstackclient.
Story: 2004977
Change-Id: Iae29ba7992dcf8596f4fb4333d8bcf1889ecd7e6
Using addCleanup() for removing the pending volume transfer request
has no way to wait for the volume status to become available before
cleaning up the volume and gets racy when the tests are run with
slow performance in the volume backend. So we pause at the end of
the test after either accepting the transfer request or explicitly
deleting it so the cleanup can delete the volume.
Change-Id: I04862069cab28bc76eeafd60ba32be646f478d86
Signed-off-by: Dean Troyer <dtroyer@gmail.com>
Add a parameter ``--floating-ip-address`` to ``floating ip list``
because it's supported by the API and also more efficient than the
current ``floating ip show``. This also works as a work-around for
pagination issues ``floating ip show`` might run into with an IP
parameter.
Change-Id: I113e3fa2495e1e86bb553c55c44f71a3f9f49d23
In order to support switching auth contexts, such as for registered_limits
which take a system scoped token, switch the functional tests to using
the --os-cloud command line parameter. However, honor the OS_CLOUD env var
as a way that someone can select a different cloud, including 'envvars',
to use.
Use devstack-system-admin cloud for limit tests
Keystone requires these to have system scope now.
Change-Id: Ia81eebd3e00ae986cf3ba7e3d98f3e8a1647b622
Remove the use of class setup/teardown from volume transfer functional tests
as that just doesn't work too well here. Also wait for volume status before
attempting transfer request operations, some test nodes take a while to
create the volumes.
Change-Id: Ib9378ab5c973deb2aa86c9b9ed31408f3a05115a
Signed-off-by: Dean Troyer <dtroyer@gmail.com>
In some cases, If the result of expr is a boolen value, we shoud
use assertTrue/assertFalse to instead. Because it is clear and simple.
Change-Id: I53b345fc3915a7b0e737e9dd4d58fe09c746d61c
This adds commands to import and export volume backup records so they
can be imported and restored on other Cinder instances or to the
original instance if the service or database has been lost and had to be
rebuilt.
I know this is a commonly used process by some users, so it would be
good to have this functionality in osc so they do not have to switch
clients.
More details about the export and import process can be found here:
https://docs.openstack.org/cinder/latest/admin/blockstorage-volume-backups-export-import.html
Change-Id: Ic95f87b36a416a2b50cb2193fd5759ab59336975
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
when doing openstack limit list --project xyz_id,
CLI raising error unrecognized arguments, whereas
in api-ref document [1], user can pass project_id
as query param.This addresses the above issue, by
adding param --project in parser of LimitList.
[1] https://developer.openstack.org/api-ref/identity/v3/index.html
Change-Id: If4644cc99a3803f61f4a688b828aeb73977fc0dd
Closes-Bug: #1798744
AddFloatingIP refers to an old nova proxy API to neutron that was
deprecated in nova. The neutron API for floating IP associate requires
a port to be specified. Currently, the code is selecting the first port
if the server has multiple ports. But, an attempt to associate the
first port with a floating IP can fail if the first port is not on a
network that is attached to an external gateway.
In order to make the command work better for users who have a server
with multiple ports, we can:
1. Select the port corresponding to the fixed_ip_address, if one was
specified
2. Try to associate the floating IP with each port until one of the
attempts succeeds, else re-raise the last exception.
(404 ExternalGatewayForFloatingIPNotFound from neutron)
This also fixes incorrect FakeFloatingIP attributes that were being set
in the TestServerAddFloatingIPNetwork unit tests, which were causing
the tests to use None as parsed args for ip-address and
--fixed-ip-address and thus bypassing code in the
'if parsed_args.fixed_ip_address:' block.
Task: 27800
Story: 2004263
Change-Id: I11fbcebf6b00f12a030b000c84dcf1d6b5e86250
usually in a big cloud there are many images and flavors,
while each given project might use only some of those.
This patch introduces '--name-lookup-one-by-one' argument to
server list command (mutually exclusive with '--no-name-lookup')
When provided (or either '--image' or '--flavor' is specified) to the
`server list` command, name resolving for
corresponding entity is now using targeted GET commands instead of
full entities list.
In some situations this can significantly speedup the execution of the
`server list` command by reducing the number of API requests performed.
Change-Id: I59cbf3f75c55e5d3747654edcc9be86ad954cf40
Story: #2002039
Task: #19682
There is an optional flag that can be passed in to a
volume migration to tell Cinder to 'lock' a volume so
no other process can abort the migration. This is
reflected correctly with the --lock-volume argument
flag to `openstack volume migrate`, but there is
another --unlock-volume flag that is shown in the help
text for this command that does not do anything and is
not used anywhere.
Since there is no action to "unlock" a volume, this
just causes confusion - including for Cinder developers
that know this API. To avoid confusion, this invalid
flag should just be removed from the command.
Change-Id: I5f111ed58803a1bf5d34e828341d735099247108
This fixes some minor issues in release notes and the command list for
the new volume backend commands.
Also sorts the fakes used for volume unit tests to allow for multiple
command update patches to hopefully reduce the odds of merge conflicts.
Change-Id: Ic6e40f4c639368338cf085c68c17038f81da5361
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
The Cinder v1 API was deprecated several years ago and may be removed
from python-cinderclient in the near future. To handle the case where v1
is no longer present, this updates cinderclient initialization to work
without it and give an appropriate error if v1 is requested with a
version where it is no longer available.
Change-Id: I277d7b48b8ad4cce383ec3722f8117938378f615
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>