← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1711767] [NEW] TypeError in _call_() function while trying to bring NOVA-API

 

Public bug reported:

I have Nova (15.0.4-1e17)

When i try to bring up my nova-api on my controller, i am getting this
error:

2017-08-18 16:35:40.236 15107 CRITICAL nova [req-
28985cc3-c33b-4538-aa55-cedd9ab05c70 - - - - -] TypeError: __call__()
takes exactly 3 arguments (2 given); got (<paste.d...cd0>,
{'__file...va'}, keystone=..., noauth2=...), wanted (loader,
global_conf, **local_conf)


I wanted to paste my api-paste.ini here but wanted to keep my initial post concise so decided not to. if you need a specific section of that file let me know. 
 

This is what I have done so far:
1. Installed nova per instructions on openstack website.
yum install -y openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler

2. Edited /etc/nova/nova.conf file per my local environment.
One line that i added under [keystone_authtoken] section while troubleshooting was:
service_token_roles_required = true

3. In my api-paste.ini file my request_log was set as follows. 
[filter:request_log]
paste.filter_factory = nova.api.openstack.requestlog:RequestLog.factory

But i got errors while trying to load the requestlog module. First it was not able to locate the module and when i tried to give it the path, it was complaing about factory attribute, so my final settings look like this
[filter:request_log]
paste.filter_factory = nova.api.openstack.placement.requestlog:RequestLog

4. Start openstack-nova-api (by setting the log level to debug), the
/var/log/nova/nova-api.log gives me the following error before it exits:


2017-08-18 16:35:40.236 15107 CRITICAL nova [req-28985cc3-c33b-4538-aa55-cedd9ab05c70 - - - - -] TypeError: __call__() takes exactly 3 arguments (2 given); got (<paste.d...cd0>, {'__file...va'}, keystone=..., noauth2=...), wanted (loader, global_conf, **local_conf)
2017-08-18 16:35:40.236 15107 ERROR nova Traceback (most recent call last):
2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/bin/nova-api", line 10, in <module>
2017-08-18 16:35:40.236 15107 ERROR nova     sys.exit(main())
2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/nova/cmd/api.py", line 59, in main
2017-08-18 16:35:40.236 15107 ERROR nova     server = service.WSGIService(api, use_ssl=should_use_ssl)
2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/nova/service.py", line 311, in __init__
2017-08-18 16:35:40.236 15107 ERROR nova     self.app = self.loader.load_app(name)
2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/nova/wsgi.py", line 497, in load_app
2017-08-18 16:35:40.236 15107 ERROR nova     return deploy.loadapp("config:%s" % self.config_path, name=name)
2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
2017-08-18 16:35:40.236 15107 ERROR nova     return loadobj(APP, uri, name=name, **kw)
2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 272, in loadobj
2017-08-18 16:35:40.236 15107 ERROR nova     return context.create()
2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create
2017-08-18 16:35:40.236 15107 ERROR nova     return self.object_type.invoke(self)
2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 144, in invoke
2017-08-18 16:35:40.236 15107 ERROR nova     **context.local_conf)
2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/util.py", line 58, in fix_call
2017-08-18 16:35:40.236 15107 ERROR nova     reraise(*exc_info)
2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/compat.py", line 23, in reraise
2017-08-18 16:35:40.236 15107 ERROR nova     exec('raise t, e, tb', dict(t=t, e=e, tb=tb))
2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call
2017-08-18 16:35:40.236 15107 ERROR nova     val = callable(*args, **kw)
2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/nova/api/openstack/urlmap.py", line 160, in urlmap_factory
2017-08-18 16:35:40.236 15107 ERROR nova     app = loader.get_app(app_name, global_conf=global_conf)
2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 350, in get_app
2017-08-18 16:35:40.236 15107 ERROR nova     name=name, global_conf=global_conf).create()
2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create
2017-08-18 16:35:40.236 15107 ERROR nova     return self.object_type.invoke(self)
2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 144, in invoke
2017-08-18 16:35:40.236 15107 ERROR nova     **context.local_conf)
2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/util.py", line 58, in fix_call
2017-08-18 16:35:40.236 15107 ERROR nova     reraise(*exc_info)
2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/compat.py", line 23, in reraise
2017-08-18 16:35:40.236 15107 ERROR nova     exec('raise t, e, tb', dict(t=t, e=e, tb=tb))
2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call
2017-08-18 16:35:40.236 15107 ERROR nova     val = callable(*args, **kw)
2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/nova/api/auth.py", line 57, in pipeline_factory_v21
2017-08-18 16:35:40.236 15107 ERROR nova     return _load_pipeline(loader, local_conf[CONF.api.auth_strategy].split())
2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/nova/api/auth.py", line 41, in _load_pipeline
2017-08-18 16:35:40.236 15107 ERROR nova     app = filter(app)
2017-08-18 16:35:40.236 15107 ERROR nova TypeError: __call__() takes exactly 3 arguments (2 given); got (<paste.d...cd0>, {'__file...va'}, keystone=..., noauth2=...), wanted (loader, global_conf, **local_conf)

** Affects: nova
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1711767

Title:
  TypeError in _call_() function while trying to bring NOVA-API

Status in OpenStack Compute (nova):
  New

