tacker/lower-constraints.txt
Manpreet Kaur e0c09499a6 Fix migration for SQLAlchemy 1.4
This patch fixes a database migration for SQLAlchemy 1.4.

In tacker repository following issues are encounter:

1. Replace deprecated SQLAlchemy "with_lockmode" method.
   The method was deprecated in SQLAlchemy 0.9 [1][2]
   and finally removed in version 1.4.
   This patch replaces "with_lockmode" with new method
   "with_for_update", which has no end-user impact.

2. The clause column IN, in the new version it requires parameters
   passed to operator either be a list of literal value
   or a tuple, or an empty list [3].

3. Observe an argument error in 'update' query.
   Error: sqlalchemy.exc.ArgumentError: subject table for an INSERT,
   UPDATE or DELETE expected, got Column('id', Uuid(length=36),
   table=<vnf_software_images>, primary_key=True, nullable=False,
   default=ColumnDefault(<function generate_uuid at 0x7fb5be371d30>))

4. The INSERT statement requires values to add in table as a list,
   tuple or dictionary [4].
   Error: sqlalchemy.exc.ArgumentError: mapping or sequence expected
          for parameters
   This patch creates a dictionary of fields to be insert in
   VnfLcmOpOccs table.

5. Query fails on applying filters.
   When applying query to list vnf package or vnf instance using
   apply_filters() method exported from sqlalchemy_filters,
   it failed.
   AttributeError: 'Query' object has no attribute '_join_entities'

   In SQLAlchemy 1.4 unification of "query" and "select" construct
   took place [5][6].
   The issue observe in tacker is an open bug of SQLAlchemy [7].
   This patch drops "sqlalchemy_filters" and add customize method
   to apply filters in query.

Note: This patch address sqlalchemy errors, SAWarnings will be resolve
in future patches.

[1] https://docs.sqlalchemy.org/en/13/changelog/migration_09.html?highlight=with_lockmode#new-for-update-support-on-select-query
[2] https://docs.sqlalchemy.org/en/13/orm/query.html#sqlalchemy.orm.query.Query.with_lockmode
[3] https://docs.sqlalchemy.org/en/14/core/sqlelement.html#sqlalchemy.sql.expression.ColumnElement.in_
[4] https://docs.sqlalchemy.org/en/14/core/dml.html#dml-class-documentation-constructors
[5] https://github.com/sqlalchemy/sqlalchemy/issues/5159
[6] https://gerrit.sqlalchemy.org/c/sqlalchemy/sqlalchemy/+/1599/
[7] https://github.com/juliotrigo/sqlalchemy-filters/issues/61

Co-Authored-By: Ayumu Ueha <ueha.ayumu@fujitsu.com>

Change-Id: Ifd1ae2753c639f22fc1afa020222416fe79469ef
2021-07-10 06:50:43 +05:30

164 lines
3.2 KiB
Plaintext

