Hey Miguel, I just tried to reproduce what you got but couldn't. Have you pulled down code recently? I believe new code hit on Friday that probably fixed the issue you encountered.
Let me know. Thanks, Brandon On Sun, 2014-07-27 at 19:24 -0500, Miguel Lavalle wrote: > Hi, > > > I spent a few hours deploying LBaaS V2 to my devstack instance and > tested it with the Tempest api test developed a couple of week ago > during the Neutron code sprint. This is a list of the findings so far: > > > 1) POST operations on loadbalancers, healthmonitors and listeners work > fine > > > 2) POST operations on pools don't work. The api throws a 500 with the > following message: "NeutronError": "Request Failed: internal server > error while processing your request.". The error can be reproduced > with the following operation: > > > POST /lbaas/pools > {"pool": {"name": "miguelito", "protocol": "HTTP", "lb_algorithm": > "ROUND_ROBIN", "healthmonitor_id": > "98311c52-9ba5-4d1c-beb7-a8200edf3c40"}} > > The Neutron server log shows the following error: > > 2014-07-26 21:26:03.050 25731 DEBUG routes.middleware > [req-cc23dc5b-7679-407b-a02e-bde6536ecc0b ] Matched POST /lbaas/pools > __call__ /usr/local/lib/python2.7/dist-packages/routes/middleware.py:100 > 2014-07-26 21:26:03.050 25731 DEBUG routes.middleware > [req-cc23dc5b-7679-407b-a02e-bde6536ecc0b ] Route path: > '/lbaas/pools', defaults: {'action': u'create', 'controller': <wsgify > at 139916894481360 wrapping <function resource at 0x7f40f0d158c0>>} > __call__ /usr/local/lib/python2.7/dist-packages/routes/middleware.py:102 > 2014-07-26 21:26:03.050 25731 DEBUG routes.middleware > [req-cc23dc5b-7679-407b-a02e-bde6536ecc0b ] Match dict: {'action': > u'create', 'controller': <wsgify at 139916894481360 wrapping <function > resource at 0x7f40f0d158c0>>} > __call__ /usr/local/lib/python2.7/dist-packages/routes/middleware.py:103 > 2014-07-26 21:26:03.051 25731 DEBUG neutron.api.v2.base > [req-cc23dc5b-7679-407b-a02e-bde6536ecc0b None] Request body: > {u'pool': {u'lb_algorithm': u'ROUND_ROBIN', u'healthmonitor_id': > u'98311c52-9ba5-4d1c-beb7-a8200edf3c40', u'protocol': u'HTTP', > u'name': u'miguelito'}} > prepare_request_body /opt/stack/neutron/neutron/api/v2/base.py:573 > 2014-07-26 21:26:03.060 25731 ERROR neutron.api.v2.resource > [req-cc23dc5b-7679-407b-a02e-bde6536ecc0b None] create failed > 2014-07-26 21:26:03.060 25731 TRACE neutron.api.v2.resource Traceback > (most recent call last): > 2014-07-26 21:26:03.060 25731 TRACE neutron.api.v2.resource File > "/opt/stack/neutron/neutron/api/v2/resource.py", line 87, in resource > 2014-07-26 21:26:03.060 25731 TRACE neutron.api.v2.resource result > = method(request=request, **args) > 2014-07-26 21:26:03.060 25731 TRACE neutron.api.v2.resource File > "/opt/stack/neutron/neutron/api/v2/base.py", line 447, in create > 2014-07-26 21:26:03.060 25731 TRACE neutron.api.v2.resource obj = > obj_creator(request.context, **kwargs) > 2014-07-26 21:26:03.060 25731 TRACE neutron.api.v2.resource File > "/opt/stack/neutron/neutron/services/loadbalancer/plugin.py", line > 575, in create_pool > 2014-07-26 21:26:03.060 25731 TRACE neutron.api.v2.resource > context, pool) > 2014-07-26 21:26:03.060 25731 TRACE neutron.api.v2.resource File > "/opt/stack/neutron/neutron/db/loadbalancer/loadbalancer_dbv2.py", > line 615, in create_pool2014-07-26 21:26:03.060 25731 TRACE > neutron.api.v2.resource pool_db = PoolV2(**pool) > 2014-07-26 21:26:03.060 25731 TRACE neutron.api.v2.resource File > "<string>", line 4, in __init__ > 2014-07-26 21:26:03.060 25731 TRACE neutron.api.v2.resource File > "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/state.py", line 200, > in _initialize_instance > 2014-07-26 21:26:03.060 25731 TRACE neutron.api.v2.resource return > manager.original_init(*mixed[1:], **kwargs) > 2014-07-26 21:26:03.060 25731 TRACE neutron.api.v2.resource File > "/usr/lib/python2.7/dist-packages/sqlalchemy/ext/declarative/base.py", > line 424, in _declarative_constructor > 2014-07-26 21:26:03.060 25731 TRACE neutron.api.v2.resource (k, > cls_.__name__)) > 2014-07-26 21:26:03.060 25731 TRACE neutron.api.v2.resource TypeError: > 'lb_method' is an invalid keyword argument for PoolV2 > 2014-07-26 21:26:03.060 25731 TRACE neutron.api.v2.resource > 2014-07-26 21:26:03.062 25731 INFO neutron.wsgi > [req-cc23dc5b-7679-407b-a02e-bde6536ecc0b None] 72.191.21.124 - - > [26/Jul/2014 21:26:03] "POST /v2.0/lbaas/pools HTTP/1.1" 500 320 > 0.015718 > > > > 3) GET /lbaas/loadbalancers, > GET /lbaas/loadbalancers/<loadbalancerid>, > PUT/lbaas/loadbalancers/<loadbalancerid> work fine > > > 4) DELETE /lbaas/loadbalancers/<loadbalancerid> work fine if it is not > preceded by an UPDATE. If the DELETE is preceded by an UPDATE, the api > throws a 500 with the following message: "NeutronError": { "message": > "Invalid state PENDING_UPDATE of loadbalancer resource > 99d7e756-f042-4941-bab6-e77c7edc72a1", "type": "StateInvalid", > "detail": "". The error can be reproduced with the following sequence > of operations: > > > POST /lbaas/loadbalancers > {"loadbalancer": {"name": "miguelito", "vip_subnet_id": > "390a0f6c-b4a6-4ad0-83be-ad41832c88c6"}} > > > UPDATE /lbaas/loadbalancers/<loadbalancerid> > {"loadbalancer": {"name": "nuevo_miguelito"}} > > > DELETE /lbaas/loadbalancers/<loadbalancerid> > > > The Neutron server log file shows the following error: > > 2014-07-27 23:40:42.071 25731 DEBUG keystonemiddleware.auth_token > [req-6e8401da-17eb-4dce-a15d-ded3b8a6e1cc ] Received request from > user: b870371464704e14b618609d78920ba6 with project_id : > f45c42127f5044e694067b2ac361d3ca and roles: > _member_,anotherrole,heat_stack_owner,Member > _build_user_headers > /usr/local/lib/python2.7/dist-packages/keystonemiddleware/auth_token.py:732 > 2014-07-27 23:40:42.072 25731 DEBUG routes.middleware > [req-18843bc2-498a-4ee2-8a35-1b265983feec ] Matched > DELETE /lbaas/loadbalancers/99d7e756-f042-4941-bab6-e77c7edc72a1 > __call__ /usr/local/lib/python2.7/dist-packages/routes/middleware.py:100 > 2014-07-27 23:40:42.072 25731 DEBUG routes.middleware > [req-18843bc2-498a-4ee2-8a35-1b265983feec ] Route path: > '/lbaas/loadbalancers/:(id)', defaults: {'action': u'delete', > 'controller': <wsgify at 139916894449488 wrapping <function resource > at 0x7f40f0d156e0>>} > __call__ /usr/local/lib/python2.7/dist-packages/routes/middleware.py:102 > 2014-07-27 23:40:42.073 25731 DEBUG routes.middleware > [req-18843bc2-498a-4ee2-8a35-1b265983feec ] Match dict: {'action': > u'delete', 'controller': <wsgify at 139916894449488 wrapping <function > resource at 0x7f40f0d156e0>>, 'id': > u'99d7e756-f042-4941-bab6-e77c7edc72a1'} > __call__ /usr/local/lib/python2.7/dist-packages/routes/middleware.py:103 > 2014-07-27 23:40:42.082 25731 ERROR neutron.api.v2.resource > [req-18843bc2-498a-4ee2-8a35-1b265983feec None] delete failed > 2014-07-27 23:40:42.082 25731 TRACE neutron.api.v2.resource Traceback > (most recent call last): > 2014-07-27 23:40:42.082 25731 TRACE neutron.api.v2.resource File > "/opt/stack/neutron/neutron/api/v2/resource.py", line 87, in resource > 2014-07-27 23:40:42.082 25731 TRACE neutron.api.v2.resource result > = method(request=request, **args) > 2014-07-27 23:40:42.082 25731 TRACE neutron.api.v2.resource File > "/opt/stack/neutron/neutron/api/v2/base.py", line 475, in delete > 2014-07-27 23:40:42.082 25731 TRACE neutron.api.v2.resource > obj_deleter(request.context, id, **kwargs) > 2014-07-27 23:40:42.082 25731 TRACE neutron.api.v2.resource File > "/opt/stack/neutron/neutron/services/loadbalancer/plugin.py", line > 478, in delete_loadbalancer > 2014-07-27 23:40:42.082 25731 TRACE neutron.api.v2.resource > constants.PENDING_DELETE) > 2014-07-27 23:40:42.082 25731 TRACE neutron.api.v2.resource File > "/opt/stack/neutron/neutron/db/loadbalancer/loadbalancer_dbv2.py", > line 422, in test_and_set_status > 2014-07-27 23:40:42.082 25731 TRACE neutron.api.v2.resource > self.assert_modification_allowed(model_db) > 2014-07-27 23:40:42.082 25731 TRACE neutron.api.v2.resource File > "/opt/stack/neutron/neutron/db/loadbalancer/loadbalancer_dbv2.py", > line 417, in assert_modification_allowed > 2014-07-27 23:40:42.082 25731 TRACE neutron.api.v2.resource raise > loadbalancerv2.StateInvalid(id=id, state=status) > 2014-07-27 23:40:42.082 25731 TRACE neutron.api.v2.resource > StateInvalid: Invalid state PENDING_UPDATE of loadbalancer resource > 99d7e756-f042-4941-bab6-e77c7edc72a1 > 2014-07-27 23:40:42.082 25731 TRACE neutron.api.v2.resource > 2014-07-27 23:40:42.084 25731 INFO neutron.wsgi > [req-18843bc2-498a-4ee2-8a35-1b265983feec None] 72.191.21.124 - - > [27/Jul/2014 23:40:42] > "DELETE /v2.0/lbaas/loadbalancers/99d7e756-f042-4941-bab6-e77c7edc72a1 > HTTP/1.1" 500 394 0.015702 > > > Over the next few days I will report api testing results for > healthmonitors and listeners. I will also test pools and memebers as > soon as the problems with pools POST reported above is fixed > > > Cheers > > > Miguel > > > > > > _______________________________________________ > OpenStack-dev mailing list > OpenStack-dev@lists.openstack.org > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev