Commit graph

4978 commits

Author SHA1 Message Date
okozachenko
3c80b1b3b2 Add project field in image list subcommand
The motivation is to filter the image by owner

Change-Id: I1f08da175a06e62a844f76b0ec18cb3332efef86
2020-12-15 00:45:30 +02:00
Stephen Finucane
f5b185c357 Make use of comparable 'FormattableColumn' subclasses
This requires fixes found in cliff 3.5.0 [1] and osc-lib 2.3.0 [2]. With
these fixes in place, we can remove the icky, still broken
'assertItemEqual' and 'assertListItemEqual' helpers.

[1] https://review.opendev.org/761421
[2] https://review.opendev.org/761394

Change-Id: Id6c26b37c3c7d5ec6761361abca57f9219b76838
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2020-12-09 15:17:25 +00:00
Zuul
0edd055f3f Merge "Remove retired Searchlight support" 2020-12-09 12:18:55 +00:00
Ghanshyam Mann
a79e7db4ae Remove retired Searchlight support
Searchlight project is retiring in Wallaby cycle[1].
This commit removes the support/usage of Searchlight project
before its code is removed.

Needed-By: https://review.opendev.org/c/openstack/searchlight/+/764526

[1] http://lists.openstack.org/pipermail/openstack-discuss/2020-November/018637.html

Change-Id: Idad97343b9ce66186d50ee0560a2fded66655f9b
2020-12-08 19:48:54 +00:00
Stephen Finucane
ecfda7654e Update lower-constraints
This had gotten pretty out-of-date and included a whole load of OSC
plugins which I don't think we need to track from here. This updated
version is simply generated via 'pip freeze' using pip >= 20.3, which
includes the new dependency resolver.

Change-Id: I4fb0b69dbd538f313c6fef97126c22078904c69f
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2020-12-08 11:20:44 +00:00
Stephen Finucane
20769cd7b2 Fix lower-constraints job
pip 20.3 finally includes a proper dependency resolver. Its use is
causing the following error messages on the lower-constraints job:

  ERROR: Cannot install ... because these package versions have
  conflicting dependencies.

  The conflict is caused by:
      bandit 1.1.0 depends on PyYAML>=3.1.0
      cliff 3.4.0 depends on PyYAML>=3.12
      openstacksdk 0.52.0 depends on PyYAML>=3.13

Bump our lower constraint for PyYAML to resolve this issue. With that
resolved, we see a new issue:

  ERROR: Could not find a version that satisfies the requirement
  cryptography>=2.7 (from openstacksdk)
  ERROR: No matching distribution found for cryptography>=2.7

This is less self-explanatory but looking at the lower-constraints for
openstacksdk 0.52.0 shows a dependency on cryptography 2.7 [1], meaning
we need to bump this also.

Next up, flake8-import-order seems to cause the dependency resolver to
go nuts, eventually ending with the following error message in a Python
3.6 environment:

  Using cached enum34-1.1.2.zip (49 kB)
    ERROR: Command errored out with exit status 1:
     command: ...
         cwd: ...
    Complete output (9 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File ".../lib/python3.6/site-packages/setuptools/__init__.py", line 7, in <module>
        import setuptools.distutils_patch  # noqa: F401
      File ".../lib/python3.6/site-packages/setuptools/distutils_patch.py", line 9, in <module>
        import re
      File "/usr/lib64/python3.6/re.py", line 142, in <module>
        class RegexFlag(enum.IntFlag):
    AttributeError: module 'enum' has no attribute 'IntFlag'
    ----------------------------------------

A quick Google suggests this is because the enum34 package is not
complete [2]. We shouldn't even be using it since our base virtualenv
should at least use Python 3.6, but I guess some dependency doesn't
properly restrict the dependency to <= Python 3.4. This is moved from
'test-requirements.txt' to 'tox.ini' since we don't need to use our
constraints machinery for linters.

Finally, the versions of bandit and hacking that pip is bringing in both
requires in a newer version of babel, which in turn requires a new
version of pytz.

  Collecting hacking>=2.0.0
  ...
  ERROR: Cannot install oslo.i18n because these package versions have
  conflicting dependencies.
  The conflict is caused by:
      babel 2.9.0 depends on pytz>=2015.7
      babel 2.8.1 depends on pytz>=2015.7
      babel 2.8.0 depends on pytz>=2015.7
      babel 2.7.0 depends on pytz>=2015.7

Seeing as we shouldn't be tracking bandit in
lower-constraints, I'm not sure why we're want to bump these
dependencies for just that. As above, we move these dependencies out of
'test-requirements' and into 'tox.ini' since we can do that for linters.

[1] https://opendev.org/openstack/openstacksdk/src/tag/0.52.0/requirements.txt#L19
[2] https://github.com/iterative/dvc/issues/1995#issuecomment-491889669

Change-Id: I8ec738fbcabc8d8553db79a876e5592576cd18fa
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2020-12-08 10:55:57 +00:00
Zuul
fe98069c20 Merge "trivial: Cleanup docs for 'server rebuild'" 2020-12-05 21:27:53 +00:00
Zuul
d0fd1ffe0a Merge "Switch compute aggregate functions to SDK" 2020-12-05 10:04:28 +00:00
Zuul
ba6433866d Merge "Switch compute flavors from novaclient/direct to SDK" 2020-12-05 10:04:23 +00:00
Stephen Finucane
ceaba4c572 trivial: Cleanup docs for 'server rebuild'
Use consistent help strings and error messages.

Change-Id: I42647a6b7e67ce4b8dd5f826e20802ade691c266
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2020-12-03 11:59:21 +00:00
pedro
d688cb58a3 Add documentation about login with federation
The documentation presents the parameters necessary
to authenticate via federation (using password) and do
a brief description of each parameter used in the process.

Change-Id: Iae3b6d0b56ebd2bbbb94f9f3637b5086e75559a7
2020-12-02 08:42:39 -03:00
Artem Goncharov
f36a34b675 Switch compute aggregate functions to SDK
Continue journey towards having OSC consuming SDK for nova part.

Depends-On: https://review.opendev.org/#/c/762131/
Change-Id: Id16e6c47aa93f02f15f49e1f59f73fecaa3e3b80
2020-12-02 11:24:51 +00:00
Artem Goncharov
0f4f42b652 Switch compute flavors from novaclient/direct to SDK
Let's switch flavors from novaclient or direct API requests onto using
SDK. Microversion agreement comes out of the box.

SDK normalizes property names, while OSC uses server side names. In
order not to break OSC users continue using server-side names.

Depends-On: https://review.opendev.org/#/c/762989/
Change-Id: I62b2ed8488ee4ac9c42051311bcfb455506ddd90
2020-12-02 11:24:42 +00:00
Zuul
ea358057f8 Merge "stop image downloads to memory" 2020-12-02 04:45:15 +00:00
Zuul
d4a0bcf8b3 Merge "Add NODE and HOST parameters in "server create" help text" 2020-12-01 22:46:10 +00:00
Zuul
2d95558ac5 Merge "Let autoprogram-cliff know who's running" 2020-12-01 22:03:55 +00:00
Zuul
30828112cf Merge "Remove None valued network quota entries" 2020-12-01 13:51:20 +00:00
Zuul
c7a43773c9 Merge "Add id and enabled param in ListIdentityProvider parser" 2020-12-01 13:50:56 +00:00
Eric Fried
284c38bcf2 Let autoprogram-cliff know who's running
The autoprogram-cliff directive has a habit of producing text like

  This command is provided by the $me plugin.

which doesn't make any sense.

Cliff recently added a config option whereby consumers can let it know
who $me is so it can suppress that message where appropriate (while
still producing it for $plugin, as intended).

Depends-On: https://review.opendev.org/692464
Change-Id: I0d580fb1d34dd56740eb6d976caa795e0e951047
2020-12-01 11:54:59 +00:00
yanpuqing
3e8968af3d Add NODE and HOST parameters in "server create" help text
Add optional parameters "NODE" and "HOST" in the help text of the
server create comand for --availability-zone.

Co-Authored-By: tianhui <tianhui@awcloud.com>
Change-Id: I4faea8a3d3aecb21ec535e55c238c71745fc68cb
Task: 24274
Story: 2003313
2020-12-01 11:49:36 +00:00
Simon Merrick
5bdcd590ec stop image downloads to memory
+ Fixes issue with large images hogging memory
 + stream image downloads
 + output to stdout if file not specified

Change-Id: Ia01ff9b21a2dac5d0ccf2bd58a8640e88c5cbb36
Story: 2007672
Task: 39776
2020-11-25 21:25:22 +13:00
Rodolfo Alonso Hernandez
8387b114e3 Add "fields" parameter to ListPort query
This new query parameter will allow to send a query to the Neutron
server filtering only by those parameters needed by the list
command: ID, name, MAC address, fixed IPs and status.

When using input parameter "long", security groups IDs, device owner
and tags will be added to the fields filter.

With 4500 ports, those are the execution times for the command
"openstack port list" (average values in a development environment):

                 Neutron API (seconds)  CLI (seconds)
Without filter:  3.05                   10.15
With filter:     2.76                   8.19

Depends-On: https://review.opendev.org/#/c/754113/

Change-Id: I1cccf0bc3533f8085e8dd61bf2fbe78c49b74b31
Closes-Bug: #1897100
2020-11-18 17:42:14 +00:00
Zuul
7146deef00 Merge "update lower-constraints.txt" 2020-11-18 13:28:59 +00:00
Zuul
73d56bc8d4 Merge "Add a few selectable fields to the "openstack server list" output" 2020-11-18 13:28:55 +00:00
Zuul
7d624cc78a Merge "trivial: Document removal of support for agents" 2020-11-18 01:22:02 +00:00
Zuul
bba5725085 Merge "Switch 'openstack keypair' ops to use SDK" 2020-11-17 14:53:12 +00:00
Zuul
2005a1e833 Merge "Allow to resize in-use volumes" 2020-11-17 14:51:42 +00:00
Stephen Finucane
a5101a4139 trivial: Document removal of support for agents
We can't remove these commands for a long time, given OSC's intention to
support multiple releases of OpenStack, but we can at least indicate to
users that this thing might not work anymore.

Change-Id: I9093cc1197a0287984d83e2020fba100d0c958b3
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2020-11-17 11:44:31 +00:00
Zuul
24edeb24a6 Merge "tests: Remove 'agent' functional tests" 2020-11-16 21:37:18 +00:00
Stephen Finucane
ebaf0eae2c tests: Remove 'agent' functional tests
The 'os-agents' API was recently removed from nova [1]. Remove the
functional tests, since they will always fail going forward but will
continue to run on older stable branches.

Also Squeeze https://review.opendev.org/#/c/762559/ inside, since those
2 are simultaneously blocking gate

[1] https://review.opendev.org/#/c/749309/

Change-Id: I0bf7d4c0ba2a9d4637db0d209d8d52163d772f12
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2020-11-16 15:54:27 +01:00
Zuul
ce31c417de Merge "Resolve issues with 'server migration list'" 2020-11-12 11:20:21 +00:00
Dmitriy Rabotyagov
4c0bfb03fc Allow to resize in-use volumes
Since Pike (microversion 3.42) [1] Cinder API allows to resize in-use
volumes. So no reason not to implement it in CLI.

[1] https://opendev.org/openstack/cinder/src/branch/master/cinder/api/openstack/rest_api_version_history.rst#user-content-section-39

Change-Id: I22462a56d261e0a100aac3f27af7be47223edec0
2020-11-11 09:18:49 +00:00
Zuul
e2bd1530cf Merge "functional: Remove test for 'quota set --force'" 2020-11-09 18:50:43 +00:00
Zuul
4d3bad9f19 Merge "Add 'openstack server evacuate' command" 2020-11-09 16:56:19 +00:00
Stephen Finucane
1a5dd4af5b Resolve issues with 'server migration list'
The 'os-migrations' API accepts 'instance_uuid' and 'migration_type'
query string parameters, not 'server' and 'type'. For the former, as the
name would suggest, the value should be a server UUID, not a name.

In addition, this is a list command and therefore should subclass the
'Lister' base class.

Change-Id: I736f5575156fc04d7ada7783a1865ab3b438396f
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2020-11-09 15:05:54 +00:00
Artem Goncharov
512ba114a1 Switch 'openstack keypair' ops to use SDK
Let's continue our journey and start using SDK for the keypair
operations

Depends-On: https://review.opendev.org/#/c/761883/
Change-Id: Id411e70b8e1a79c0e88a0e22be7ff37e5c30fcda
2020-11-09 13:14:53 +01:00
Stephen Finucane
ffd7e93961 functional: Remove test for 'quota set --force'
Change I1d1ac1ac46f49f64794ffc8631e166935537966c introduced the 'quota
set --force' parameter to force set nova quotas. As part of that fix, we
introduced a functional test, 'QuotaTests.test_quota_set_force' that
works by attempting to set the 'limit' of the quota for instances to the
current usage ('is_use') minus one.

This test is flawed. It doesn't create any instances so when it fires by
itself, it will always set the 'limit' to 0. When it fires at the same
time as other tests (remember, we run tests in parallel), notably tests
that rely on booting instances, it can cause other tests to fail with
the following error:

  Quota exceeded for instances: Requested 1, but already used 0 of 0
  instances (HTTP 403)

We could attempt to work around this by creating a new project and using
that project to fiddle with quotas. That's a lot of work though, and the
returns are questionable: the 'quota set' command is an admin-only
command by default and the '--force' parameter should almost never be
used. Simply remove this test.

Change-Id: Ic07ff6f4a7c1c27852c892eb906bb144aae91788
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Story: #2008327
Task: #41225
2020-11-06 17:40:13 +00:00
Stephen Finucane
0a7f2692c6 Remove references to Python 2.7
We don't support it anymore. This is just noise now.

Change-Id: I3640e7d8e520db69f83f95e9c7759279f7c15008
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2020-11-05 14:15:37 +00:00
jay
311f4130d2 Add a few selectable fields to the "openstack server list" output
Added ``-c project_id | user_id | created_at`` to ``openstack server list``
    command to get these columns as an output.

Change-Id: I18991adf899c7b72c98bb89871bf0715d35943f0
Story: 2007925
2020-11-05 14:01:12 +01:00
Zuul
cb6659d7cd Merge "Compute: Add user id support for keypair" 2020-11-04 00:28:41 +00:00
Zuul
71cdb113fe Merge "Add 'openstack server migration list --type' option" 2020-11-03 12:58:49 +00:00
Zuul
a40d22f1ed Merge "Fix formatting of the flavor properties" 2020-11-03 10:07:13 +00:00
Zuul
4cdc953888 Merge "Add support for 'keypairs list --project' parameter" 2020-11-02 17:23:23 +00:00
Sean Mooney
01eb4e8393 Add 'openstack server evacuate' command
This change adds a new 'openstack server evacuate' command to provide
parity with the 'nova evacuate' command. The term "evacuate" is
notoriously poor, in that it implies the instance is moved rather than
recreated, but it is retained since people are familiar with it now.

Change-Id: I1e32ca51036c501862d8e89b3144a9695d98a06f
2020-11-02 17:08:17 +00:00
Zuul
2ffd06b3d5 Merge "Switch console url show operations to SDK" 2020-11-02 17:00:51 +00:00
Artem Goncharov
ad3369ed1f Fix formatting of the flavor properties
Do not stringify flavor properties to allow proper output formatting to
json/yaml/etc

Change-Id: I9f4c42acb85b726af87123134dd19de98fe95074
2020-11-02 15:09:09 +01:00
He Jie Xu
17f641e1c3 Compute: Add user id support for keypair
This patch adds functionality of specific the user id when create,
delete, show and list keypairs.

Change-Id: Ib826f1f4f5a73d1875ba0f02e124b3222c4d05ed
Co-Authored-By: tianhui <tianhui@awcloud.com>
2020-11-02 12:55:04 +00:00
Zuul
7fdbc6b8af Merge "Add support for 'keypairs list --user' parameter" 2020-11-02 12:06:41 +00:00
Zuul
987af4e390 Merge "trivial: Rework 'CreateServer' function" 2020-10-30 17:30:35 +00:00
Stephen Finucane
7c239403e9 trivial: Rework 'CreateServer' function
This rather complex function has had stuff tacked on over the years.
Help make working with it a bit easier through liberal application of
whitespace and some nicer indentation. Some option help text is improved
based on changes to modern nova.

Change-Id: I8154dd395dd904c3bcd180a7d0f9037b7e0be64f
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2020-10-29 11:43:23 +00:00