Activity log for bug #1356051

Date Who What changed Old value New value Message
2014-08-12 20:50:42 Thang Pham bug added bug
2014-08-13 17:48:18 OpenStack Infra nova: status New In Progress
2014-08-13 20:07:07 Thang Pham description I tried the following on VMware using the VMwareVCDriver with nova-network: 1. Create an instance 2. Create and associate a floating IP with the instance It failed and printed out the following messages in n-api logs: 2014-08-12 13:54:29.578 ERROR nova.api.openstack [req-86d8f466-cfae-42ac-8340-9eac36d6fc71 demo demo] Caught error: Cannot load 'instance' in the base class 2014-08-12 13:54:29.578 TRACE nova.api.openstack Traceback (most recent call last): 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/__init__.py", line 124, in __call__ 2014-08-12 13:54:29.578 TRACE nova.api.openstack return req.get_response(self.application) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1320, in send 2014-08-12 13:54:29.578 TRACE nova.api.openstack application, catch_exc_info=False) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1284, in call_application 2014-08-12 13:54:29.578 TRACE nova.api.openstack app_iter = application(self.environ, start_response) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2014-08-12 13:54:29.578 TRACE nova.api.openstack return resp(environ, start_response) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/keystonemiddleware/auth_token.py", line 565, in __call__ 2014-08-12 13:54:29.578 TRACE nova.api.openstack return self._app(env, start_response) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2014-08-12 13:54:29.578 TRACE nova.api.openstack return resp(environ, start_response) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2014-08-12 13:54:29.578 TRACE nova.api.openstack return resp(environ, start_response) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__ 2014-08-12 13:54:29.578 TRACE nova.api.openstack response = self.app(environ, start_response) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2014-08-12 13:54:29.578 TRACE nova.api.openstack return resp(environ, start_response) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ 2014-08-12 13:54:29.578 TRACE nova.api.openstack resp = self.call_func(req, *args, **self.kwargs) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func 2014-08-12 13:54:29.578 TRACE nova.api.openstack return self.func(req, *args, **kwargs) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 908, in __call__ 2014-08-12 13:54:29.578 TRACE nova.api.openstack content_type, body, accept) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 974, in _process_stack 2014-08-12 13:54:29.578 TRACE nova.api.openstack action_result = self.dispatch(meth, request, action_args) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 1058, in dispatch 2014-08-12 13:54:29.578 TRACE nova.api.openstack return method(req=request, **action_args) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/compute/contrib/floating_ips.py", line 146, in index 2014-08-12 13:54:29.578 TRACE nova.api.openstack self._normalize_ip(floating_ip) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/compute/contrib/floating_ips.py", line 117, in _normalize_ip 2014-08-12 13:54:29.578 TRACE nova.api.openstack floating_ip['instance'] = fixed_ip['instance'] 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/opt/stack/nova/nova/objects/base.py", line 447, in __getitem__ 2014-08-12 13:54:29.578 TRACE nova.api.openstack return getattr(self, name) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/opt/stack/nova/nova/objects/base.py", line 67, in getter 2014-08-12 13:54:29.578 TRACE nova.api.openstack self.obj_load_attr(name) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/opt/stack/nova/nova/objects/base.py", line 375, in obj_load_attr 2014-08-12 13:54:29.578 TRACE nova.api.openstack _("Cannot load '%s' in the base class") % attrname) 2014-08-12 13:54:29.578 TRACE nova.api.openstack NotImplementedError: Cannot load 'instance' in the base class 2014-08-12 13:54:29.579 INFO nova.api.openstack [req-86d8f466-cfae-42ac-8340-9eac36d6fc71 demo demo] http://10.131.179.211:8774/v2/875c3f62ef75400487e4a68679f8e239/os-floating-ips returned with HTTP 500 2014-08-12 13:54:29.580 DEBUG nova.api.openstack.wsgi [req-86d8f466-cfae-42ac-8340-9eac36d6fc71 demo demo] Returning 500 to user: The server has either erred or is incapable of performing the requested operation. from (pid=12246) __call__ /opt/stack/nova/nova/api/openstack/wsgi.py:1200 With the switch to using FloatingIP objects, it is not longer necessary to call _normalize_ip in nova/api/openstack/compute/contrib/floating_ips.py. The updated code in nova/network/floating_ips.py and nova/api/openstack/compute/contrib/floating_ips.py has logic to get the instance associated with the floating IP, i.e. get_instance_by_floating_ip_addr. I tried the following on VMware using the VMwareVCDriver with nova-network: 1. Create an instance 2. Create a floating IP: $ nova floating-ip-create 3. Associate a floating IP with the instance: $ nova floating-ip-associate test1 10.131.254.249 4. Attempt a list of the floating IPs: $ nova floating-ip-list ERROR (ClientException): The server has either erred or is incapable of performing the requested operation. (HTTP 500) (Request-ID: req-dcb17077-c670-4e2a-8a34-715a8afc5f33) It failed and printed out the following messages in n-api logs: 2014-08-12 13:54:29.578 ERROR nova.api.openstack [req-86d8f466-cfae-42ac-8340-9eac36d6fc71 demo demo] Caught error: Cannot load 'instance' in the base class 2014-08-12 13:54:29.578 TRACE nova.api.openstack Traceback (most recent call last): 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/__init__.py", line 124, in __call__ 2014-08-12 13:54:29.578 TRACE nova.api.openstack return req.get_response(self.application) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1320, in send 2014-08-12 13:54:29.578 TRACE nova.api.openstack application, catch_exc_info=False) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1284, in call_application 2014-08-12 13:54:29.578 TRACE nova.api.openstack app_iter = application(self.environ, start_response) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2014-08-12 13:54:29.578 TRACE nova.api.openstack return resp(environ, start_response) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/keystonemiddleware/auth_token.py", line 565, in __call__ 2014-08-12 13:54:29.578 TRACE nova.api.openstack return self._app(env, start_response) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2014-08-12 13:54:29.578 TRACE nova.api.openstack return resp(environ, start_response) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2014-08-12 13:54:29.578 TRACE nova.api.openstack return resp(environ, start_response) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__ 2014-08-12 13:54:29.578 TRACE nova.api.openstack response = self.app(environ, start_response) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2014-08-12 13:54:29.578 TRACE nova.api.openstack return resp(environ, start_response) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ 2014-08-12 13:54:29.578 TRACE nova.api.openstack resp = self.call_func(req, *args, **self.kwargs) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func 2014-08-12 13:54:29.578 TRACE nova.api.openstack return self.func(req, *args, **kwargs) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 908, in __call__ 2014-08-12 13:54:29.578 TRACE nova.api.openstack content_type, body, accept) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 974, in _process_stack 2014-08-12 13:54:29.578 TRACE nova.api.openstack action_result = self.dispatch(meth, request, action_args) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 1058, in dispatch 2014-08-12 13:54:29.578 TRACE nova.api.openstack return method(req=request, **action_args) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/compute/contrib/floating_ips.py", line 146, in index 2014-08-12 13:54:29.578 TRACE nova.api.openstack self._normalize_ip(floating_ip) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/compute/contrib/floating_ips.py", line 117, in _normalize_ip 2014-08-12 13:54:29.578 TRACE nova.api.openstack floating_ip['instance'] = fixed_ip['instance'] 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/opt/stack/nova/nova/objects/base.py", line 447, in __getitem__ 2014-08-12 13:54:29.578 TRACE nova.api.openstack return getattr(self, name) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/opt/stack/nova/nova/objects/base.py", line 67, in getter 2014-08-12 13:54:29.578 TRACE nova.api.openstack self.obj_load_attr(name) 2014-08-12 13:54:29.578 TRACE nova.api.openstack File "/opt/stack/nova/nova/objects/base.py", line 375, in obj_load_attr 2014-08-12 13:54:29.578 TRACE nova.api.openstack _("Cannot load '%s' in the base class") % attrname) 2014-08-12 13:54:29.578 TRACE nova.api.openstack NotImplementedError: Cannot load 'instance' in the base class 2014-08-12 13:54:29.579 INFO nova.api.openstack [req-86d8f466-cfae-42ac-8340-9eac36d6fc71 demo demo] http://10.131.179.211:8774/v2/875c3f62ef75400487e4a68679f8e239/os-floating-ips returned with HTTP 500 2014-08-12 13:54:29.580 DEBUG nova.api.openstack.wsgi [req-86d8f466-cfae-42ac-8340-9eac36d6fc71 demo demo] Returning 500 to user: The server has either erred or is incapable of performing the requested operation. from (pid=12246) __call__ /opt/stack/nova/nova/api/openstack/wsgi.py:1200
2014-08-13 21:47:42 Davanum Srinivas (DIMS) summary Cannot load 'instance' in the base class Cannot load 'instance' in the base class - problem in floating-ip-list
2014-08-16 14:23:44 Thang Pham nova: importance Undecided High
2014-08-21 00:56:19 Ramy Asselin bug added subscriber Ramy Asselin
2014-08-27 08:59:41 OpenStack Infra nova: status In Progress Fix Committed
2014-08-30 00:42:34 Gloria Gu bug task added horizon
2014-08-30 00:48:07 Gloria Gu bug task deleted horizon
2014-09-05 09:49:46 Thierry Carrez nova: status Fix Committed Fix Released
2014-09-05 09:49:46 Thierry Carrez nova: milestone juno-3
2014-10-16 08:46:52 Thierry Carrez nova: milestone juno-3 2014.2