Reviewed:  https://review.opendev.org/661480
Committed: 
https://git.openstack.org/cgit/openstack/nova/commit/?id=8179f36285b22159d739592ed33c4233767d6a54
Submitter: Zuul
Branch:    master

commit 8179f36285b22159d739592ed33c4233767d6a54
Author: Gary Kotton <[email protected]>
Date:   Sun May 26 04:37:47 2019 -0700

    Ensure that metadata proxy raises correct exception
    
    When nova has a configuration using metadata_proxy_shared_secret
    and neutron NSXv does not have the metadata_shared_secret we
    need to make sure that a valid exception is raised.
    
    Change-Id: I5d94a6f4d4f78ad821567164f6810d19ac5e3e67
    Closes-bug: #1830535


** Changed in: nova
       Status: In Progress => Fix Released

-- 
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/1830535

Title:
  Invalid neutron metadata proxy configuration leads to confusing nova
  exception

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  The exception below is received when nova has the following configuration:
  1. nova metadata proxy service has:
  [neutron]
  metadata_proxy_shared_secret = novarocks

  2. neutron nsx_v section does not have metadata_shared_secret defined
  (this means that the proxy does not inject the signature in the
  headers)

  Exception:
  {"log":"\n","stream":"stdout","time":"2019-05-23T05:23:07.140817119Z"}
  {"log":"2019-05-23 05:23:07.140 27 INFO nova.metadata.wsgi.server [-] 
172.165.0.171,151.168.64.0 \"GET /openstack/2013-10-17/meta_data.json 
HTTP/1.1\" status: 500 len: 139 time: 
0.0021250\n","stream":"stdout","time":"2019-05-23T05:23:07.140925898Z"}
  {"log":"2019-05-23 05:23:11.479 21 INFO nova.metadata.wsgi.server [-] 
151.168.64.0 \"GET / HTTP/1.0\" status: 200 len: 234 time: 
0.0003791\n","stream":"stdout","time":"2019-05-23T05:23:11.479529255Z"}
  {"log":"2019-05-23 05:23:17.148 23 INFO nova.metadata.wsgi.server [-] 
Traceback (most recent call 
last):\n","stream":"stdout","time":"2019-05-23T05:23:17.149314446Z"}
  {"log":" File \"/usr/lib/python2.7/site-packages/eventlet/wsgi.py\", line 
547, in 
handle_one_response\n","stream":"stdout","time":"2019-05-23T05:23:17.149350181Z"}
  {"log":" result = self.application(self.environ, 
start_response)\n","stream":"stdout","time":"2019-05-23T05:23:17.149354111Z"}
  {"log":" File \"/usr/lib/python2.7/site-packages/paste/urlmap.py\", line 216, 
in __call__\n","stream":"stdout","time":"2019-05-23T05:23:17.149356993Z"}
  {"log":" return app(environ, 
start_response)\n","stream":"stdout","time":"2019-05-23T05:23:17.149359848Z"}
  {"log":" File \"/usr/lib/python2.7/site-packages/webob/dec.py\", line 129, in 
__call__\n","stream":"stdout","time":"2019-05-23T05:23:17.149386987Z"}
  {"log":" resp = self.call_func(req, *args, 
**kw)\n","stream":"stdout","time":"2019-05-23T05:23:17.149390526Z"}
  {"log":" File \"/usr/lib/python2.7/site-packages/webob/dec.py\", line 193, in 
call_func\n","stream":"stdout","time":"2019-05-23T05:23:17.149393698Z"}
  {"log":" return self.func(req, *args, 
**kwargs)\n","stream":"stdout","time":"2019-05-23T05:23:17.149396416Z"}
  {"log":" File \"/usr/lib/python2.7/site-packages/oslo_middleware/base.py\", 
line 130, in 
__call__\n","stream":"stdout","time":"2019-05-23T05:23:17.149399029Z"}
  {"log":" response = 
req.get_response(self.application)\n","stream":"stdout","time":"2019-05-23T05:23:17.149401804Z"}
  {"log":" File \"/usr/lib/python2.7/site-packages/webob/request.py\", line 
1314, in send\n","stream":"stdout","time":"2019-05-23T05:23:17.149404384Z"}
  {"log":" application, 
catch_exc_info=False)\n","stream":"stdout","time":"2019-05-23T05:23:17.149407042Z"}
  {"log":" File \"/usr/lib/python2.7/site-packages/webob/request.py\", line 
1278, in 
call_application\n","stream":"stdout","time":"2019-05-23T05:23:17.149409578Z"}
  {"log":" app_iter = application(self.environ, 
start_response)\n","stream":"stdout","time":"2019-05-23T05:23:17.149412418Z"}
  {"log":" File \"/usr/lib/python2.7/site-packages/webob/dec.py\", line 129, in 
__call__\n","stream":"stdout","time":"2019-05-23T05:23:17.149415333Z"}
  {"log":" resp = self.call_func(req, *args, 
**kw)\n","stream":"stdout","time":"2019-05-23T05:23:17.149418371Z"}
  {"log":" File \"/usr/lib/python2.7/site-packages/webob/dec.py\", line 193, in 
call_func\n","stream":"stdout","time":"2019-05-23T05:23:17.149420897Z"}
  {"log":" return self.func(req, *args, 
**kwargs)\n","stream":"stdout","time":"2019-05-23T05:23:17.149423678Z"}
  {"log":" File 
\"/usr/lib/python2.7/site-packages/nova/api/metadata/handler.py\", line 108, in 
__call__\n","stream":"stdout","time":"2019-05-23T05:23:17.14942617Z"}
  {"log":" meta_data = 
self._handle_instance_id_request_from_lb(req)\n","stream":"stdout","time":"2019-05-23T05:23:17.149428942Z"}
  {"log":" File 
\"/usr/lib/python2.7/site-packages/nova/api/metadata/handler.py\", line 259, in 
_handle_instance_id_request_from_lb\n","stream":"stdout","time":"2019-05-23T05:23:17.149431537Z"}
  {"log":" 
instance_address)\n","stream":"stdout","time":"2019-05-23T05:23:17.149434403Z"}
  {"log":" File 
\"/usr/lib/python2.7/site-packages/nova/api/metadata/handler.py\", line 284, in 
_validate_shared_secret\n","stream":"stdout","time":"2019-05-23T05:23:17.149436904Z"}
  {"log":" if not secutils.constant_time_compare(expected_signature, 
signature):\n","stream":"stdout","time":"2019-05-23T05:23:17.14943964Z"}
  {"log":"TypeError: 'NoneType' does not have the buffer 
interface\n","stream":"stdout","time":"2019-05-23T05:23:17.149442368Z"}
  {"log":"\n","stream":"stdout","time":"2019-05-23T05:23:17.149444941Z"}

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to