nova cell-show <cell name> causes ValueError: Circular reference detected
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
I am using devstack development environment with n-cell enabled in localrc.
When I call API to list all cells a cell with name "child" is explored.
Again when I try to "cell-show" this cell "child" call is failed with an error response 500.
following is the operations followed -
Setting in /etc/nova/nova.conf
[cells]
name = region
cell_type = api
enable = True
When API call to get cells -
REQUEST -
curl -i 'http://
RESPONSE -
HTTP/1.1 200 OK
Date: Thu, 24 Apr 2014 04:12:34 GMT
{"cells": [{"username": "guest", "rpc_host": "10.0.9.40", "type": "child", "name": "child", "rpc_port": 5672}]}
During particular cell show (using cell name as "child")-
REQUEST -
curl -i 'http://
RESPONSE -
HTTP/1.1 500 Internal Server Error
Date: Thu, 24 Apr 2014 04:10:33 GMT
Note: when using cell name as "api" or "region" 404 is returned.
nova-api logs during show call is traced as below -
2014-04-24 11:15:20.219 DEBUG keystoneclient.
2014-04-24 11:15:20.220 DEBUG keystoneclient.
2014-04-24 11:15:20.232 DEBUG keystoneclient.
2014-04-24 11:15:20.233 DEBUG keystoneclient.
2014-04-24 11:15:20.238 DEBUG routes.middleware [req-3ddd31fe-
2014-04-24 11:15:20.239 DEBUG routes.middleware [req-3ddd31fe-
2014-04-24 11:15:20.239 DEBUG routes.middleware [req-3ddd31fe-
2014-04-24 11:15:20.240 DEBUG nova.api.
2014-04-24 11:15:20.253 ERROR nova.api.openstack [req-3ddd31fe-
Traceback (most recent call last):
File "/usr/local/
File "/usr/local/
File "/usr/local/
File "/usr/local/
File "/usr/local/
return json.dumps(value, default=default, **kwargs)
File "/usr/lib/
File "/usr/lib/
chunks = self.iterencode(o, _one_shot=True)
File "/usr/lib/
return _iterencode(o, 0)
ValueError: Circular reference detected
2014-04-24 11:15:20.253 TRACE nova.api.openstack Traceback (most recent call last):
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/opt/stack/
2014-04-24 11:15:20.253 TRACE nova.api.openstack return req.get_
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/usr/local/
2014-04-24 11:15:20.253 TRACE nova.api.openstack application, catch_exc_
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/usr/local/
2014-04-24 11:15:20.253 TRACE nova.api.openstack app_iter = application(
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/usr/local/
2014-04-24 11:15:20.253 TRACE nova.api.openstack return resp(environ, start_response)
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/opt/stack/
2014-04-24 11:15:20.253 TRACE nova.api.openstack return self.app(env, start_response)
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/usr/local/
2014-04-24 11:15:20.253 TRACE nova.api.openstack return resp(environ, start_response)
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/usr/local/
2014-04-24 11:15:20.253 TRACE nova.api.openstack return resp(environ, start_response)
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/usr/lib/
2014-04-24 11:15:20.253 TRACE nova.api.openstack response = self.app(environ, start_response)
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/usr/local/
2014-04-24 11:15:20.253 TRACE nova.api.openstack return resp(environ, start_response)
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/usr/local/
2014-04-24 11:15:20.253 TRACE nova.api.openstack resp = self.call_func(req, *args, **self.kwargs)
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/usr/local/
2014-04-24 11:15:20.253 TRACE nova.api.openstack return self.func(req, *args, **kwargs)
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/opt/stack/
2014-04-24 11:15:20.253 TRACE nova.api.openstack content_type, body, accept)
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/opt/stack/
2014-04-24 11:15:20.253 TRACE nova.api.openstack action_result = self.dispatch(meth, request, action_args)
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/opt/stack/
2014-04-24 11:15:20.253 TRACE nova.api.openstack return method(req=request, **action_args)
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/opt/stack/
2014-04-24 11:15:20.253 TRACE nova.api.openstack return function(*args, **kwargs)
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/opt/stack/
2014-04-24 11:15:20.253 TRACE nova.api.openstack cell = self.cells_
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/opt/stack/
2014-04-24 11:15:20.253 TRACE nova.api.openstack return cctxt.call(ctxt, 'cell_get', cell_name=
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/usr/local/
2014-04-24 11:15:20.253 TRACE nova.api.openstack wait_for_
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/usr/local/
2014-04-24 11:15:20.253 TRACE nova.api.openstack timeout=timeout)
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/usr/local/
2014-04-24 11:15:20.253 TRACE nova.api.openstack return self._send(target, ctxt, message, wait_for_reply, timeout)
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/usr/local/
2014-04-24 11:15:20.253 TRACE nova.api.openstack raise result
2014-04-24 11:15:20.253 TRACE nova.api.openstack ValueError: Circular reference detected
2014-04-24 11:15:20.253 TRACE nova.api.openstack Traceback (most recent call last):
2014-04-24 11:15:20.253 TRACE nova.api.openstack
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/usr/local/
2014-04-24 11:15:20.253 TRACE nova.api.openstack incoming.message))
2014-04-24 11:15:20.253 TRACE nova.api.openstack
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/usr/local/
2014-04-24 11:15:20.253 TRACE nova.api.openstack self._send_
2014-04-24 11:15:20.253 TRACE nova.api.openstack
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/usr/local/
2014-04-24 11:15:20.253 TRACE nova.api.openstack conn.direct_
2014-04-24 11:15:20.253 TRACE nova.api.openstack
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/usr/local/
2014-04-24 11:15:20.253 TRACE nova.api.openstack _MESSAGE_KEY: jsonutils.
2014-04-24 11:15:20.253 TRACE nova.api.openstack
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/usr/local/
2014-04-24 11:15:20.253 TRACE nova.api.openstack return json.dumps(value, default=default, **kwargs)
2014-04-24 11:15:20.253 TRACE nova.api.openstack
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/usr/lib/
2014-04-24 11:15:20.253 TRACE nova.api.openstack **kw).encode(obj)
2014-04-24 11:15:20.253 TRACE nova.api.openstack
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/usr/lib/
2014-04-24 11:15:20.253 TRACE nova.api.openstack chunks = self.iterencode(o, _one_shot=True)
2014-04-24 11:15:20.253 TRACE nova.api.openstack
2014-04-24 11:15:20.253 TRACE nova.api.openstack File "/usr/lib/
2014-04-24 11:15:20.253 TRACE nova.api.openstack return _iterencode(o, 0)
2014-04-24 11:15:20.253 TRACE nova.api.openstack
2014-04-24 11:15:20.253 TRACE nova.api.openstack ValueError: Circular reference detected
2014-04-24 11:15:20.253 TRACE nova.api.openstack
2014-04-24 11:15:20.253 TRACE nova.api.openstack
2014-04-24 11:15:20.259 INFO nova.api.openstack [req-3ddd31fe-
2014-04-24 11:15:20.259 DEBUG nova.api.
2014-04-24 11:15:20.260 INFO nova.osapi_
tags: | added: cells |
tags: |
added: cell compute removed: cells |
tags: |
added: cells removed: cell |
Changed in nova: | |
assignee: | nobody → Pawel Koniszewski (pawel-koniszewski) |
summary: |
- nova cell-show <cell name> fails in devstack development environment + nova cell-show <cell name> causes ValueError: Circular reference + detected |
Changed in nova: | |
importance: | Undecided → Low |
Changed in nova: | |
status: | In Progress → Confirmed |
Changed in nova: | |
assignee: | Pawel Koniszewski (pawel-koniszewski) → nobody |
Changed in nova: | |
status: | New → Confirmed |
Fix proposed to branch: master /review. openstack. org/106991
Review: https:/