alabaster==0.7.10
alembic==0.9.6
amqp==2.4.0
anyjson==0.3.3
appdirs==1.4.3
asn1crypto==0.24.0
bcrypt==3.1.4
beautifulsoup4==4.6.0
cachetools==2.0.1
castellan==0.16.0
certifi==2018.1.18
cffi==1.14.0
chardet==3.0.4
cliff==2.11.0
cmd2==0.8.2
contextlib2==0.5.5
coverage==4.0
cryptography==2.7
ddt===1.0.1
debtcollector==1.19.0
decorator==4.4.1
deprecation==2.0
doc8==0.8.1
docutils==0.14
dogpile.cache==0.6.5
dulwich==0.19.0
enum-compat==0.0.2
eventlet==0.18.2
extras==1.0.0
fasteners==0.14.1
fixtures==3.0.0
future==0.16.0
futurist==2.1.0
glance-store==2.4.0
google-auth==1.4.1
greenlet==0.4.15
idna==2.6
imagesize==1.0.0
ipaddress==1.0.19
iso8601==0.1.12
Jinja2==2.10
jmespath==0.9.3
jsonpatch==1.21
jsonpointer==2.0
jsonschema==3.2.0
keystoneauth1==3.18.0
keystonemiddleware==4.17.0
kombu==4.3.0
kubernetes==11.0.0
linecache2==1.0.0
Mako==1.0.7
MarkupSafe==1.1
monotonic==1.4
mox3==0.25.0
msgpack==0.5.6
munch==2.2.0
netaddr==0.7.18
netifaces==0.10.6
oauthlib==2.0.7
openstacksdk==0.44.0
os-api-ref==1.5.0
os-client-config==1.29.0
os-service-types==1.7.0
osc-lib==1.10.0
oslo.cache==1.29.0
oslo.concurrency==3.26.0
oslo.config==6.8.0
oslo.context==2.22.0
oslo.db==5.0.0
oslo.i18n==3.20.0
oslo.log==3.36.0
oslo.messaging==9.3.0
oslo.middleware==3.31.0
oslo.policy==3.6.0
oslo.reports==1.18.0
oslo.rootwrap==5.8.0
oslo.serialization==2.18.0
oslo.service==1.24.0
oslo.upgradecheck==1.3.0
oslo.utils==4.5.0
oslo.versionedobjects==1.33.3
oslotest==3.2.0
packaging==20.4
paramiko==2.7.1
Paste==2.0.2
PasteDeploy==1.5.0
pbr==2.0.0
pkg-resources==0.0.0
prettytable==0.7.2
psutil==5.4.3
pyasn1-modules==0.2.1
pyasn1==0.4.2
pycadf==2.7.0
pycparser==2.18
Pygments==2.2.0
pyinotify==0.9.6
PyMySQL==0.10.1
PyNaCl==1.2.1
pyOpenSSL==17.5.0
pyparsing==2.2.0
pyperclip==1.6.0
pyroute2==0.4.21
python-barbicanclient==4.5.2
python-blazarclient==1.0.1
python-dateutil==2.7.2
python-editor==1.0.3
python-glanceclient==2.9.1
python-heatclient==1.10.0
python-keystoneclient==3.8.0
python-mimeparse==1.6.0
python-mistralclient==4.2.0
python-neutronclient==6.7.0
python-novaclient==9.1.0
python-subunit==1.0.0
python-swiftclient==3.5.0
python-tackerclient==0.8.0
python-cinderclient==3.3.0
pytz==2018.3
PyYAML==5.1
repoze.lru==0.7
requests-oauthlib==0.8.0
requests==2.20.0
requests-mock==1.2.0
requestsexceptions==1.4.0
restructuredtext-lint==1.1.3
rfc3986==1.2.0
Routes==2.3.1
rsa==3.4.2
setuptools==21.0.0
simplejson==3.13.2
snowballstemmer==1.2.1
sqlalchemy-migrate==0.11.0
SQLAlchemy==1.3.11
sqlparse==0.2.4
statsd==3.2.2
stestr==2.0.0
stevedore==1.20.0
tempest==22.0.0
Tempita==0.5.2
tenacity==4.12.0
testresources==2.0.1
testscenarios==0.5.0
testtools==2.2.0
tooz==1.58.0
traceback2==1.4.0
unittest2==1.1.0
urllib3==1.24.2
vine==1.1.4
voluptuous==0.11.1
waitress==1.1.0
warlock==1.3.3
WebOb==1.7.1
websocket-client==0.47.0
WebTest==2.0.27
wrapt==1.10.11
# TODO(yasufum) Remove following comments after those two packages have devstack script.
# NOTE(yasufum) We don't install tosca-parser and heat-translator of stable,
# but the latest revision from git repo for development.
# If you install packages, comment out two lines of `install_package_gitrepo` in
# `devstack/plugin.sh` in addition to activate following lines.
heat-translator==2.3.0 # Apache-2.0
tosca-parser==2.3.0 # Apache-2.0