This client hasn't been compatible with Python 2 in years,
so there is no point depending on a Python 2/Python 3
compatibility library.
Change-Id: I6979fcf0f92408751d9c3df937c8d4c060cfff54
In some cases, the following:
datetime.datetime.now(tz=iso8601.iso8601.UTC).tzinfo.tzname()
returns:
'UTC+00:00'
rather than:
'UTC'
resulting in strings that look like:
2013-03-04T12:00:01.000000UTC+00:00
That is just flatly invalid. The code here accounts for a tzname of
"UTC" and normalizes to to being a trailing Z as-per the ISO 8601 spec,
but it does not account for UTC+00:00. Add support for that so that we
don't produce invalid date strings.
Most of this can be avoided by replacing use of this function with the
isoformat method of datetime instead.
datetime.datetime.now(tz=iso8601.iso8601.UTC).isoformat()
Produces
2013-03-04T12:00:01.000000+00:00
Which while different from
2013-03-04T12:00:01.000000Z
is still a valid iso8601 string.
Change-Id: I52ca7561abee158285c2c98ba63d84c62e12360f
The positional decorator results in poorly maintainable code in
a misguided effort to emulate python3's key-word-arg only notation
and functionality. This patch removes keystoneclient's dependance
on the positional decorator.
Change-Id: I9e691cc8b0c04992f4a8dabd67e1b413d3220d23
As keystoneclient and other services rely more on keystoneauth we should
assume that keystoneauth is our base auth library, not keystoneclient
and start to default to the objects provided from there. This will make
it easier to remove these objects when the time comes.
For the session independant parts of keystoneclient we should use the
exception names as provided by keystoneauth instead of the aliases in
keystoneclient.
Change-Id: Ic513046f8398a76c244e145d6cc3117cdf6bb4cd
Currently tox ignores D202 and D203.
D202: No blank lines allowed after function docstring.
D203: 1 blank required before class docstring.
This change removes D202 and D203 ignores in tox and fix violations.
Change-Id: I97ef88c9cfd56774e47f789cbbcf8ccfe85d7737
Currently tox ignores D400.
D400: First line should end with a period.
This change removes it and make keystoneclient docstrings compliant with it.
Change-Id: I29ecb4c58bb03c0b9a3be0b7a74d18fb06a350f2
Currently tox ignores D401.
401: First line should be in imperative mood.
This change removes it and make keystoneclient docstrings compliant with it.
Change-Id: If34ff12d18390b357342cf29f2d116dd3c86a44d
Removing old configuration options for build-in defaults of latest
bandit functionality. Also, marking flagged items with _# nosec_
with a descriptive comment on why the code is acceptable as is.
Co-Authored-By: Christopher J Schaefer <cjschaef@us.ibm.com>
Co-Authored-By: Tom Cocozzello <tjcocozz@us.ibm.com>
Change-Id: I138ebd46a8be195177361a9c3306bb70423b639d
the CLI has been deprecated for a long time, and many docs and
install guides recommend using OSC instead of `keystone`.
- removes CLI
- removes man page from docs
- removes CLI tests
- removes `bootstrap` from contrib
- removes entrypoint from setup.cfg
implements bp: remove-cli
Change-Id: Icbe15814bc4faf33f513f9654440068795eae807
Use the positional library instead of the local copy of the code.
This will prevent duplicating code across repositories without
needing to chase down weird dependency graphs.
Change-Id: I7fef334666e93e358870173d29018e5d47312d2b
Previously, there were a string of commits to keystone that addresed ignored
hacking checks. This commit does the same for H405 in keystoneclient. This
also modifies our tox.ini so that we no longer ignore H405 violations.
Change-Id: I2af152e5425a0e9c82314039fdbb90d661c22680
Closes-Bug: 1482773
The oslo_utils.timeutils.strtime function is deprecated as of
oslo_utils 1.7.
DeprecationWarning: Using function/method
'oslo_utils.timeutils.strtime()' is deprecated in version '1.6'
and will be removed in a future version: use either
datetime.datetime.isoformat() or datetime.datetime.strftime()
instead
Closes-Bug: 1469867
Change-Id: I97897728703547414a621b6687989cff07e01b3e
oslo_utils.timeutils.isotime() is deprecated as of 1.6 so we need
to stop using it.
The deprecation message says to use datetime.datetime.isoformat()
instead, but the format of the string generated by isoformat isn't
the same as the format of the string generated by isotime. The string
is used in tokens and other public APIs and we can't change it
without potentially breaking clients.
So the workaround is to copy the current implementation from
oslo_utils.timeutils.isotime() to keystone.common.utils.isotime().
Change-Id: I34b12b96de3ea21beaf935ed8a9f6bae2fe0d0bc
Closes-Bug: 1461251
Python 3 deprecated the logger.warn method in favor of warning.
DeprecationWarning: The 'warn' method is deprecated, use 'warning'
instead
Change-Id: Idbd4de3c7c631fb2c235701c9b300c37a90d9538
load_from_argparse_arguments is very specifically for use with argparse.
We can therefore safely prompt for a password from the user if none is
provided and it won't affect config options or other loading mechanisms.
Change-Id: Ib76743b768c5f0eef756184f1da49613423298f0
Left timeutils and strutils in openstack/common since they are used in
openstack/common/apiclient and memorycache.
Change-Id: Idb5f09c159d907dfba84cd1f7501f650318af7d9
This reverts commit 68c2fad55a71ca511ff959e589aa0a3f3dbd4b78.
Looks like this broke the stable branches. :(
Change-Id: I9d190e211ecfa80d573a6c48c0b485f3506fe947
Closes-Bug: #1357652
The token hash functions always used MD5. With this change, the
hash function can be passed in to the hash functions.
SecurityImpact
Related-Bug: #1174499
Change-Id: Ia08c2d6252bb034087a244b47d5bcbea7dcfa70b
This decorator allow us to define that certain parameters are strictly
keyword arguments only, without sacrificing the convenience of having
those arguments listed in the function definition.
This will mean that we are no longer trapped maintaining backwards
compatibility for the order of keyword arguments.
The enforcement levels should allow us to start putting warnings on
existing functions and strict enforcement on new functions.
Partial-Bug: #1295881
Change-Id: Ic0a196874930e7be8362df50594471ab8037c5b2
We don't need vim modelines in each source file, it can be set in
user's vimrc.
Change-Id: Ic7a61430a0a320ce6b0c4518d9f5d988e35f8aae
Closes-Bug: #1229324
Using common method 'bool_from_string' from oslo strutils to replace
utils.string_to_bool.
partially implements blueprint common-client-library-2
Change-Id: I22ee9c5a4b48e85606e033ab87d4adb72b665ee6
Use six.iteritems to replace dictionary.iteritems() on python2 or
dictionary.items() on python3.
Change-Id: I972f065414e22d287bd7e00ab2c6e754f17afb75
Signed-off-by: Chuck Short <chuck.short@canonical.com>
convert the non-english username str to unicode,
then the converted username can match the username from db.
Fixes bug #1221576
Change-Id: I9e5f941fe43f081d75750e3f4754e8beea8210db
Fixing a couple locations that could potentially raise NameErrors
instead of intended exceptions. These were found by looking at
flake8 F821 (undefined name) errors.
Added in unit tests to verify NameErrors would not be raised.
Change-Id: I8619cb0be495b814335a5aea23daca025484d3c6
Adding an extra pair of braces helps here to
let Python 3.x interpret it as print function,
while not confusing the Python 2.x print operator.
Change-Id: I05af267ecfbcc80753726743fdf82c330350afcb
This patch allows the ability for user password to be updated via
a command prompt so the password doesnt show up in the bash history.
The prompted password is asked twice to verify the match.
If user cntl-D's the prompt a message appears suggesting user to use
either of the options to update the password.
Fixes: bug#938315
Change-Id: I4271ae569b922f33c34f9b015a7ee6f760414e39
PrettyTable 0.7.2 defaults to print a table even if
the resultset is empty. Restore previous behavior
to be in line with older prettytable releases.
Change-Id: Idd1d0c2c2f41966076517cbc8819ba9a5e097306
keystone user-list output is ordered by 'id' now.
But this order(by 'id') is not human-friendly. Sorting by 'name' is easy to
identify a user.
This patch fixes this problem.
Fixes bug 1073437
Change-Id: I00b1f46c248544157e09b2efccfff63a1f0426aa
This step in the process duplicates the auth-token code to keystoneclient but,
for the moment, leaves a copy in its origional location in keystone.
Testing for auth-token is also copied across, as is the cms support file.
Although no other project will yet pick up the code here in the client, since
the paste.ini files haev not yet been updated, it would work if anyone
did reference it.
Once the client code is in, the next step is to update all the other
project paste files, and then finally retire the code from keystone.
Change-Id: I88853a373d406020d54b61cba5a5e887380e3b3e