Comment 0 for bug 1964737

Revision history for this message
Brin Zhang (zhangbailin) wrote : When authorize() with tenat report an error

https://review.opendev.org/c/openstack/cyborg/+/831908
https://review.opendev.org/c/openstack/cyborg/+/831908
https://review.opendev.org/c/openstack/cyborg/+/777340

Above patches have reported the same error when using 'tenant' from context, and the tenant parameter should be replaced with proect_id/user_id.

One log as below: https://7e8031ae78b4e3d0b4bb-18cd7f889ae1379763e7ec0a1ec70a8d.ssl.cf1.rackcdn.com/777340/3/gate/openstack-tox-py36/ae874ef/testr_results.html
ft1.2: cyborg.tests.unit.api.controllers.v2.test_arqs.TestARQsController.test_createtesttools.testresult.real._StringException: Traceback (most recent call last):
  File "/usr/lib/python3.6/unittest/mock.py", line 1183, in patched
    return func(*args, **keywargs)
  File "/home/zuul/src/opendev.org/openstack/cyborg/cyborg/tests/unit/api/controllers/v2/test_arqs.py", line 194, in test_create
    response = self.post_json(self.ARQ_URL, params, headers=self.headers)
  File "/home/zuul/src/opendev.org/openstack/cyborg/cyborg/tests/unit/api/base.py", line 114, in post_json
    status=status, method="post")
  File "/home/zuul/src/opendev.org/openstack/cyborg/cyborg/tests/unit/api/base.py", line 93, in _request_json
    expect_errors=expect_errors
  File "/home/zuul/src/opendev.org/openstack/cyborg/.tox/py36/lib/python3.6/site-packages/webtest/utils.py", line 34, in wrapper
    return self._gen_request(method, url, **kw)
  File "/home/zuul/src/opendev.org/openstack/cyborg/.tox/py36/lib/python3.6/site-packages/webtest/app.py", line 750, in _gen_request
    expect_errors=expect_errors)
  File "/home/zuul/src/opendev.org/openstack/cyborg/.tox/py36/lib/python3.6/site-packages/webtest/app.py", line 620, in do_request
    res = req.get_response(app, catch_exc_info=True)
  File "/home/zuul/src/opendev.org/openstack/cyborg/.tox/py36/lib/python3.6/site-packages/webob/request.py", line 1310, in send
    application, catch_exc_info=True)
  File "/home/zuul/src/opendev.org/openstack/cyborg/.tox/py36/lib/python3.6/site-packages/webob/request.py", line 1278, in call_application
    app_iter = application(self.environ, start_response)
  File "/home/zuul/src/opendev.org/openstack/cyborg/.tox/py36/lib/python3.6/site-packages/webtest/lint.py", line 196, in lint_app
    iterator = application(environ, start_response_wrapper)
  File "/home/zuul/src/opendev.org/openstack/cyborg/.tox/py36/lib/python3.6/site-packages/pecan/middleware/recursive.py", line 56, in __call__
    return self.application(environ, start_response)
  File "/home/zuul/src/opendev.org/openstack/cyborg/cyborg/api/middleware/parsable_error.py", line 58, in __call__
    app_iter = self.app(environ, replacement_start_response)
  File "/home/zuul/src/opendev.org/openstack/cyborg/.tox/py36/lib/python3.6/site-packages/pecan/core.py", line 852, in __call__
    return super(Pecan, self).__call__(environ, start_response)
  File "/home/zuul/src/opendev.org/openstack/cyborg/.tox/py36/lib/python3.6/site-packages/pecan/core.py", line 693, in __call__
    self.invoke_controller(controller, args, kwargs, state)
  File "/home/zuul/src/opendev.org/openstack/cyborg/.tox/py36/lib/python3.6/site-packages/pecan/core.py", line 584, in invoke_controller
    result = controller(*args, **kwargs)
  File "/home/zuul/src/opendev.org/openstack/cyborg/cyborg/common/authorize_wsgi.py", line 195, in handle
    target = {'project_id': context.tenant,
AttributeError: 'RequestContext' object has no attribute 'tenant'