Comment 1 for bug 1130929

Revision history for this message
Auston McReynolds (amcrn) wrote : Re: Command storage list is not working

```
$ trove-mgmt-cli storage list
Internal Server Error. Please keep this ID to help us figure out what went wrong: (fddc7a8f-fbf0-4d50-bbac-c743d86e7ac6) (HTTP 500)
OK
```

Log from API:

```
2013-06-28 02:47:17.489 1282 ERROR trove.common.wsgi [req-0185c824-c321-4716-984d-5183db0f1117 radmin 89f6c273df2142e8abf4fcd36df3cbdf] fddc7a8f-fbf0-4d50-bbac-c743d86e7ac6: 'Client' object has no attribute 'rdstorage'
2013-06-28 02:47:17.489 1282 TRACE trove.common.wsgi Traceback (most recent call last):
2013-06-28 02:47:17.489 1282 TRACE trove.common.wsgi File "/opt/stack/trove/trove/common/wsgi.py", line 323, in execute_action
2013-06-28 02:47:17.489 1282 TRACE trove.common.wsgi **action_args)
2013-06-28 02:47:17.489 1282 TRACE trove.common.wsgi File "/opt/stack/trove/trove/openstack/common/wsgi.py", line 395, in execute_action
2013-06-28 02:47:17.489 1282 TRACE trove.common.wsgi return self.dispatch(self.controller, action, request, **action_args)
2013-06-28 02:47:17.489 1282 TRACE trove.common.wsgi File "/opt/stack/trove/trove/openstack/common/wsgi.py", line 404, in dispatch
2013-06-28 02:47:17.489 1282 TRACE trove.common.wsgi return method(*args, **kwargs)
2013-06-28 02:47:17.489 1282 TRACE trove.common.wsgi File "/opt/stack/trove/trove/common/auth.py", line 87, in wrapper
2013-06-28 02:47:17.489 1282 TRACE trove.common.wsgi return f(*args, **kwargs)
2013-06-28 02:47:17.489 1282 TRACE trove.common.wsgi File "/opt/stack/trove/trove/extensions/mgmt/volume/service.py", line 40, in index
2013-06-28 02:47:17.489 1282 TRACE trove.common.wsgi storages = models.StorageDevices.load(context)
2013-06-28 02:47:17.489 1282 TRACE trove.common.wsgi File "/opt/stack/trove/trove/extensions/mgmt/volume/models.py", line 48, in load
2013-06-28 02:47:17.489 1282 TRACE trove.common.wsgi rdstorages = client.rdstorage.list()
2013-06-28 02:47:17.489 1282 TRACE trove.common.wsgi AttributeError: 'Client' object has no attribute 'rdstorage'
2013-06-28 02:47:17.489 1282 TRACE trove.common.wsgi
2013-06-28 02:47:17.490 1282 ERROR trove.common.wsgi [req-0185c824-c321-4716-984d-5183db0f1117 radmin 89f6c273df2142e8abf4fcd36df3cbdf] unserializable result detected! Exception type: <type 'exceptions.ValueError'> Message: Circular reference detected
2013-06-28 02:47:17.498 1282 INFO eventlet.wsgi [req-0185c824-c321-4716-984d-5183db0f1117 radmin 89f6c273df2142e8abf4fcd36df3cbdf] 10.9.243.180 - - [28/Jun/2013 02:47:17] "GET /v1.0/89f6c273df2142e8abf4fcd36df3cbdf/mgmt/storage HTTP/1.1" 500 310 0.016310

```
In looking at the code:

https://github.com/openstack/trove/blob/7ab80b554dde5f1f1e61b6a8c45492c5ac27ed6b/trove/extensions/mgmt/volume/models.py#L48

It becomes clear that nothing is setting the client.rdstorage attribute.

But if you grep (or GitHub) search trove + trove-integration + python-troveclient, nothing ever sets it. The only reference is in Tests, in which it used to mock api requests:

https://github.com/openstack/trove/blob/7ab80b554dde5f1f1e61b6a8c45492c5ac27ed6b/trove/tests/fakes/nova.py#L750

This problems exists for "quotas list", "hosts list", "storage list", etc.