358 Commits

Author SHA1 Message Date
Artem Goncharov
60e7c51df4 Switch image to use SDK
This is a work to switch OSC from using glanceclient to OpenStackSDK.

With this change only v2 is using OpenStackSDK. V1 is still using
glanceclient and will be switched in a separate change.

Remove the direct depend on keystoneauth- let that flow through
openstacksdk.

Depends-on: https://review.opendev.org/#/c/698972
Change-Id: I36f292fb70c98f6e558f58be55d533d979c47ca7
2020-03-23 14:38:32 -05:00
Zuul
4a2aa4acc1 Merge "Show correct name for resource with quota set to zero" 2020-01-14 05:00:00 +00:00
lihaijing
d15bbada73 Replace six.iteritems() with .items()
1. As mentioned in [1], we should avoid using six.iteritems to achieve
   iterators. We can use dict.items instead, as it will return iterators
   in PY3 as well. And dict.items/keys will more readable.

2. In py2, the performance about list should be negligible,
   see the link [2].

[1] https://wiki.openstack.org/wiki/Python3
[2] http://lists.openstack.org/pipermail/openstack-dev/2015-June/066391.html

Co-Authored-By: Akihiro Motoki <amotoki@gmail.com>
Change-Id: I4b9edb326444264c0f6c4ad281acaac356a07e85
Implements: blueprint replace-iteritems-with-items
2020-01-09 18:41:29 +09:00
Alex Katz
780d9b49a0 Show correct name for resource with quota set to zero
In case quota for the resource is set to zero "openstack quota show"
command will not map the resource name according to one of the
following dicts:
 - COMPUTE_QUOTAS
 - NOVA_NETWORK_QUOTAS
 - VOLUME_QUOTAS
 - NETWORK_QUOTAS

For example:
$ openstack quota set --secgroups 10 admin
$ openstack quota show admin -f json|egrep "(secgroups|security_groups)"
  "secgroups": 10,
$ openstack quota set --secgroups 0 admin
$ openstack quota show admin -f json|egrep "(secgroups|security_groups)"
  "security_groups": 0,

Change-Id: I94ed9e6b41b1cc692297c01e6c7582998dcacfda
2020-01-08 18:47:51 +02:00
Eric Fried
4c0f3bfa89 common: autogenerate docs
$namespace = openstack.common

The subcommand documents for $namespace were hardcoded and thus prone to
drift over time. This commit removes the hardcoded content and uses the
autoprogram-cliff directive to generate them automatically from the
subcommand configuration classes.

This incorporates a correction to `openstack versions show`: The command
`openstack versions show --help` showed a copy/paste error, using
<region-name> for the metavar for both --service and --status. Fix.

Change-Id: I7658fed40d71f4c20ee27908ade433534657cfe5
Co-Authored-By: Pierre Prinetti <pierreprinetti@redhat.com>
Co-Authored-By: Matt Riedemann <mriedem.os@gmail.com>
2019-11-05 07:09:05 -06:00
Zuul
10747754a6 Merge "Use SDK to get compute API extensions" 2019-11-04 22:09:23 +00:00
Pierre Prinetti
61ad83b575
versions: Fix 'versions show' help message
The command `openstack versions show --help` shows a copy-paste nit.

Change-Id: I9e4e86429ffd630c566bbdf2929e7995c9b0dbe1
Signed-off-by: Pierre Prinetti <pierreprinetti@redhat.com>
2019-11-01 11:25:40 +01:00
Matt Riedemann
4b393681d9 Use SDK to get compute API extensions
python-novaclient 16.0.0 removed the deprecated
list_extensions module [1] so this changes the
extensions command to use openstacksdk to get the
compute API extensions.

The functional test ExtensionTests.test_extension_list_compute
ensures this works.

[1] https://review.opendev.org/686516/

Change-Id: I9894bc395c0474aaa6494ac4534862efe4ea7984
Story: #2006769
Task: #37284
2019-10-31 16:48:29 +00:00
Dean Troyer
ee48777207 Clean up app initialization and config
* Remove unnecessary code in OpenStackShell.initialize_app() - only
  the bits it instantiate our subclass of ClientManager remain
* Remove OSC_Config - with https://review.opendev.org/#/c/678095/
  the last remaining required bit moves to osc-lib

Thos requires osc-lib 1.14.0

Change-Id: Ia4b3c737de9dc34949e74632441621014ef9eea9
Signed-off-by: Dean Troyer <dtroyer@gmail.com>
2019-09-09 14:01:57 +00:00
Dean Troyer
865e182970 Make configuration show not require auth
The configuration show should not require auth to just display the
OSC config object.  Changes to make it not require auth have
knock-on effects of needing to change a bunch of tests that use it
assuming it _does_ require auth so change those to use 'extension list'
instead.

This sets up further testing of the command line options for changes
in behaviour when we switch to straight SDK usage for configuration.

Change-Id: I6c52485341214ba401064c0f2d1e2b95fdc225c0
Signed-off-by: Dean Troyer <dtroyer@gmail.com>
2019-08-01 14:53:02 -05:00
Dean Troyer
1b2595a959 Remove code migrated to osc-lib long ago
* Remove openstackclient.api.utils and use osc_lib.api.utils
* Remove openstackclient.common.clientmanager.ClientManager.auth_ref
* Remove openstackclient.common.commandmanager

Change-Id: I67e1dbc53cc0b37967c0011bcb2fc09bdef62d94
Signed-off-by: Dean Troyer <dtroyer@gmail.com>
2019-05-16 19:19:58 -05:00
Zuul
9b8a76fd61 Merge "Delete the LB object quotas set command in openstackclient" 2019-03-13 08:48:34 +00:00
Matt Riedemann
626a3a021c Mention compute API 2.50 in openstack quota show --class
There is a bug in the compute API until microversion 2.50
where the server-groups and server-group-members class
quota fields aren't returned. This just mentions that
microversion in the command help text.

Change-Id: I029a614a922d642c578618c478c4d0a29a394fc2
Task: 21490
Story: 2002194
2019-03-07 14:41:09 -05:00
Sławek Kapłoński
75cba9d1cb Add support for get details of Quota
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
2019-02-24 10:41:53 +00:00
Monty Taylor
dfd37a2e6e
Make use of keystoneauth service-type filtering for versions
The first version of the versions show command does client-side
service-type filtering, which while functional, causes many more API
calls than needed. Now that keystoneauth supports the filtering at the
source, use it.

Change-Id: I57c49e67f9cb285a5f5bc19ec53a42d10de9f0da
2018-10-19 07:55:41 -05:00
Julie Pichon
1b66ad9067 Fix 'project purge' deleting wrong project's servers and volumes
Project purge would delete the servers and volumes for the project the
user is currently authenticated for, regardless of the --project flag.

Note: This change means that no server at all will be deleted if the
logged in user doesn't have the get_all_tenants permission set in the
Nova policy (default: admin_api). This doesn't appear to be an issue
with Cinder as the default rule appears to be admin_or_owner.

Change-Id: If1c54e24e1482438b81c3c32fd5fc9fdd7a7be04
Story: 1747988
Task: 13854
2018-09-14 10:23:14 +01:00
Monty Taylor
9ece632f96
Add command to show all service versions
Knowing what services and what versions of those services exist on a
cloud isn't always a spectacular experience. Add a command that will use
get_all_version_data from keystoneauth to produce a report of the
available services and the version info for each service.

Depends-On: https://review.openstack.org/584944
Change-Id: I84751c175d0c5f6d857a5473d2db6d5f1b41f946
2018-07-23 16:58:30 -05:00
yanpuqing
b18e79c09b Delete the LB object quotas set command in openstackclient
Setting octavia quotas should use "openstack loadbalancer quota set", not
"openstack quota set". The vip parameter had be removed from octavia.
The patch removes '--vips', '--health-monitors', '--l7policies' parameter
in "openstack quota set" command.

Change-Id: Id0046195aa93bae62264d9de7d123cf63bd0fb7e
Task: 19657
Story: 2002016
2018-06-20 11:08:09 +00:00
Zuul
06263bd585 Merge "Fix limits show command without Nova and Cinder" 2018-04-23 09:49:35 +00:00
Sean McGinnis
d601415259 Clean up W503 and E402 pep8 errors
pycodestyle 2.40 and later enforce these rules that were not previously
enforced. Rather than just skipping them, this cleans up the trivial
instances of these violations.

This does also include some other updates that were not triggering errors
in an attempt to keep some of the style consistent.

Change-Id: Id7c0a6b8f1f835e69d844b000e3ed751852ada63
Closes-bug: #1762803
2018-04-15 12:23:06 +09:00
Jude Cross
24b06ef273 Fix limits show command without Nova and Cinder
This patch implements an endpoint lookup when showing limits. This
addresses the issue when showing limits without both Nova and Cinder
and will display limits if one is missing.

Change-Id: I2214b281e0206f8fe117aae52de2bf4c4e2c6525
Closes-bug: #1707960
2018-04-03 00:47:00 -07:00
Dean Troyer
2c2c16ba55 Remove a bunch of things we promised to remove in 2H 2017
Change-Id: I060559fe13e354fe87551cd9dd82774bddb54640
2017-11-30 15:35:42 -06:00
Hongbin Lu
7ef2867ff6 Replace %r with %s on printing string variable
Change-Id: Idd8c15255f024bba7079d3a9a29545dec0c91b58
2017-11-13 15:23:16 +00:00
Hongbin Lu
599fa78262 Be robust on import plugin module
On loading external plugin, OSC should be robust on importing the
plugin module so that commands from other modules can continue to
execute.

