[Openstack] [Trove] Unable to list databases and other api calls in Ubuntu 14.04 packaged install
Mark Kirkwood
mark.kirkwood at catalyst.net.nz
Fri May 23 02:54:51 UTC 2014
Hi,
I've been trying to get Trove working using the packages in Ubuntu 14.04.
While I've had some success (I can create a mysql instance that gets to
ACTIVE), I am stuck on an issue that makes all the subsequent API calls
fail:
$ trove create db0 2 --size 2 --databases db --users user:pass
$ trove list
+--------------------------------------+------+--------+-----------+------+
| id | name | status | flavor_id | size |
+--------------------------------------+------+--------+-----------+------+
| 5d5f1a47-973d-4e11-8937-73b971a94688 | db1 | ACTIVE | 2 | 2 |
+--------------------------------------+------+--------+-----------+------+
$ trove database-list 5d5f1a47-973d-4e11-8937-73b971a94688
ERROR: The resource could not be found.
This seems to be due to missing routes:
2014-05-23 14:34:08.386 1376 DEBUG routes.middleware [-] No route
matched for GET
/51f1e3dd3c1d4124ae26cdcd85030eb5/instances/5d5f1a47-973d-4e11-8937-73b971a94688/databases
__call__ /usr/lib/python2.7/dist-packages/routes/middleware.py:97
2014-05-23 14:34:08.386 1376 DEBUG routes.middleware [-] No route
matched for GET
/51f1e3dd3c1d4124ae26cdcd85030eb5/instances/5d5f1a47-973d-4e11-8937-73b971a94688/databases
__call__ /usr/lib/python2.7/dist-packages/routes/middleware.py:97
2014-05-23 14:34:08.389 1376 INFO eventlet.wsgi
[req-6ff08fd3-90e6-4893-aaab-e645f6b82407
3a0eb39ed587491aba95b5ca15e167be 51f1e3dd3c1d4124ae26cdcd85030eb5 - - -]
192.168.122.33 - - [23/May/2014 14:34:08] "GET
/v1.0/51f1e3dd3c1d4124ae26cdcd85030eb5/instances/5d5f1a47-973d-4e11-8937-73b971a94688/databases
HTTP/1.1" 404 208 0.052359
I have an equivalent-ish devstack system configured the same (but
slightly later openstack version), and that works fine viz:
$ trove database-list f164a72e-e627-427e-b962-f12b795499c0
2014-05-23 14:28:59.331 DEBUG routes.middleware [-] Matched GET
/c081f35aa9d94dda8dc4f2686f855b37/instances/f164a72e-e627-427e-b962-f12b795499c0/databases
from (pid=21402) __call__
/usr/lib/python2.7/dist-packages/routes/middleware.py:100
2014-05-23 14:28:59.332 DEBUG routes.middleware [-] Route path:
'/{tenant_id}/instances/:instance_id/databases', defaults: {'action':
u'index', 'controller': <trove.common.wsgi.Resource object at
0x4515190>} from (pid=21402) __call__
/usr/lib/python2.7/dist-packages/routes/middleware.py:102
2014-05-23 14:28:59.332 DEBUG routes.middleware [-] Match dict:
{'instance_id': u'f164a72e-e627-427e-b962-f12b795499c0', 'tenant_id':
u'c081f35aa9d94dda8dc4f2686f855b37', 'controller':
<trove.common.wsgi.Resource object at 0x4515190>, 'action': u'index'}
from (pid=21402) __call__
/usr/lib/python2.7/dist-packages/routes/middleware.py:103
I've attached the config files from the 14.04 trove install - any
thoughts welcome!
Regards
Mark
-------------- next part --------------
[composite:trove]
use = call:trove.common.wsgi:versioned_urlmap
/: versions
/v1.0: troveapi
[app:versions]
paste.app_factory = trove.versions:app_factory
[pipeline:troveapi]
pipeline = faultwrapper authtoken authorization contextwrapper ratelimit extensions troveapp
#pipeline = debug extensions troveapp
[filter:extensions]
paste.filter_factory = trove.common.extensions:factory
[filter:authtoken]
signing_dir = /var/cache/trove
admin_password = password
admin_user = trove
admin_tenant_name = service
admin_token = ADMIN
paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
auth_host = 192.168.122.33
auth_port = 35357
auth_protocol = http
[filter:authorization]
paste.filter_factory = trove.common.auth:AuthorizationMiddleware.factory
[filter:contextwrapper]
paste.filter_factory = trove.common.wsgi:ContextMiddleware.factory
[filter:faultwrapper]
paste.filter_factory = trove.common.wsgi:FaultWrapper.factory
[filter:ratelimit]
paste.filter_factory = trove.common.limits:RateLimitingMiddleware.factory
[app:troveapp]
paste.app_factory = trove.common.api:app_factory
#Add this filter to log request and response for debugging
[filter:debug]
paste.filter_factory = trove.common.wsgi:Debug
-------------- next part --------------
[DEFAULT]
use_syslog = False
debug = True
default_datastore = mysql
log_dir = /var/log/trove
#trove_auth_url = http://192.168.122.33:5000/v2.0
nova_compute_url = http://192.168.122.33:8774/v2
cinder_url = http://192.168.122.33:8776/v1
swift_url = http://192.168.122.33:8080/v1/AUTH_
sql_connection = mysql://trove:password@192.168.122.33/trove
#notifier_queue_hostname = 192.168.122.33
add_addresses = True
#network_label_regex = ^NETWORK_LABEL$
-------------- next part --------------
[DEFAULT]
use_syslog = False
debug = True
control_exchange = trove
trove_auth_url = http://192.168.122.33:5000/v2.0
#nova_compute_url = http://192.168.122.33:8774/v2
#cinder_url = http://192.168.122.33:8776/v1
#swift_url = http://192.168.122.33:8080/v1/AUTH_
nova_proxy_admin_user = admin
nova_proxy_admin_tenant_name = service
nova_proxy_admin_pass = ADMIN
sql_connection = mysql://trove:password@192.168.122.33/trove
#notifier_queue_hostname = 192.168.122.33
-------------- next part --------------
[DEFAULT]
log_dir = /var/log/trove
use_syslog = False
debug = True
taskmanager_manager = trove.taskmanager.manager.Manager
trove_auth_url = http://192.168.122.33:5000/v2.0
nova_compute_url = http://192.168.122.33:8774/v2
cinder_url = http://192.168.122.33:8776/v1
swift_url = http://192.168.122.33:8080/v1/AUTH_
sql_connection = mysql://trove:password@192.168.122.33/trove
#notifier_queue_hostname = 192.168.122.33
nova_proxy_admin_user = admin
nova_proxy_admin_tenant_name = service
nova_proxy_admin_pass = ADMIN
More information about the Openstack
mailing list