| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch includes several improvements:
1. Use keystoneauth1 plugin mechanism for auth plugins.
2. Implements CinderNoAuthPlugin.
3. Deletes non-working cinderclient.auth_plugin module.
4. Deprecates --bypass-url in flavor of --os-endpoint to be consistent
with keystoneauth1 plugins.
5. Deprecates in --os-auth-system in falvor of --os-auth-type to be
consistent with keystoneauth1 plugins.
Both bypass_url and os_auth_system params are not changed for client
objects to not break backward compatibility for Python API.
How to use noauth with cinderclient CLI:
OS_USER_ID=userid OS_PROJECT_ID=projectis cinder --os-auth-type noauth
--os-endpoint=http://localhost:8776/v2 list
Change-Id: I3be59a5a39235acbc3334e0a0b797081507a5c88
Closes-Bug: #1657156
|
| |
|
|
|
|
|
|
|
| |
There are some PEP8 errors that are not caught by our gate because of
the pep8 package version installed by hacking.
This patch fixes E402, W503, and F999 erors from our codebase.
Change-Id: I0b86730b1493f161645a87c3daa91ec3d774d3b1
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds in a version-list command that reports the
min/max versions of the Cinder API supported by this
version of the client, and also queries the Cinder API
V3 server to obtain min/max micro-versions and report
those as well.
In addition, we bump the default version of the client to
3.0, of course if you specify V2 in your rc file or on the
cmd line that works fine too.
I did run into one problem where I broke:
cinder.tests.unit.test_shell:test_cinder_service_name
Seems to be some hidden trickery with a fake, fixture or
mock that I can't figure out. For now I added a skip to
that test, but maybe somebody can point out the problem
during review.
Change-Id: I44e667c511d89de28af758a3c9ea1f812e682f18
|
| |/
|
|
|
|
|
|
|
|
| |
According to OpenStack Guideline[1], logged string message should be
interpolated by the logger.
[1]: http://docs.openstack.org/developer/oslo.i18n/guidelines.html#adding-variables-to-log-messages
Change-Id: Ib5f86d1f0846e292457813c893b73c6999e554a5
Closes-Bug: #1596829
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Modify some codes in order to lead them meet the python3 common pattern.
Look through the following patterns of Cinder,
map() and filter() if a list is needed on Python 3:
Replace map(func, data) with [func(item) for item in data]
Replace filter(lambda obj: test(obj), data) with
[obj for obj in data if test(obj)]
Replace exceptions.OSError with OSError and
remove "import exceptions"
Replace iterator.next() with next(iterator)
Replace basestring with six.string_types
Replace unicode with six.text_type
Replace (str, unicode) with six.string_types
Replace "for key in dict.iterkeys()" with "for key in dict"
Replace dict.iteritems() with dict.items()
Replace dict.itervalues() with dict.values()
I found that only "filter(lambda obj: test(obj), data)" and
"map(func, data)"need to modify.
The other items are not be founded in Cinder.
Reference:https://wiki.openstack.org/wiki/Python3#Common_patterns
Change-Id: If33ec39eb176c14086132d3099c6ec577f956ded
|
| |
|
|
|
|
|
|
|
| |
If there is an exception raised by cinder-api while using
--profile option, the trace ID is not printed. Moving the
trace ID print statement to finally block to fix this.
Change-Id: I03df8cd47185d148051d66396f6cd8118efff73c
Closes-bug: #1642888
|
| |
|
|
|
|
|
|
|
|
|
| |
Currently the dest of the deprecated --endpoint-type arg
is 'endpoint_type'. However, the code only uses 'os_endpoint_type'
so right now it isn't being used at all. This patch updates
the dest to be 'os_endpoint_type' so that the variable can
be assigned correctly.
Change-Id: Ie8592d12bcf95e4ccff571e831440b18f5acfd40
Closes-bug: #1454436
|
| |
|
|
|
|
|
|
| |
Help msg and output info should support il8n.
And delete the unused import six.
Close-Bug: #1629157
Change-Id: Ie1faf0a83ec5f04dc6c8303f1ea0c931ba482e2a
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the cinder shell is run in debug mode
(CINDERCLIENT_DEBUG is set in the environment or
with --debug), print a traceback for unhandled
exceptions.
This makes it possible to debug issues like this:
$ cinder credentials
ERROR: list indices must be integers, not str
Related-Bug: #1631142
Co-Authored-By: Gorka Eguileor <geguileo@redhat.com>
Change-Id: I5e9b3283602d404ab43494f15d57ec5abbcd77dc
|
| |
|
|
|
|
|
|
|
| |
In shell.py, six is imported twice.
In this patchset, one of them is removed.
TrivialFix
Change-Id: Ifbf6dcb20d5de54855aab53538b57eb11185ab2b
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Our current APIVersion object has an is_null method to check when the
version instance is null (major=0 and minor=0).
While this works it is not very pythonic, since you have to write
expressions such as:
if not min_version and not max_version:
return True
elif ((min_version and max_version) and
max_version.is_null() and min_version.is_null()):
return True
This patch removes the is_null method and instead implements the truth
value testing to simplify expressions and make code more pythonic.
So previous code would just look like:
if not min_version and not max_version:
return True
Because this will work with min_version being None or being an
APIVersion instance with major=0 and minor=0.
Change-Id: I7497c5dc940c1e726507117cadbad232d8c1d80d
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now, "cinder help subcommand" can not show whether an argument
is supported for a specific microversion.
With this change, developers only need to add a start_version or
end_version in the utils.arg wrap, cinderclient will support
the microversion for that arguement.
@utils.arg(
'--foo',
start_version='3.1')
@utils.arg(
'--bar',
start_version='3.2',
end_version='3.5')
def do_some_action():
......
In previous example, an exception will be raised for such command:
$ cinder --os-volume-api-version 3.6 --bar some-ation
And only "--foo" will show up for such help command:
$ cinder --os-volume-api-version 3.1 help some-ation
Change-Id: I74137486992846bbf9fdff53c009851db2356eef
Partial-Bug: #1600567
Co-Authored-By: Nate Potter <nathaniel.potter@intel.com>
|
| |
|
|
|
|
|
|
|
| |
'six' is an independent third party module so it doesn't
need to be imported and used from oslo_utils.strutils.
TrivialFix
Change-Id: Icb3232bb1ebae0e8332e66c5806474d7f9dfd6df
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Currently with '--debug' option any cinder command only logs the
request from keystoneauth and not the main cinder service request.
Added keystoneauth logger to self.ks_logger so that logs can be
logged as expected.
Closes-Bug: #1606814
Change-Id: I7193aa6f43cb3186c49fc409b6e1ce7a36f596f9
|
| |
|
|
|
|
|
|
|
|
|
| |
move cinderclient to keystoneauth as keystoneclient's auth session,
plugins and adapter code has been deprecated.
Co-Authored-By: Paulo Ewerton <pauloewerton@lsd.ufcg.edu.br>
Co-Authored-By: Sean McGinnis <sean.mcginnis@gmail.com>
Co-Authored-By: Jamie Lennox <jamielennox@gmail.com>
Change-Id: Id4bf0e2088e8ad99e83cd4f9b8549c2aca1f65a2
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix authentication issue if password is provided from tty prompt.
Set options.os_password to user input from prompt, as it gets
used to create auth object otherwise it will give authentication error.
Change-Id: I0246473f2165f1464d731e0ae9b4afa0b61dcbcc
Closes-Bug: #1575656
|
| |\ \ |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Cinder support both v2 and v3 auth. Use v3 if possible.
In consideration of backwards compatibility, when we have
OS_PROJECT_NAME, the v2 auth should be ok because
tenant_name can be set by env[OS_PROJECT_NAME].
Change-Id: I9eed9c41a9deb5ecafa8d9e12f6d1b50d34f986d
Closes-Bug: #1588261
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added new private method to log request-id of each api call
for both SessionClient and HTTPClient. Already available
ks_logger and client_logger will be used for SessionClient
and HTTPClient respectively.
Change-Id: I679c57b96071ecd9bcd1ab2ed50692195586ca52
Implements: blueprint log-request-id
|
| |\ \
| |/
|/| |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently we can specify a client certificate key using --os-key option
inherited from keystoneclient cli options but it has no effect because
keystoneclient Session expects as cert argument, one of the followings:
* None (no client certificate),
* a path to client certificate,
* a tuple with client certificate/key paths.
The change updates cinderclient code to support the last case (ie:
os_cert and os_key are non-empty) in order to take into --os-key option
and OS_KEY environment variable.
Closes-Bug: #1564646
Change-Id: I258fd554ad2d6a5413ffe778acefa3a0b83e591f
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Changes to cinderclient to use microversions.
Implements: blueprint api-microversion-support-for-cinderclient
api-microversion-support-for-cinderclient
Change-Id: I840a1162b88e8ff36fa3fc4e1d6b9317104df3e0
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add support for Cinder API /v3 endpoint.
A couple of unit tests for /v3 endpoint were added to v3/test_shell.py
to ensure that the v3 shell works, and to also test that modules work
with:
from cinderclient.v2.availability_zones import *
syntax.
Change-Id: I6ae0ada221bebb4ab1850d9c99b10fcbb585201f
Implements: https://blueprints.launchpad.net/python-cinderclient/+spec/add-v3-endpoint-support
|
| |/
|
|
|
|
|
|
|
|
|
| |
Graduate from Oslo Incubator to oslo.i18n library.
Cleanup of unused Oslo Incubator utils.
Added optional enable_lazy() usage.
Implements: blueprint graduate-oslo-i18n [1]
https://blueprints.launchpad.net/oslo-incubator/+spec/graduate-oslo-i18n
Change-Id: I9c8db9487b554b637a41620c858a7e7abf802879
|
| |
|
|
|
|
|
| |
This option was silently being ignored.
Closes-Bug: #1538648
Change-Id: I3a1b5268e87cbc9803924be95b374d76b72a3a5d
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Heat wants to use
`cinderclient.shell.OpenStackCinderShell._discover_extensions`
function (https://bugs.launchpad.net/heat/+bug/1527071),
which is private currently. It's better to change this method
to public for public use.
This change will do it as novaclient did.
Change-Id: Iaaa4cab530fd495877e15a372fff1354ddbeaa17
Closes-Bug: #1527169
|
| |
|
|
|
|
|
| |
We are already use Cinder API v2 by default so it sould be consistent to
use 'volumev2' service type by default
Change-Id: I9f2da310f6ad53a40d476ede62369cc364371064
|
| |
|
|
|
|
|
|
|
|
| |
With oslo-incubator being deprecated, move
our use of strutils to oslo_utils.
This leaves in place the use of oslo-incubator's
strutils by other oslo-incubator modules for now.
Change-Id: Ic4e50060b42aeca9d1e54424a8a3a123140fbf2a
|
| |
|
|
|
|
|
|
|
|
| |
Fix Change-Id: I98a8507f2369deff6a6f7f8f08271b169fe651ad for bug #1454436
doesnt allow OS_ENDPOINT_TYPE environment variable to be used as a default
for --os-endpoint-type as argparse takes the first definition of the
default expression for dest=os_endpoint_type
Closes-bug: 1500489
Change-Id: I76cc963b10bc7a549fe5a0cd2c73dfc6a30bb759
|
| |
|
|
|
|
|
|
| |
This change add a period for the description string of
a argument that gets dropped.
Closes-Bug: #1489317
Change-Id: Ica1a74625a640f8d664f5ca183ada14ef63be077
|
| |
|
|
|
|
|
|
| |
Cinder API v1.1 is deprecated and will be removed. Switching to API v2 in
cinderclient makes it works well with new API after API v1 will be
removed.
Change-Id: I639f4b54dc7e220e8e351113a4de1dff104b50a7
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Keystone v3 has changed the name of tenants to projects which means that
OS_TENANT_NAME is meaningless in a cloud where v3 is the default
authentication version. As such, if a user does not have OS_TENANT_NAME
enabled, cinderclient will not work even though it has checks for v3
immediately below this check (and the same check replicated further
below that). Removing this allows cinderclient to work with Keystone v3
without setting OS_TENANT_NAME unnecessarily.
Further, the check for project information was incorrectly referring to
project_domain_name and project_domain_id instead of
os_project_domain_name and os_project_domain_id.
Closes-bug: 1472636
Change-Id: Ifabb4a2aec070c00349e794364a71394feea99f1
|
| |\ \
| |/
|/| |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
The cinderclient implemented it's own version of the CLI arguments that
are now provided by keystoneclient's session object. This changeset
converts cinder over to utilizing the shared argument registration.
Closes-Bug: 1434105
Change-Id: I72b16aab909d72a47097434436093e616667634a
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit ae03d2a721bd9acb61805ce792a27fb7cf88e5cd.
Cases where a deployment is using a proxy, Cinder servers won't return
the expected publicURL, and instead gives an internal URL that the
client can't use.
Commit 2eb25ab8803214cb3beb5d8fe3efbf70a462c414 in Cinder introduces the
public_endpoint config option, but not everyone is expected to be
running that later of a version to take advantage of this.
Closes-Bug: #1464160
Change-Id: I61228c1e8630b958c792be077674b48fbdb83135
|
| |/
|
|
|
|
|
|
| |
When we use version discovery, we must pass in os-region-name for it
to work.
Change-Id: I82765f7a899d84283dd3a3672f6e151805c1c6fa
Fixes: bug 1467628
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Fix for https://bugs.launchpad.net/python-cinderclient/+bug/1453901 did
not set dest=os_endpoint_type for synonym endpoint_type
Change-Id: I98a8507f2369deff6a6f7f8f08271b169fe651ad
Closes-Bug: 1454436
|
| |\ \ |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Avoid calling _get_keystone_session() if auth_plugin is provided by the
user
Closes-Bug: 1421433
Change-Id: I37a7139107c357caf1a25ac3d0a3457afade0f83
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
pbr 1.0.1 released in 2015-05-19 requires the newer
hacking module >=0.10.0,<0.11 than the versions
specified in the test-requirement.txt file,
which causes failure in gate-python-cinderclient-pep8.
This patch bumps the pbr version in test-requirement.txt
to make it consistent with requirements repository,
and adds some fixups to avoid some new hacking rules.
Change-Id: I7de6e04e30a475ec1c26224461faf0c708178a40
Closes-Bug: #1460774
|
| |\ \ \
| |_|/
|/| | |
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Commit for "Enable version discovery":
ae03d2a721bd9acb61805ce792a27fb7cf88e5cd
breaks CLI use of --endpoint-type. This is because we were using the
default interface instead of checking to see if an endpoint_type is
passed in.
Change-Id: I412bb6b4bcb9bf10aa6118a2ed43e28cbd3ed236
Closes-Bug: 1454407
|
| |/
|
|
|
|
|
|
|
|
|
| |
Cinder uses the parameter '--endpoint-type' but other services
(Glance, Nova, Swift) use '--os-endpoint-type'. (Neutron has deprecated
'endpoint-type' in favor or 'os-endpoint-type' as well.
'--endpoint-type' should be deprecated and 'os-endpoint-type' should
be added.
Change-Id: I0ac6573be35c86b9f764a39f1e60486d2345f51b
Closes-Bug: #1453901
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The service catalog can now have the cinder endpoint x.x.x.x:8776 with
service_type volume, without needing to specify a version in the
endpoint. Keystone will do discovery of the root / GET of the Cinder API
to discover the versions that can be talked to.
This also provides backwards compatibility for the previous solution of
having v1 enabled on service_type volume and v2 on service_type
volumev2.
Change-Id: Id0347f8370dbc8fd7fa8096cd5859e10b0c5d67c
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Added a function, which parse arguments and add -- separator
after metadata subcommand
Change-Id: I907eb89209d549dcdad361d88352491110eaadb9
Closes-Bug: #1379486
|