Closes-Bug: #1722008
Change-Id: Ibe716681c7f78fabee31b7ef281af2588d68ab30
2017-10-07 17:07:24 -04:00
lihaijing
254dbf3294 Fix 'project purge' deletes ALL images problem
Closes-Bug: #1717130
Change-Id: I33c6fc7897dfee85d1c197a1267bde4abfa5bbd9
2017-09-26 20:49:32 +00:00
Akihiro Motoki
f3bbf52b3c Use flake8-import-order plugin
In reviews we usually check import grouping but it is boring.
By using flake8-import-order plugin, we can avoid this.
It enforces loose checking so it sounds good to use it.
This flake8 plugin is already used in tempest.

Note that flake8-import-order version is pinned to avoid unexpected
breakage of pep8 job.

Setup for unit tests of hacking rules is tweaked to disable
flake8-import-order checks. This extension assumes an actual file exists
and causes hacking rule unit tests.

Change-Id: I12b596820727aeeb379bee16c2bc993dee9eb637
2017-08-17 06:55:00 +00:00
nidhimittalhada
925776565e wrong values in openstack quota show command
"openstack quota show" shows wrong value in field project
and project_id. project UUID is shown in field project.
and project is coming as None.

Corrected it.

Change-Id: I237e49858feab14ec5e5bc6d8cb79c9f6f5ea9c0
Closes-Bug: #1679906
2017-07-24 11:28:28 +05:30
Steve Martinelli
227d4c64ef Add project purge command to osc
See the initial implementation:
  https://github.com/openstack/ospurge/blob/master/ospurge/client.py

Partial-Bug: 1584596

Change-Id: I3aa86af7c85e7ca3b7f04b43e8e07125f7d956d1
2017-06-13 10:26:35 -04:00
Ankur Gupta
acc2d106ab Refactor Extension show and list command
1.keep the column display order consist in extension list with
  and without "--long" option.
2.rework for network extentsion list, openstacksdk return object,
  so the logic should be same with other service.
3.add some unit test cases, like: extension list --network --long,
  extension list --network --compute, to cover regular use cases.
4.raise exact exception when network extension don't exist, avoid
  internal TypeError in "extension show" commands.

Change-Id: I2e23ced80d8da8aa1106b22472db850367b351ce
Closes-Bug: #1689233
2017-05-18 11:33:45 +08:00
Dean Troyer
e8f3103cc1 Ignore more exceptions in quota list
Additional exceptions can be thrown here, ignore additional project
lookup exceptions, but still not all.  Server failures are still
interesting, for example.

Change-Id: I9a750ae8e8efa29a36bbd1e34b50b6ace0658260
2017-05-11 08:47:37 -05:00
Dean Troyer
d930b043ee Funcional tests: quota list
The quota list tests have a race in them where occasionally a project is
deleted in another test between the time that quota list gets a list of all
projects and it gets the quota for the projects from the service; the get
quota call fails on the non-existant project.

The quota list functional tests have been substantially re-written to
properly test the exception handling.

Change-Id: I71e6bbb5d46fcea4718a5a870f9a66a2c20fff0f
2017-05-02 14:09:16 -05:00
Dean Troyer
871450abcd Fix quota functional tests for nova-net
We need to skip some functional tests when testing against a nova-net cloud
so add the bits to detect that.

Also JSON-ify the quota functional tests and add the skips for nova-net.

Change-Id: Ibfeeb3f967f34c98e80271a8214cf95dc50407f1
2017-04-26 23:52:34 +00:00
Dean Troyer
ef99f44462 Improve no-auth path
The commands that do not require authentication sometimes still need
to call ClientManager.is_network_endpoint_enabled() to see if Neutron
is available.  Optimize the paths a bit to skip auth when it is not
necessary; the upshot is Neutron will be assumed in these cases now.

This gets a LOT cleaner when it appears is a future osc-lib.

Change-Id: Ifaddc57dfa192bde04d0482e2cdcce111313a22a
2017-04-24 18:57:10 -05:00
Dean Troyer
46b8cad4c3 Clean up password prompt work-arounds
osc-lib 1.2 is minimum and now handles the password prompting.

Change-Id: Ie11ad64796d3a89c7396b321c34947d622d1ed39
2017-04-05 13:54:08 -05:00
Jenkins
2a64a64046 Merge "OSC Extension Show" 2017-03-23 20:30:15 +00:00
Sindhu Devale
832b2591cf OSC Extension Show
Implement Neutron feature of Extension Show into
OpenStack Client.

