Trove Mgmt List Commands Failing (Storage, Hosts, etc.)

Bug #1130929 reported by Steve Leon
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack DBaaS (Trove)
Invalid
Medium
Unassigned

Bug Description

The management command 'storage' raises an error when being used.

Storage list returns a 'Client' object has no attribute 'rdstorage' (HTTP 500) from the client.

In the reddwarf-api log, the following error is observed:

2013-02-20 13:55:15 61161 INFO reddwarf.extensions.mgmt.volume.service [-] Indexing storage info for tenant 'bf58af4d8d0947dc8607654d5926ed5a'
2013-02-20 13:55:15 61161 ERROR reddwarf.common.wsgi [-] 'Client' object has no attribute 'rdstorage'
2013-02-20 13:55:15 61161 TRACE reddwarf.common.wsgi Traceback (most recent call last):
2013-02-20 13:55:15 61161 TRACE reddwarf.common.wsgi File "/Users/steveleon/reddwarf/reddwarf/common/wsgi.py", line 244, in execute_action
2013-02-20 13:55:15 61161 TRACE reddwarf.common.wsgi **action_args)
2013-02-20 13:55:15 61161 TRACE reddwarf.common.wsgi File "/Users/steveleon/reddwarf/reddwarf/openstack/common/wsgi.py", line 328, in execute_action
2013-02-20 13:55:15 61161 TRACE reddwarf.common.wsgi return self.dispatch(self.controller, action, request, **action_args)
2013-02-20 13:55:15 61161 TRACE reddwarf.common.wsgi File "/Users/steveleon/reddwarf/reddwarf/openstack/common/wsgi.py", line 337, in dispatch
2013-02-20 13:55:15 61161 TRACE reddwarf.common.wsgi return method(*args, **kwargs)
2013-02-20 13:55:15 61161 TRACE reddwarf.common.wsgi File "/Users/steveleon/reddwarf/reddwarf/common/auth.py", line 87, in wrapper
2013-02-20 13:55:15 61161 TRACE reddwarf.common.wsgi return f(*args, **kwargs)
2013-02-20 13:55:15 61161 TRACE reddwarf.common.wsgi File "/Users/steveleon/reddwarf/reddwarf/extensions/mgmt/volume/service.py", line 40, in index
2013-02-20 13:55:15 61161 TRACE reddwarf.common.wsgi storages = models.StorageDevices.load(context)
2013-02-20 13:55:15 61161 TRACE reddwarf.common.wsgi File "/Users/steveleon/reddwarf/reddwarf/extensions/mgmt/volume/models.py", line 48, in load
2013-02-20 13:55:15 61161 TRACE reddwarf.common.wsgi rdstorages = client.rdstorage.list()
2013-02-20 13:55:15 61161 TRACE reddwarf.common.wsgi AttributeError: 'Client' object has no attribute 'rdstorage'
2013-02-20 13:55:15 61161 TRACE reddwarf.common.wsgi
2013-02-20 13:55:15 61161 ERROR reddwarf.common.wsgi [-] unserializable result detected! Exception type: <type 'exceptions.ValueError'> Message: Circular reference detected
2013-02-20 13:55:15 61161 INFO eventlet.wsgi [-] 127.0.0.1 - - [20/Feb/2013 13:55:15] "GET /v1.0/bf58af4d8d0947dc8607654d5926ed5a/mgmt/storage HTTP/1.1" 500 233 0.208879

Changed in trove:
assignee: nobody → Kevin Conway (kevinconway)
Changed in trove:
assignee: Kevin Conway (kevinconway) → nobody
Revision history for this message
Auston McReynolds (amcrn) wrote :

```
$ 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.

summary: - Command storage list is not working
+ Trove Mgmt List Commands Failing (Storage, Hosts, etc.)
Revision history for this message
Michael Basnight (hubcap) wrote :

rd* are rackspace specific mgmt apis. They need to push that functionality into nova before these calls will actually work.

Changed in trove:
importance: Undecided → Medium
status: New → Triaged
Revision history for this message
Nikhil Manchanda (slicknik) wrote :

The new trove client doesn't have these management commands, so this bug is Invalid. There will be a separate BP to add management commands for the trove client.

Changed in trove:
status: Triaged → Invalid
Revision history for this message
Dolph Mathews (dolph) wrote :

This was cited on the openstack-dev list as an ongoing issue:

  https://<email address hidden>/msg50787.html

Changed in trove:
status: Invalid → New
Revision history for this message
Amrith Kumar (amrith) wrote :

For the reasons Nikhil mentioned in #3 above, this is Invalid.

Changed in trove:
status: New → Invalid
ZhuQiang (firetaker)
information type: Public → Public Security
Revision history for this message
Tristan Cacqueray (tristan-cacqueray) wrote :

Removing security tag based on above comments.

information type: Public Security → Public
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.