Team, I have continued new LBaaS API testing with Tempest. Status at this point is:
1) POST operations work for loadbalancers, healthmonitors, listeners, pools and members 2) GET, POST, PUT, DELETE operations work for loadbalancers 3) The only exception to point 2 is DELETE when it is preceded by a PUT. This is how the bug can be replicated: PUT /lbaas/loadbalancers/<loadbalancer-id> Request body: {"loadbalancer": {"name": "nuevo_miguelito"}} DELETE /lbaas/loadbalancers/<loadbalancer-id> Response: Status Code: 500 Internal Server Error { "NeutronError": { "message": "Invalid state PENDING_UPDATE of loadbalancer resource a300e907-d5ae-49b3-a607-0ebdb8f7cf5b", "type": "StateInvalid", "detail": "" } } >From the neutron server log: 2014-07-31 23:56:44.979 14528 DEBUG routes.middleware [req-8176b763-0792-432c-8432-c0e0c8a645dc ] Matched DELETE /lbaas/loadbalancers/a300e907-d5ae-49b3-a607-0ebdb8f7cf5b __call__ /usr/local/lib/python2.7/dist-packages/routes/middleware.py:100 2014-07-31 23:56:44.979 14528 DEBUG routes.middleware [req-8176b763-0792-432c-8432-c0e0c8a645dc ] Route path: '/lbaas/loadbalancers/:(id)', defaults: {'action': u'delete', 'controller': <wsgify at 139834119733328 wrapping <function resource at 0x7f2dab0ed938>>} __call__ /usr/local/lib/python2.7/dist-packages/routes/middleware.py:102 2014-07-31 23:56:44.980 14528 DEBUG routes.middleware [req-8176b763-0792-432c-8432-c0e0c8a645dc ] Match dict: {'action': u'delete', 'controller': <wsgify at 139834119733328 wrapping <function resource at 0x7f2dab0ed938>>, 'id': u'a300e907-d5ae-49b3-a607-0ebdb8f7cf5b'} __call__ /usr/local/lib/python2.7/dist-packages/routes/middleware.py:103 2014-07-31 23:56:45.005 14528 ERROR neutron.api.v2.resource [req-8176b763-0792-432c-8432-c0e0c8a645dc None] delete failed 2014-07-31 23:56:45.005 14528 TRACE neutron.api.v2.resource Traceback (most recent call last): 2014-07-31 23:56:45.005 14528 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/api/v2/resource.py", line 87, in resource 2014-07-31 23:56:45.005 14528 TRACE neutron.api.v2.resource result = method(request=request, **args) 2014-07-31 23:56:45.005 14528 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/api/v2/base.py", line 475, in delete 2014-07-31 23:56:45.005 14528 TRACE neutron.api.v2.resource obj_deleter(request.context, id, **kwargs) 2014-07-31 23:56:45.005 14528 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/services/loadbalancer/plugin.py", line 496, in delete_loadbalancer 2014-07-31 23:56:45.005 14528 TRACE neutron.api.v2.resource constants.PENDING_DELETE) 2014-07-31 23:56:45.005 14528 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/loadbalancer/loadbalancer_dbv2.py", line 434, in test_and_set_status 2014-07-31 23:56:45.005 14528 TRACE neutron.api.v2.resource self.assert_modification_allowed(model_db) 2014-07-31 23:56:45.005 14528 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/loadbalancer/loadbalancer_dbv2.py", line 429, in assert_modification_allowed 2014-07-31 23:56:45.005 14528 TRACE neutron.api.v2.resource raise loadbalancerv2.StateInvalid(id=id, state=status) 2014-07-31 23:56:45.005 14528 TRACE neutron.api.v2.resource StateInvalid: Invalid state PENDING_UPDATE of loadbalancer resource a300e907-d5ae-49b3-a607-0ebdb8f7cf5b 2014-07-31 23:56:45.005 14528 TRACE neutron.api.v2.resource 2014-07-31 23:56:45.006 14528 INFO neutron.wsgi [req-8176b763-0792-432c-8432-c0e0c8a645dc None] 72.191.21.124 - - [31/Jul/2014 23:56:45] "DELETE /v2.0/lbaas/loadbalancers/a300e907-d5ae-49b3-a607-0ebdb8f7cf5b HTTP/1.1" 500 394 0.029316 Cheers
_______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev