2017-03-09 18:38:48 |
Chuck Short |
description |
With neutron=2:9.1.1-0ubuntu1 installed on Xenial with Newton UCA I get:
# neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head
Traceback (most recent call last):
File "/usr/bin/neutron-db-manage", line 10, in <module>
sys.exit(main())
File "/usr/lib/python2.7/dist-packages/neutron/db/migration/cli.py", line 686, in main
return_val |= bool(CONF.command.func(config, CONF.command.name))
File "/usr/lib/python2.7/dist-packages/neutron/db/migration/cli.py", line 205, in do_upgrade
run_sanity_checks(config, revision)
File "/usr/lib/python2.7/dist-packages/neutron/db/migration/cli.py", line 670, in run_sanity_checks
script_dir.run_env()
File "/usr/lib/python2.7/dist-packages/alembic/script/base.py", line 407, in run_env
util.load_python_file(self.dir, 'env.py')
File "/usr/lib/python2.7/dist-packages/alembic/util/pyfiles.py", line 93, in load_python_file
module = load_module_py(module_id, path)
File "/usr/lib/python2.7/dist-packages/alembic/util/compat.py", line 79, in load_module_py
mod = imp.load_source(module_id, path, fp)
File "/usr/lib/python2.7/dist-packages/neutron/db/migration/alembic_migrations/env.py", line 24, in <module>
from neutron.db.migration.models import head # noqa
File "/usr/lib/python2.7/dist-packages/neutron/db/migration/models/head.py", line 29, in <module>
from neutron.db import agents_db # noqa
File "/usr/lib/python2.7/dist-packages/neutron/db/agents_db.py", line 42, in <module>
from neutron.extensions import agent as ext_agent
File "/usr/lib/python2.7/dist-packages/neutron/extensions/agent.py", line 25, in <module>
from neutron.api.v2 import base
File "/usr/lib/python2.7/dist-packages/neutron/api/v2/base.py", line 38, in <module>
from neutron import quota
File "/usr/lib/python2.7/dist-packages/neutron/quota/__init__.py", line 30, in <module>
from neutron.db.quota import api as quota_api
File "/usr/lib/python2.7/dist-packages/neutron/db/quota/api.py", line 130, in <module>
def set_quota_usage_dirty(context, resource, tenant_id, dirty=True):
File "/usr/lib/python2.7/dist-packages/neutron/db/api.py", line 144, in decorator
ctx_arg_index = p_util.getargspec(f).args.index(context_var_name)
File "/usr/lib/python2.7/dist-packages/pecan/util.py", line 44, in getargspec
reverse=True
File "/usr/lib/python2.7/dist-packages/pecan/util.py", line 43, in <lambda>
key=lambda c: 'self' in c.cell_contents.__code__.co_varnames,
AttributeError: '_TransactionContextManager' object has no attribute '__code__'
This is with python-pecan = 1.0.2-2ubuntu1 installed from Xenial. Updating to python-pecan 1.1.2-0ubuntu1~cloud0 from UCA solves the issue. |
[Impact]
When installing neutron from the Newton UCA the following traceback occurs:
def set_quota_usage_dirty(context, resource, tenant_id, dirty=True):
File "/usr/lib/python2.7/dist-packages/neutron/db/api.py", line 144, in decorator
ctx_arg_index = p_util.getargspec(f).args.index(context_var_name)
File "/usr/lib/python2.7/dist-packages/pecan/util.py", line 44, in getargspec
reverse=True
File "/usr/lib/python2.7/dist-packages/pecan/util.py", line 43, in <lambda>
key=lambda c: 'self' in c.cell_contents.__code__.co_varnames,
AttributeError: '_TransactionContextManager' object has no attribute '__code__'
This is due to a older version of python-pecan being required for neutron to install properly.
[Test Case]
Install neutron with a newer version of pecan and see if the traceback still occurs.
[Regression potential]
None since newer versions of neutron will have the same issue. When newer pecan versions are installed. |
|