Bug description:
  I have Nova (15.0.4-1e17)

  When i try to bring up my nova-api on my controller, i am getting this
  error:

  2017-08-18 16:35:40.236 15107 CRITICAL nova [req-
  28985cc3-c33b-4538-aa55-cedd9ab05c70 - - - - -] TypeError: __call__()
  takes exactly 3 arguments (2 given); got (<paste.d...cd0>,
  {'__file...va'}, keystone=..., noauth2=...), wanted (loader,
  global_conf, **local_conf)

  
  I wanted to paste my api-paste.ini here but wanted to keep my initial post concise so decided not to. if you need a specific section of that file let me know. 
   

  This is what I have done so far:
  1. Installed nova per instructions on openstack website.
  yum install -y openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler

  2. Edited /etc/nova/nova.conf file per my local environment.
  One line that i added under [keystone_authtoken] section while troubleshooting was:
  service_token_roles_required = true

  3. In my api-paste.ini file my request_log was set as follows. 
  [filter:request_log]
  paste.filter_factory = nova.api.openstack.requestlog:RequestLog.factory

  But i got errors while trying to load the requestlog module. First it was not able to locate the module and when i tried to give it the path, it was complaing about factory attribute, so my final settings look like this
  [filter:request_log]
  paste.filter_factory = nova.api.openstack.placement.requestlog:RequestLog

  4. Start openstack-nova-api (by setting the log level to debug), the
  /var/log/nova/nova-api.log gives me the following error before it
  exits:

  
  2017-08-18 16:35:40.236 15107 CRITICAL nova [req-28985cc3-c33b-4538-aa55-cedd9ab05c70 - - - - -] TypeError: __call__() takes exactly 3 arguments (2 given); got (<paste.d...cd0>, {'__file...va'}, keystone=..., noauth2=...), wanted (loader, global_conf, **local_conf)
  2017-08-18 16:35:40.236 15107 ERROR nova Traceback (most recent call last):
  2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/bin/nova-api", line 10, in <module>
  2017-08-18 16:35:40.236 15107 ERROR nova     sys.exit(main())
  2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/nova/cmd/api.py", line 59, in main
  2017-08-18 16:35:40.236 15107 ERROR nova     server = service.WSGIService(api, use_ssl=should_use_ssl)
  2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/nova/service.py", line 311, in __init__
  2017-08-18 16:35:40.236 15107 ERROR nova     self.app = self.loader.load_app(name)
  2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/nova/wsgi.py", line 497, in load_app
  2017-08-18 16:35:40.236 15107 ERROR nova     return deploy.loadapp("config:%s" % self.config_path, name=name)
  2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
  2017-08-18 16:35:40.236 15107 ERROR nova     return loadobj(APP, uri, name=name, **kw)
  2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 272, in loadobj
  2017-08-18 16:35:40.236 15107 ERROR nova     return context.create()
  2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create
  2017-08-18 16:35:40.236 15107 ERROR nova     return self.object_type.invoke(self)
  2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 144, in invoke
  2017-08-18 16:35:40.236 15107 ERROR nova     **context.local_conf)
  2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/util.py", line 58, in fix_call
  2017-08-18 16:35:40.236 15107 ERROR nova     reraise(*exc_info)
  2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/compat.py", line 23, in reraise
  2017-08-18 16:35:40.236 15107 ERROR nova     exec('raise t, e, tb', dict(t=t, e=e, tb=tb))
  2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call
  2017-08-18 16:35:40.236 15107 ERROR nova     val = callable(*args, **kw)
  2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/nova/api/openstack/urlmap.py", line 160, in urlmap_factory
  2017-08-18 16:35:40.236 15107 ERROR nova     app = loader.get_app(app_name, global_conf=global_conf)
  2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 350, in get_app
  2017-08-18 16:35:40.236 15107 ERROR nova     name=name, global_conf=global_conf).create()
  2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create
  2017-08-18 16:35:40.236 15107 ERROR nova     return self.object_type.invoke(self)
  2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 144, in invoke
  2017-08-18 16:35:40.236 15107 ERROR nova     **context.local_conf)
  2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/util.py", line 58, in fix_call
  2017-08-18 16:35:40.236 15107 ERROR nova     reraise(*exc_info)
  2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/compat.py", line 23, in reraise
  2017-08-18 16:35:40.236 15107 ERROR nova     exec('raise t, e, tb', dict(t=t, e=e, tb=tb))
  2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call
  2017-08-18 16:35:40.236 15107 ERROR nova     val = callable(*args, **kw)
  2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/nova/api/auth.py", line 57, in pipeline_factory_v21
  2017-08-18 16:35:40.236 15107 ERROR nova     return _load_pipeline(loader, local_conf[CONF.api.auth_strategy].split())
  2017-08-18 16:35:40.236 15107 ERROR nova   File "/usr/lib/python2.7/site-packages/nova/api/auth.py", line 41, in _load_pipeline
  2017-08-18 16:35:40.236 15107 ERROR nova     app = filter(app)
  2017-08-18 16:35:40.236 15107 ERROR nova TypeError: __call__() takes exactly 3 arguments (2 given); got (<paste.d...cd0>, {'__file...va'}, keystone=..., noauth2=...), wanted (loader, global_conf, **local_conf)

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1711767/+subscriptions


Follow ups