Module `importutils` from common code was graduated to oslo.utils,
so it would be great if we reuse this library.
Remove unused strutils.py and gettextutils.py
Change-Id: Iaae19fc5018d83103e5f15ff76d6da686bfdf5f8
This replaces the restapi requests wrapper with the one from Keystone client so
we can take advantage of the auth plugins.
As a first step only the v2 and v3 token and password plugins are supported.
This maintainis no changes to the command options or environment variables.
The next steps will include reworking the other API client interfaces to
fully utilize the single auth session.
Blueprint: ksc-session-auth
Change-Id: I47ec63291e4c3cf36c8061299a4764f60b36ab89
This new action will allow a user to change their own password by
either providing the new password as an argument (--password) or by
being prompted to enter the new password.
In both cases user will be prompted to enter their current password
as required by the v3 API.
Closes-Bug: #1337245
Change-Id: I5e1e0fd2b46a4502318da57f7cce2b236fb2d93d
The unordered dict and lists causes variable results. The user
may see different results and tests can fail. Might as well make
this more consistent.
Change-Id: I7045b40b44cbf3ee0f2ca79c6ea0d279b6d8cfe3
This patch drops the import_utils method from common.utils and leverages
it from openstack.common.importutils instead.
Change-Id: If7e7383aa742afe44f750f916c0d90d747793150
Closes-bug: 1365273
This is step 1 toward using Keystone client's session.Session as the
primary session/requests interface in OSC.
* Move the session create into ClientManager and rename 'restapi' attribute to 'session'
* Set up ClientManager and session loggers
* Fix container and object command references to restapi/api
Change-Id: I013d81520b336c7a6422cd22c05d1d65655e64f8
Add support for --timing options. Use cliff via a pseudo-command
'Timing' to support multiple outputformats.
If an output format other than the default 'table' is selected
use CSV since the timing data is in list form.
Will pick up timing data for any client object that has a method
similar to novaclient's get_timings().
TODO:
* Stop instantiating all of the clientmanager client objects just
to check for timing data. Descriptor magic required?
Change-Id: I7f1076b7a250fba6a8b24b2ae9353a7f51b792b2
Since cinderclient has support to list extensions, we should add
some of the logic to our list extensions command.
Change-Id: I7dc7ca325ea9b82194bba6d875e7b8dc1884d77e
Closes-Bug: #1337687
The safe_encode method returns bytes, so we cannot concatenate its output with
text strings. This call does not seem needed after all, so let's just remove
it.
Change-Id: I6c18427559147d4c732ff7daa6d6006e7e5f6365
Since novaclient has support to list extensions, we should add
some of the logic to our list extensions command.
Closes-Bug: #1337684
Change-Id: I3074225780142df265a34add03e60c0f7c64c711
* The encryption it purports to offer is completely insecure.
* It also appears to be broken.
Closes-Bug: #1319381
Change-Id: Id15ecfbbfd15f142b14c125bfd85afd5032699ac
This patch enables authenticating by using a trust. The trust ID
must be set with the parameter --os-trust-id or the env variable
OS_TRUST_ID. Trusts are available for the identity v3 API.
Co-Authored-By: Florent Flament <florent.flament@cloudwatt.com>
Change-Id: Iacc389b203bbadda53ca31a7f5a9b8b6e1a1f522
The find_resource method had two hacks in in to support cinder
and keystone and I have removed those in favor of a monkey patch
for cinder.
The find_resource method used to attempt to UUID parse the id, but
it would do a manager.get anyway. I changed it to skip the UUID
parsing. This will make things run minorly faster and it supports
LDAP for keystone.
The find_resource used to attempt to use display_name=name_or_id
when finding. This was a hack for cinder support, but it breaks
keystone because keystone totally messes up with the bogus filter
and keystone refuses to fix it.
Change-Id: I66e45a6341f704900f1d5321a0e70eac3d051665
Closes-Bug: #1306699
The following logging levels are set according to the combination of
--verbose, --quiet and --debug options:
verbose_level logging level options
0 --quiet ERROR
1 (none) WARNING
2 --verbose INFO
3+ --verbose --verbose DEBUG
or --debug
Logging levels for the requests and iso8601 modules are forced to ERROR.
This is the first step in bp use-logging-not-print
The difference between '--debug' and '--verbose --verbose' is --debug triggers
cliff's exception handling and traceback display.
Change-Id: Ide2233b3316471d279260fb1e7255a6ca2072023
- Add support in the common section for extension list. This only
supports Identity for now. Once the APIs for volume and compute
are supported in the respective APIs, they will be added. Once
network is added to this client, it will be added (the API already
supports it).
- Include extension fakes for volume and compute for pre-enablement.
Change-Id: Iebb0156a779887d2ab06488a2a27b70b56369376
Closes-Bug: #1319115
There are files containing string format arguments inside
logging messages. Using logging function parameters should
be preferred.
Change-Id: Ic749ac9eb55564ed631d57055a5a4dfc3aebd169
Thinking ahead, a few other upcoming keystone features could
benefit from reading contents from a file. Thus, moving the
function from policy to utils.
Change-Id: I713ab0e5a00c949ad996daf83b775a7c19044888
Most of the CLIs use a NoUniqueMatch, so produce a useful
error message if that happens. Added some tests for
find_resource as well.
Change-Id: I85ba61d5f6d1be5bd336a1cc4b02501492905f33
Closes-Bug: #1293846
* Add get_password method to the utilities
* Add --password-prompt option
* Call the get_password method if a prompt is requested
* Various tests
Change-Id: I1786ad531e2a2fbcc21b8bc86aac0ccd7985995a
Closes-Bug: 1100116
Add the ability to pass user_domain_id / user_domain_name, domain_id
/ domain_name, and project_domain_id / project_domain_name to keystone.
These parameters are the first step needed to getting multi-domain
support working via the CLI.
Closes-Bug: #1198171
Change-Id: I81a8534913978ff1cce01ec02741ae477e8c5fa4
Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>
Signed-off-by: Bo Tang <btang@cs.utsa.edu>
When using the -v option, displays curl equivalent commands and http
messages exchanged with the nova and cinder API servers. Displays the
same messages as those displayed with the --debug option of
python-novaclient and python-cinderclient.
Implements: blueprint curl-commands-in-debugging-messages for nova and
cinder related calls
Change-Id: Ibc8ef79d874334585b81d652b9c7df9e874fffa9
cliff.commandmanager.CommandManager gained an option, update
openstackclient.common.commandmanager.ComamndManager to match.
Also add CommandManager.get_command_groups() to return a list of the
currently loaded command groups. I expect this to be useful in
upcoming client diagnostic commands for plugins/extensions.
If these turn out to be generally useful we'll propose them to
upstream cliff.
Change-Id: Ic15a7ca0ef975ca679e753be861be7c628b8e10c
Prepare to use the (soon to be) common Session from keystoneclient
* Rework RESTApi to eventually be a subclass of keystoneclient.Session
Change-Id: I68e610f8b19a3f6267a93f7bf3de54a228be68aa