Change-Id: Ifecb794838cb3bf8c2466d178345349db3cd4003
Implements: blueprint extension-show
2017-03-22 16:39:19 +00:00
Jenkins
6329c04297 Merge "OSC Quota List" 2017-03-21 03:56:05 +00:00
Sindhu Devale
58591d3c37 OSC Quota List
Implement Neutron feature of Quota List into
OpenStack Client.

Change-Id: Idf941acf8d00b136776b7381b877c56d82622f57
Partially-Implements: blueprint neutron-client-quota
2017-03-10 14:59:47 +00:00
Reedip
33b092fb9a Trivial Fix
Add a space in the quota error message

Change-Id: I159708b42e86f6b02f8733103a687561d550f650
2017-03-05 18:21:46 +00:00
Rui Chen
0898ebacb8 Support list commands by group name keyword
The output of current "command list" is so long, it's
very difficult for users to find out the commands
they care about.

Add "--group <group-keyword>" option to filter the commands by group
name keyword, like: --group volume, list all openstack.volume.v2
(cinder) commands

That support the scenario that users need to know the current support
commands of some OpenStack services(nova, neutron, cinder and so on) in
OSC.

Change-Id: Id673042729ad36a0cac0b81fb31a3537c24f03fc
Closes-Bug: #1666780
2017-02-23 12:13:06 +08:00
Rui Chen
10f0300f70 Show openstacksdk version info in "module list"
openstacksdk bug/1588823 exist, no good way to add __version__ for
openstack module properly, fix the issue in osc side, make openstacksdk
module information be available.

Change-Id: I27ff61792443d1aa07f31598bed3aa32f924ff40
Partial-Bug: #1662058
2017-02-22 16:40:22 +08:00
Jenkins
35c308ebad Merge "Remove remaining uses of SDK Proxy.session" 2017-02-21 14:00:03 +00:00
Dean Troyer
0719348ba1 TODO cleanup: osc-lib
osc-lib 1.3.0 is released, which contains these functions that still
need to be migrated all the way down to os-client-config.

Currently osc-lib 1.2.0 is in global-requirements so this can not be
merged yet, but is included here for testing and to be ready for when
g-r is unfrozen.

Change-Id: I7bc8ed6cf78f38bab4a718ed3e2a88641fa23f27
2017-02-20 17:35:42 +00:00
Anh Tran
1e3faf9f64 Remove unused logging import
Change-Id: I9edf4075ffea2e8d42283bd654b74cd4ab4a3638
2017-02-20 10:20:42 +07:00
Dean Troyer
73809a98ed Remove remaining uses of SDK Proxy.session
SDK commit Ie67c240e3caa5e100ce07db3862718195c894748 exposed lingering uses
of Proxy.session in OSC.  Get rid of them.

Change-Id: Icab230f1897a446cf3deb0e3d0550d24e11a0ef3
2017-02-19 15:47:20 -06:00
Dean Troyer
b399b0406c Remove quota set workaround for SDK <0.9.13
Change-Id: I89732c49e73ac5a789fdbe19536389f7e93ac0e6
2017-02-17 13:28:48 -06:00
Rui Chen
3afd2b7ff2 Fix "module list --all" failed
KeyError cause the command "module list --all" failed,
fix it, and do refactor to filter private modules and
reduce the loop times, add related unit tests and
functional tests.

Change-Id: Icd77739502e05b5f763a04a92547497bf82d5d63
Closes-Bug: #1661814
2017-02-06 09:44:18 +08:00
Dean Troyer
eea09faae2 TODO cleanup: OSC_Config
os-client-config is now at 1.22.0 in global-requirements, we can remove
this pw_func setting block as the pw_func arg to __init__() was added
in 1.21.0.

Change-Id: I5bbc3e3aae4f3e4c4333c73bba19bda65e0d8488
2017-02-01 17:31:39 -06:00
Rui Chen
4d9da2c40a Fix OSC networking commands help errors
OSC networking commands need to authenticate to get
service catalog, then decide to show nova-network or
neutron command help message. Fake token and fake
auth_type in prepare_to_run_command() casue os-cloud-config
use AdminToken auth plugin, but pass all the auth information
(include: username, password and so on) to it, that casue the
class initialization error. Pop the fake token and url, then
try to load auth plugin again to fix the issue.

Change-Id: I8b140f0b0a60681fc2a35a013bb0c84ff8cb9589
Closes-Bug: #1650026
2017-01-22 06:30:31 +00:00
Huanxuan Ao
0340275fa9 Fix quota set command error for SDK > 0.9.10
A bug in OpenStack SDK 0.9.11 and 0.9.12 that causes
quota set command to fail. This can be removed when
the proposed SDK fix (https://review.openstack.org/#/c/419911/)
is released and in the minimum SDK version in global requirements.

Closes-Bug: #1655445
Change-Id: I63132f5f762f0120282f8b92e72512763063e3c6
2017-01-15 20:00:53 +08:00