Unimplemented Operations for Datastores Spraying Stacktrace to Users
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack DBaaS (Trove) |
Fix Released
|
High
|
Andrew Bramley |
Bug Description
In a datastore's manager, it's common to see this type of logic:
def list_users(self, context, limit=None, marker=None, include_
raise exception.
to indicate that the operation in question is not supported for that particular datastore.
the problem is that the following is returned to the user:
$ trove user-list 64c8f37d-
ERROR: An error occurred communicating with the guest: Remote error: TroveError Not supported [u'Traceback (most recent call last):\n', u' File "/home/
please test your next attempt before pushing the patch-set.
The stracktrace should not be shown (for multiple reasons, an important one being user experience), and the message can be more helpful than "Not supported".
Fix should result in something like:
$ trove user-list 64c8f37d-
ERROR: This operation is not supported for this datastore at this time
Changed in trove: | |
milestone: | none → icehouse-3 |
Changed in trove: | |
importance: | Undecided → High |
Changed in trove: | |
assignee: | nobody → Andrew Bramley (andrlw) |
Changed in trove: | |
status: | New → In Progress |
Changed in trove: | |
milestone: | icehouse-3 → icehouse-rc1 |
Changed in trove: | |
status: | Fix Committed → Fix Released |
Changed in trove: | |
milestone: | icehouse-rc1 → 2014.1 |
I suggest the error should be:
ERROR: The "user-list" operation is not supported for the redis datastore at this time (/home/ stack/trove/ trove/openstack /common/ rpc/amqp. py:440) .