Update requirements and upper-constraints.txt

In addition, this commit includes soome fixes to make migrations work
with sqlalchemy 1.4.0

Change-Id: I933d3ffdbb48f6393d0d0665ad83ff166824250d
This commit is contained in:
Andrey Kurilin 2023-05-19 23:48:19 +02:00
parent e65935a938
commit b08ea0e937
9 changed files with 100 additions and 80 deletions

View File

@ -20,6 +20,8 @@ Changelog
[unreleased]
------------
This is the last release with support of Python 3.6 and Python 3.7
Fixed
~~~~~

View File

@ -41,9 +41,8 @@ task_helper = sa.Table(
sa.MetaData(),
sa.Column("id", sa.Integer, primary_key=True, autoincrement=True),
sa.Column("uuid", sa.String(36), nullable=False),
sa.Column("status", sa.Enum(*list(consts.TaskStatus),
name="enum_tasks_status"),
default=consts.TaskStatus.INIT, nullable=False),
sa.Column("status", sa.String(36), default=consts.TaskStatus.INIT,
nullable=False),
sa.Column("verification_log", sa.Text, default=""),
sa.Column("tag", sa.String(64), default=""),
sa.Column("deployment_uuid", sa.String(36), nullable=False)

View File

@ -30,7 +30,6 @@ import uuid
from alembic import op
import sqlalchemy as sa
from sqlalchemy.engine import reflection
from rally.common.db import sa_types
from rally import exceptions
@ -127,7 +126,7 @@ verifications_helper = sa.Table(
def upgrade():
connection = op.get_bind()
inspector = reflection.Inspector.from_engine(connection)
inspector = sa.inspect(connection)
if "deployments" not in inspector.get_table_names():
# 7287df262dbc did not fail. nothing to do
return

View File

@ -22,7 +22,6 @@ Create Date: 2018-02-22 21:02:41.822469
from alembic import op
import sqlalchemy as sa
from sqlalchemy.engine import reflection
from rally.common.db import sa_types
from rally import exceptions
@ -44,7 +43,7 @@ deployments_helper = sa.Table(
def upgrade():
connection = op.get_bind()
inspector = reflection.Inspector.from_engine(connection)
inspector = sa.inspect(connection)
if "deployments" not in inspector.get_table_names():
# 7287df262dbc did not fail. nothing to do
return

View File

@ -33,6 +33,7 @@ class TimeStamp(sa_types.TypeDecorator):
impl = sa_types.BigInteger
_coefficient = 1000000.0
cache_ok = True
def process_bind_param(self, value, dialect):
if value is None:
@ -57,6 +58,8 @@ class LongText(sa_types.TypeDecorator):
LONGTEXT that allows us to store 4GiB.
"""
cache_ok = True
def load_dialect_impl(self, dialect):
if dialect.name == "mysql":
return dialect.type_descriptor(mysql_types.LONGTEXT)
@ -68,6 +71,7 @@ class JSONEncodedDict(LongText):
"""Represents an immutable structure as a json-encoded string."""
impl = sa_types.Text
cache_ok = True
def process_bind_param(self, value, dialect):
if value is not None:
@ -75,7 +79,7 @@ class JSONEncodedDict(LongText):
return value
def process_result_value(self, value, dialect):
if value is not None:
if value:
value = json.loads(
value, object_pairs_hook=collections.OrderedDict)
return value
@ -84,6 +88,8 @@ class JSONEncodedDict(LongText):
class JSONEncodedList(JSONEncodedDict):
"""Represents an immutable structure as a json-encoded string."""
cache_ok = True
def process_result_value(self, value, dialect):
if value is not None:
value = json.loads(value)
@ -153,10 +159,12 @@ class MutableList(mutable.Mutable, list):
class MutableJSONEncodedList(JSONEncodedList):
"""Represent a mutable structure as a json-encoded string."""
cache_ok = True
class MutableJSONEncodedDict(JSONEncodedDict):
"""Represent a mutable structure as a json-encoded string."""
cache_ok = True
MutableDict.associate_with(MutableJSONEncodedDict)

View File

@ -11,10 +11,10 @@ oslo.config!=4.3.0,!=4.4.0 # Apache Software License
# do not forget to remove `testresources` from test-requirements. it is a
# dependency of oslo.db for tests
oslo.db # Apache Software License
oslo.log!=3.44.2,!=4.1.2,!=4.2.0 # Apache Software License
paramiko # LGPL
oslo.log!=3.44.2,!=4.1.2,!=4.2.0,!=5.0.1,!=5.0.2,!=5.1.0 # Apache Software License
paramiko!=2.9.0,!=2.9.1 # LGPL
pbr!=2.1.0 # Apache Software License
PrettyTable # BSD (3 clause)
PrettyTable!=3.4.0 # BSD (3 clause)
pyOpenSSL # Apache License, Version 2.0
PyYAML # MIT
python-subunit # Apache-2.0 or BSD

View File

@ -6,7 +6,7 @@ hacking>=3.0 # Apache Software License
pytest # MIT
# py.test plugin for measuring coverage.
pytest-cov>=2.2.1 # MIT
pytest-cov # MIT
# py.test plugin for generating HTML reports
pytest-html # Mozilla Public License 2.0 (MPL 2.0)
# py.test xdist plugin for distributed testing and loop-on-failing modes
@ -17,5 +17,5 @@ testtools # MIT
testresources # UNKNOWN
docutils # public domain, Python, 2-Clause BSD, GPL 3 (see COPYING.txt)
Pygments # BSD
docutils<0.18 # public domain, Python, 2-Clause BSD, GPL 3 (see COPYING.txt)
Pygments # BSD-2-Clause

View File

@ -4,7 +4,7 @@
- name: Get list of packages to install from bindep
command: "bindep -b -f {{ zuul.project.src_dir }}/bindep.txt"
register: bindep_output
ignore_errors: True
failed_when: bindep_output.rc != 0 and bindep_output.rc != 1
- name: Install distro packages from bindep
package:

View File

@ -1,71 +1,84 @@
alembic===1.6.5
appdirs===1.4.4
argparse===1.4.0
attrs===21.2.0
bcrypt===3.2.0
certifi===2021.5.30
cffi===1.14.5
chardet===4.0.0
cryptography===3.4.7
debtcollector===2.2.0
decorator===4.4.2
distlib===0.3.2
alembic===1.6.5;python_version < '3.7'
alembic===1.9.4;python_version >= '3.7'
attrs===21.2.0;python_version < '3.7'
attrs===23.1.0;python_version >= '3.7'
bcrypt===4.0.1
certifi===2023.5.7
cffi===1.15.1
charset-normalizer===3.1.0
cryptography===3.4.7;python_version < '3.7'
cryptography===40.0.2;python_version >= '3.7'
debtcollector===2.5.0
distlib===0.3.6
extras===1.0.0
filelock===3.0.12
fixtures===3.0.0
greenlet===1.1.0
idna===2.10
importlib-metadata===4.5.0
importlib-resources===5.1.4
iso8601===0.1.14
Jinja2===3.0.1
jsonschema===3.2.0
linecache2===1.0.0
Mako===1.1.4
MarkupSafe===2.0.1
msgpack===1.0.2
filelock===3.0.12;python_version < '3.7'
filelock===3.12.0;python_version >= '3.7'
fixtures===4.0.1
idna===2.10;python_version < '3.7'
idna===3.4;python_version >= '3.7'
iso8601===1.1.0
Jinja2===3.0.1;python_version < '3.7'
Jinja2===3.1.2;python_version >= '3.7'
jsonschema===3.2.0;python_version < '3.7'
jsonschema===4.17.3;python_version >= '3.7'
Mako===1.1.4;python_version < '3.7'
Mako===1.2.4;python_version >= '3.7'
MarkupSafe===2.0.1;python_version < '3.7'
MarkupSafe===2.1.2;python_version >= '3.7'
msgpack===1.0.5
netaddr===0.8.0
netifaces===0.11.0
oslo.config===8.7.0
oslo.context===3.3.0
oslo.db===9.0.0
oslo.i18n===5.0.1
oslo.log===4.5.0
oslo.serialization===4.1.0
oslo.utils===4.9.0
packaging===20.9
paramiko===2.7.2
pbr===5.6.0
pip===21.0.1
prettytable===0.7.2
pycparser===2.20
pyinotify===0.9.6
PyNaCl===1.4.0
pyOpenSSL===20.0.1
pyparsing===2.4.7
pyrsistent===0.17.3
python-dateutil===2.8.1
python-editor===1.0.4
python-mimeparse===1.6.0
python-subunit===1.4.0
pytz===2021.1
PyYAML===5.4.1
requests===2.25.1
rfc3986===1.5.0
setuptools===57.0.0
oslo.config===8.7.0;python_version < '3.8'
oslo.context===3.3.0;python_version < '3.8'
oslo.db===9.0.0;python_version < '3.8'
oslo.i18n===5.0.1;python_version < '3.8'
oslo.log===4.5.0;python_version < '3.8'
oslo.serialization===4.1.0;python_version < '3.8'
oslo.utils===4.9.0;python_version < '3.8'
oslo.config===9.1.1;python_version >= '3.8'
oslo.context===5.1.1;python_version >= '3.8'
oslo.db===12.3.1;python_version >= '3.8'
oslo.i18n===6.0.0;python_version >= '3.8'
oslo.log===5.2.0;python_version >= '3.8'
oslo.serialization===5.1.1;python_version >= '3.8'
oslo.utils===6.1.0;python_version >= '3.8'
packaging===20.9;python_version < '3.7'
packaging===23.1;python_version >= '3.7'
paramiko===2.7.2;python_version < '3.7'
paramiko===3.1.0;python_version >= '3.7'
pbr===5.11.1
pip===23.0.1
platformdirs===3.2.0
prettytable===0.7.2;python_version < '3.7'
prettytable===3.7.0;python_version >= '3.7'
pycparser===2.21
PyNaCl===1.5.0
pyOpenSSL===20.0.1;python_version < '3.7'
pyOpenSSL===23.1.1;python_version >= '3.7'
pyparsing===3.0.9
pyrsistent===0.17.3;python_version < '3.7'
pyrsistent===0.19.3;python_version >= '3.7'
python-dateutil===2.8.2
python-subunit===1.4.2
pytz===2023.3
PyYAML===6.0
requests===2.25.1;python_version < '3.7'
requests===2.28.2;python_version >= '3.7'
rfc3986===1.5.0;python_version < '3.7'
rfc3986===2.0.0;python_version >= '3.7'
setuptools===57.0.0;python_version < '3.7'
setuptools===67.6.1;python_version >= '3.7'
six===1.16.0
SQLAlchemy===1.3.23
sqlparse===0.4.1
stevedore===3.3.0
Tempita===0.5.2
SQLAlchemy===1.4.41
stevedore===3.3.0;python_version < '3.8'
stevedore===5.0.0;python_version >= '3.8'
testresources===2.0.1
testscenarios===0.5.0
testtools===2.5.0
traceback2===1.4.0
typing-extensions===3.10.0.0
unittest2===1.1.0
urllib3===1.26.5
virtualenv===20.4.7
wheel===0.36.2
wrapt===1.12.1
zipp===3.4.1
testtools===2.6.0
typing-extensions===4.5.0
urllib3===1.26.15
virtualenv===20.4.7;python_version < '3.7'
virtualenv===20.22.0;python_version >= '3.7'
wcwidth===0.2.6
wheel===0.40.0
wrapt===1.15.0