When tacker server is started in the virtual environment, it failed to start as keystoneauth middleware is missing from the requirments.txt. so this bug is filed to fix it.
NOTE: tacker server is started successfully in the devstack environment.
Following Exception is thrown in tacker logs:
2016-06-13 10:43:00.567 INFO tacker.common.config [-] Config paste file: /etc/tacker/api-paste.ini
2016-06-13 10:43:00.676 ERROR tacker.common.config [-] Unable to load tacker from configuration file /etc/tacker/api-paste.ini.
2016-06-13 10:43:00.676 TRACE tacker.common.config Traceback (most recent call last):
2016-06-13 10:43:00.676 TRACE tacker.common.config File "/opt/stack/tacker/tacker/common/config.py", line 149, in load_paste_app
2016-06-13 10:43:00.676 TRACE tacker.common.config app = deploy.loadapp("config:%s" % config_path, name=app_name)
2016-06-13 10:43:00.676 TRACE tacker.common.config File "/opt/stack/tacker/.tox/py27/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
2016-06-13 10:43:00.676 TRACE tacker.common.config return loadobj(APP, uri, name=name, **kw)
2016-06-13 10:43:00.676 TRACE tacker.common.config File "/opt/stack/tacker/.tox/py27/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 272, in loadobj
2016-06-13 10:43:00.676 TRACE tacker.common.config return context.create()
2016-06-13 10:43:00.676 TRACE tacker.common.config File "/opt/stack/tacker/.tox/py27/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create
2016-06-13 10:43:00.676 TRACE tacker.common.config return self.object_type.invoke(self)
2016-06-13 10:43:00.676 TRACE tacker.common.config File "/opt/stack/tacker/.tox/py27/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 144, in invoke
2016-06-13 10:43:00.676 TRACE tacker.common.config **context.local_conf)
2016-06-13 10:43:00.676 TRACE tacker.common.config File "/opt/stack/tacker/.tox/py27/local/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call
2016-06-13 10:43:00.676 TRACE tacker.common.config val = callable(*args, **kw)
2016-06-13 10:43:00.676 TRACE tacker.common.config File "/opt/stack/tacker/.tox/py27/local/lib/python2.7/site-packages/paste/urlmap.py", line 31, in urlmap_factory
2016-06-13 10:43:00.676 TRACE tacker.common.config app = loader.get_app(app_name, global_conf=global_conf)
2016-06-13 10:43:00.676 TRACE tacker.common.config File "/opt/stack/tacker/.tox/py27/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 350, in get_app
2016-06-13 10:43:00.676 TRACE tacker.common.config name=name, global_conf=global_conf).create()
2016-06-13 10:43:00.676 TRACE tacker.common.config File "/opt/stack/tacker/.tox/py27/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create
2016-06-13 10:43:00.676 TRACE tacker.common.config return self.object_type.invoke(self)
2016-06-13 10:43:00.676 TRACE tacker.common.config File "/opt/stack/tacker/.tox/py27/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 144, in invoke
2016-06-13 10:43:00.676 TRACE tacker.common.config **context.local_conf)
2016-06-13 10:43:00.676 TRACE tacker.common.config File "/opt/stack/tacker/.tox/py27/local/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call
2016-06-13 10:43:00.676 TRACE tacker.common.config val = callable(*args, **kw)
2016-06-13 10:43:00.676 TRACE tacker.common.config File "/opt/stack/tacker/tacker/auth.py", line 70, in pipeline_factory
2016-06-13 10:43:00.676 TRACE tacker.common.config filters = [loader.get_filter(n) for n in pipeline[:-1]]
2016-06-13 10:43:00.676 TRACE tacker.common.config File "/opt/stack/tacker/.tox/py27/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 354, in get_filter
2016-06-13 10:43:00.676 TRACE tacker.common.config name=name, global_conf=global_conf).create()
2016-06-13 10:43:00.676 TRACE tacker.common.config File "/opt/stack/tacker/.tox/py27/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 366, in filter_context
2016-06-13 10:43:00.676 TRACE tacker.common.config FILTER, name=name, global_conf=global_conf)
2016-06-13 10:43:00.676 TRACE tacker.common.config File "/opt/stack/tacker/.tox/py27/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 458, in get_context
2016-06-13 10:43:00.676 TRACE tacker.common.config section)
2016-06-13 10:43:00.676 TRACE tacker.common.config File "/opt/stack/tacker/.tox/py27/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 517, in _context_from_explicit
2016-06-13 10:43:00.676 TRACE tacker.common.config value = import_string(found_expr)
2016-06-13 10:43:00.676 TRACE tacker.common.config File "/opt/stack/tacker/.tox/py27/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 22, in import_string
2016-06-13 10:43:00.676 TRACE tacker.common.config return pkg_resources.EntryPoint.parse("x=" + s).load(False)
2016-06-13 10:43:00.676 TRACE tacker.common.config File "/opt/stack/tacker/.tox/py27/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2229, in load
2016-06-13 10:43:00.676 TRACE tacker.common.config return self.resolve()
2016-06-13 10:43:00.676 TRACE tacker.common.config File "/opt/stack/tacker/.tox/py27/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2235, in resolve
2016-06-13 10:43:00.676 TRACE tacker.common.config module = __import__(self.module_name, fromlist=['__name__'], level=0)
2016-06-13 10:43:00.676 TRACE tacker.common.config ImportError: No module named keystonemiddleware.auth_token
Fix proposed to branch: master /review. openstack. org/328845
Review: https:/