The profile that we run for the gate run is renamed to "gate"
from "keystone_conservative".
This will be the standard configuration for OpenStack projects.
Removed the keystone_verbose profile since this isn't used.
Change-Id: I828afc5402ab15c615bfd7955a578d055ce4aa8a
Group the additional dependencies for tox. The way they are specified
now means that the working directory is copied into /tmp 3 times, one
for each . which can cause space issues.
Also removes specifically installing requirements.txt as this will be
handled for the dependencies of .
Change-Id: Ia2c86c70f059c6352586221e13857e5bd17ae37c
Closes-Bug: #1490354
- removes run_tests.sh since it's rarely used and an alternative exists
- removes all the remaining incubator files since nothing uses them
The real value of run_tests.sh over tox is that run_tests.sh enables
running tests against against any virtualenv or Python installation. tox
is just a tool that runs testr commands in a specific virtualenv. testr
can be used directly as a run_tests.sh replacement for running tests in
an arbitrary virtualenv or against any Python installation.
blueprint remove-oslo-incubator
Change-Id: I9d4ef8bf935eb565af1c8d53d1ed71be9a94a975
This allows deployers to install packages that are required for
memcache and MongoDB using keystone['memcache'] and
keystone['MongoDB'], respectively.
Change-Id: Ie11a3017664015f1048cbedd5f727dd50f704055
Partial-Bug: 1479962
DeprecatedTestCase and DeprecatedOverrideTestCase use options in the
database section, but these options won't be registered unless
keystone.common.sql.initialize() is called.
This caused the python34 tests to fail with
oslo_config.cfg.NoSuchOptError: no such option: database
bp python3
Closes-Bug: 1474491
Change-Id: Ic6376142e5e14f1b25cc203c5b37751dc0a25981
test_exception.py was failing on py34 because the test assumed that
UnicodeDecodeError would happen, but on python 3 the replacement
doesn't fail.
bp python3
Change-Id: Ia778c3ea39260a29670488d32f63cfdb032911c2
check_signature was failing with an error since hmac.new expects
bytes for the key. Also, base64.encodestring is deprecated in favor
of base64.encodebytes.
bp python3
Change-Id: I36bcf0e020b98ffa0e34464fee22a949b872c08f
test_utils was failing on py34 with an error like:
testtools.testresult.real._StringException: Traceback (most recent call last):
File "/opt/stack/keystone/keystone/tests/unit/common/test_utils.py", line 154, in test_pki_encoder
self.assertEqual(expected_json, json)
...
testtools.matchers._impl.MismatchError: b'{"field":"value"}' != '{"field":"value"}'
bp python3
Change-Id: I944f7fe37fccfa978493730d3fd17147e4f4ddd7
test_base64utils was failing on py34 with the error
...
File "/opt/stack/keystone/keystone/common/base64utils.py", line 60, in <module>
_base64_to_base64url_trans = string.maketrans('+/', '-_')
nose.proxy.AttributeError: 'module' object has no attribute 'maketrans'
bp python3
Change-Id: If7df8e2800dcf94d62c17acced54f1b1092c3d9c
The lingering output from building docs has burned me enough times
that i'm willing to take the performance hit in rebuilding them
from scratch every time. This patch removes the generated folders
doc/build and doc/source/api, before triggering a new doc build.
Change-Id: I1ea61fafb772552cac4081204751390324a239e3
At the Liberty mid-cycle we talked about cleaning up some of the cruft
from the keystone package. Since this is used in the testing phase
(tox -e pep8), let's just put it in the keystone.tests package.
Change-Id: I9e054c8adc7708b5a161c093bec9eeb6ffdc501f
Use a whitelist of tests known to pass on Python 3. With a working
tox -e 34 command, it becomes possible to add a py34 non-voting gate,
and then make the py34 gate voting to avoid Python 3 regressions.
Remove the py33 test environment since OpenStack is now focused on
Python 3.4 (Python 3.3 is no more tested by the OpenStack infra).
Blueprint python3
Change-Id: I47677bc457bcabcd6432cad18b05b3f181ec49ab
This folds the py3 versions (which infra were not linting until
recently) into the requirements files they should now use.
Note that the -e line for ldap wasn't meant to ever merge, and
I'm not sure it can be merged now, so I've dropped it and we'll
see what happens on test.
Change-Id: Idbd162d70620f683d1bc664193b2a5fe64c159b9
When a development environment is under a proxy, tox is failed even if
environment variables of the proxy are set.
This patch fix this problem.
See:
https://review.openstack.org/#/c/189569
Change-Id: I9f88235c58422c420bbd6ba4a3d8c4a5c60db246
The bandit and functional files don't add much and aren't updated by
update.py, nor are they standard where we'd want to teach update.py
about them.
Change-Id: Ibf28825a6ed50871b707703366c67f2c15a47b02
The functional tox env requirements were in tox.ini, so they weren't
being updated automatically and were out of date.
The functional tox env requirements are moved to
test-requirements-functional.txt so that they'll be updated
automatically and the requirements are updated to the
requirements as of 8cb51513 .
Change-Id: I90ff294914487d6beee5564c2c541f7f77bb3361
The deps in tox.ini wouldn't get updated automatically by the
openstack proposal bot. By moving the bandit requirements into
test-requirements-bandit.txt it will get updated automatically
when global-requirements changes.
Change-Id: Ifb0ec6ce4044adb38a1754521984f9900c612970
In the transition to Python3 we'll be heavily using six.move to import
builtins that have changed and modules that have moved. Having them all
on one line will, in many cases, make the code look cleaner. There is
exactly what we already do with the i18n translation helpers.
bp python3
Change-Id: I5c56a1cf36749d9f190e4360d5a12616380b6598
The tests are all corrected to work with any PYTHONHASHSEED, so this
setting in tox.ini can be removed. This will ensure that new tests
work with any hash seed.
Change-Id: Ibb118d9b7ba6984797e3f258e4116542e31f74fb
Closes-Bug: #1348818
The new H238 "old style class declaration, use new style (inherit
from `object`)" rule was failing and ignored. Now it's enforced.
Change-Id: I9f616d74e4777640cc9441e96f2bd8c1873aaaca
This switches keystone to use oslo-config-generator, where the contents
of our sample configuration file are configured using a configuration
file in config-generators/, because the only way to have tox create
files is to have configuration files for your configuration files
(seriously, it chokes when redirects are included in the command for a
test environment).
This also takes advantage of oslo-config-generator's ability to set the
line wrap width, which is done at 79 chars here to match the rest of our
code.
Also update the actual sample file under etc/
Change-Id: I9f9a157c7802c56a2c7484f6f4adec4aeb4071b8
Closes-Bug: 1324610
H302: import only modules.
Hacking rule H302 is broken since oslo.concurrency-0.3.0 issue,
see bug: https://bugs.launchpad.net/hacking/+bug/1398472
Since we've already fix this problem in
Change-Id: I86629a81d55d88b67cdf0639dc9995887b516cca
we can enable it again.
Change-Id: Ib1e5732d2228a2bba846b3aeaa9e6db857cbce74
In upcoming patchsets I'll be introducing filenames that include
"keystone-" as part of the name. These filenames should not be checked
with flake8 because they do not contain Python code.
bp functional-testing
Change-Id: I8330f0dca0d6c1db601ddecd71c6c92cef260c99
This commit moves the unit tests that are in the test_utils.py module to
keystone/tests/unit/ directory. There was also a duplicate module that
tested keystone.common.utils so those tests were refactored so that they all
live in the same test module.
Change-Id: Ie1d84ae50faf25319099a224639ed27826b612ad
Due to an increasing number of incompatibilities between Keystone
dependencies and OS X (openssl, ldap, eventlet), this drops support for
Keystone development on OS X.
Change-Id: I3c8b3b165487e460a06b43dd44d701995fa3b655
Currently there is one case where the _ builtin is being used
instead of the translation function defined in keystone.i18n.
This will cause the messages to not support lazy translation.
This was not being checked by pep8 because the _ was specified
as a builtin in tox.ini's flake8 section.
This patch updates tox.ini to remove the builtin specification in
the flake 8 section to enable this check.
'from keystone.i18n import _' was added to the file that was
identified by the updated pep8 checking.
Change-Id: If30e394bde4b75fa1067e910a1e73a95e8e6c5dc
Keystone does not support Python 2.6 anymore starting with Kilo and
might not work correctly with it, so remove the classifier.
Change-Id: Iafe029d962e8ec6960efc6b61bdd2ac86ad980b7