Fix compatibility with latest oslo.config

With recent versions of oslo.config the tests have started to fail
because the multistring opt used for specifying input subunit file paths
was getting an implicit required. However it's not a required field just
positional. This commit fixes this issue by explicitly setting it to not
be requried and setting a default value of None for it. I'm not sure when
an implicit required was added in oslo.config, but this should fix it
regardless of which oslo.config version is used.

Fixing other gate failure also for pythin 2.7 & 3.8 compatibility.

- with mysql 8.0 there is no implicit user creation with GRANT. we
need to create user first.

- hacking version used is too old which pull old pyflakes (< 2.1.0) not
compatible with py3.8. Bumping hacking version to 2.0.0 which solve the
pyflakes version conflict with new pip resolver but skipping all the
new checks of 2.0.0. We can fix those later once gate is green.

- for openstack-tox-py27 we need to cap stestr with <3.0.0 so that it can pull
stestr py2 compatible version.

- move dec requirements seprate from test-requirements otherwise it conflist with
other deps.

Story: 2008348
Task: 41250

Change-Id: I219755d98d9f8b5a284c0e858b60f852b948c8d4
This commit is contained in:
Matthew Treinish 2020-11-30 17:14:13 -05:00 committed by Ghanshyam Mann
parent 99f83fda87
commit fca99f945c
5 changed files with 19 additions and 11 deletions

4
doc/requirements.txt Normal file
View File

@ -0,0 +1,4 @@
openstackdocstheme>=1.11.0 # Apache-2.0
reno>=0.1.1 # Apache2
sphinx!=1.6.6,!=1.6.7,<2.0.0;python_version=='2.7' # BSD
sphinx!=1.6.6,!=1.6.7,!=2.1.0;python_version>='3.4' # BSD

View File

@ -31,7 +31,8 @@ CONF = cfg.CONF
CONF.import_opt('verbose', 'subunit2sql.db.api')
SHELL_OPTS = [
cfg.MultiStrOpt('subunit_files', positional=True,
cfg.MultiStrOpt('subunit_files', positional=True, required=False,
default=None,
help='list of subunit files to put into the database'),
cfg.DictOpt('run_meta', short='r', default=None,
help='Dict of metadata about the run(s)'),

View File

@ -1,18 +1,14 @@
hacking>=0.12.0,!=0.13.0,<0.14
hacking>=2.0.0,<2.1.0
coverage>=3.6
fixtures>=0.3.14
mock>=1.0
sphinx!=1.6.6,!=1.6.7,<2.0.0;python_version=='2.7' # BSD
sphinx!=1.6.6,!=1.6.7,!=2.1.0;python_version>='3.4' # BSD
testscenarios>=0.4
stestr>=1.0.0
stestr<3.0.0;python_version=='2.7' # BSD
stestr>=1.0.0;python_version>='3.4' # BSD
testtools>=0.9.34
PyMySql
psycopg2
oslo.concurrency>=3.5.0
# releasenotes
reno>=0.1.1 # Apache2
openstackdocstheme>=1.11.0 # Apache-2.0
# This is needed for oslo.db test code to be imported, it's not
# directly installed by oslo.db
testresources>=0.2.4 # Apache-2.0/BSD

View File

@ -23,8 +23,8 @@ sudo -H mysqladmin -u root password $DB_ROOT_PW
sudo -H mysql -u root -p$DB_ROOT_PW -h localhost -e "
DELETE FROM mysql.user WHERE User='';
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON *.*
TO '$DB_USER'@'%' identified by '$DB_PW' WITH GRANT OPTION;"
CREATE USER '$DB_USER'@'%' IDENTIFIED BY '$DB_PW';
GRANT ALL PRIVILEGES ON *.* TO '$DB_USER'@'%' WITH GRANT OPTION;"
# Now create our database.
mysql -u $DB_USER -p$DB_PW -h 127.0.0.1 -e "

View File

@ -41,6 +41,8 @@ commands = {posargs}
[testenv:docs]
basepython = python3
deps =
-r{toxinidir}/doc/requirements.txt
commands = python setup.py build_sphinx
@ -50,7 +52,10 @@ commands = python setup.py build_sphinx
# E129 skipped because it is too limiting when combined with other rules
# H305 skipped because it is inconsistent between python versions
# E711 skipped because sqlalchemy filter() requires using == instead of is
ignore = E125,E123,E129,H305,E711
# TODO (gmann): we have to bump the hacking version to 2.0.0 to fix the gate which is
# failing for new pip resolver. That is why F601,E402,W605,W504,E305,E117 are
# skipped temporary.
ignore = E125,E123,E129,H305,E711,F601,E402,W605,W504,E305,E117
exclude = .venv,.git,.tox,dist,doc,*egg,build,releasenotes
[testenv:generate_samples]
@ -62,6 +67,8 @@ commands =
[testenv:releasenotes]
basepython = python3
deps =
-r{toxinidir}/doc/requirements.txt
commands = sphinx-build -a -E -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[testenv:bindep]