Neutron-LBaaS v2: Pool still gets created after ListenerPoolProtocolMismatch

Bug #1573320 reported by Franklin Naval
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Confirmed
Low
Unassigned

Bug Description

1. Create a Load Balancer.
2. Create a Listener with TCP
3. Create a Pool with HTTP
4. Observe the following error: {"NeutronError": {"message": "Listener protocol TCP and pool protocol HTTP are not compatible.", "type": "ListenerPoolProtocolMismatch", "detail": ""}
5. List Pools.

Result: Pool still gets created after the error.

Expected: Pool should not get created if the listener and the pool protocols are not compatible.

Note: This bug occurs on any mismatch of protocols between listener and pool: TCP vs HTTP, TCP vs HTTPS, HTTP vs TCP, etc.

Log (note the creation of pool "95300d77-084a-4015-804f-698d960b8050" after the 409 error):

2016-04-21 22:15:04.370 17603 INFO tempest.lib.common.rest_client [req-411d6275-9341-4c53-ac13-3a879ae95ed1 ] Request (TestProtocols:
test_create_listener_and_pool_with_protocol): 409 POST http://127.0.0.1:9696/v2.0/lbaas/pools 0.339s
2016-04-21 22:15:04.370 17603 DEBUG tempest.lib.common.rest_client [req-411d6275-9341-4c53-ac13-3a879ae95ed1 ] Request - Headers: {'X
-Auth-Token': '<omitted>', 'Accept': 'application/json', 'Content-Type': 'application/json'}
        Body: {"pool": {"name": "pool-1818041961", "protocol": "HTTP", "admin_state_up": true, "description": "pool_description-15184
40568", "session_persistence": null, "listener_id": "7e4a7347-4113-4de4-9af9-092fc532bf23", "loadbalancer_id": "9c65fe8b-cc24-4e5b-8d
ae-bcfb22c0163f", "lb_algorithm": "ROUND_ROBIN"}}
    Response - Headers: {'content-length': '151', 'x-openstack-request-id': 'req-411d6275-9341-4c53-ac13-3a879ae95ed1', 'date': 'Thu,
 21 Apr 2016 22:15:04 GMT', 'content-type': 'application/json', 'connection': 'close', 'status': '409'}
        Body: {"NeutronError": {"message": "Listener protocol TCP and pool protocol HTTP are not compatible.", "type": "ListenerPoolProtocolMismatch", "detail": ""}} _log_request_full /opt/stack/neutron-lbaas/.tox/apiv2/local/lib/python2.7/site-packages/tempest/lib/common/rest_client.py:414
2016-04-21 22:15:04.590 17603 INFO tempest.lib.common.rest_client [req-97add959-c5f8-4389-8f4a-41708b59cc92 ] Request (TestProtocols:tearDown): 200 GET http://127.0.0.1:9696/v2.0/lbaas/loadbalancers/9c65fe8b-cc24-4e5b-8dae-bcfb22c0163f 0.188s
2016-04-21 22:15:04.590 17603 DEBUG tempest.lib.common.rest_client [req-97add959-c5f8-4389-8f4a-41708b59cc92 ] Request - Headers: {'X-Auth-Token': '<omitted>', 'Accept': 'application/json', 'Content-Type': 'application/json'}
        Body: None
    Response - Headers: {'content-length': '517', 'x-openstack-request-id': 'req-97add959-c5f8-4389-8f4a-41708b59cc92', 'date': 'Thu, 21 Apr 2016 22:15:04 GMT', 'content-location': 'http://127.0.0.1:9696/v2.0/lbaas/loadbalancers/9c65fe8b-cc24-4e5b-8dae-bcfb22c0163f', 'content-type': 'application/json', 'connection': 'close', 'status': '200'}
        Body: {"loadbalancer": {"description": "", "admin_state_up": true, "tenant_id": "59c6e9a660b94e97b0f2a4919974c220", "provisioning_status": "ACTIVE", "vip_subnet_id": "732198a3-0a70-478a-a4dc-a9cee967f423", "listeners": [{"id": "7e4a7347-4113-4de4-9af9-092fc532bf23"}], "vip_address": "10.100.0.2", "vip_port_id": "27c8f167-a10d-4d6f-b7fd-12e4f0373e5e", "provider": "octavia", "pools": [{"id": "95300d77-084a-4015-804f-698d960b8050"}], "id": "9c65fe8b-cc24-4e5b-8dae-bcfb22c0163f", "operating_status": "ONLINE", "name": ""}} _log_request_full /opt/stack/neutron-lbaas/.tox/apiv2/local/lib/python2.7/site-packages/tempest/lib/common/rest_client.py:414

For explicitness, here are the combos I've seen this bug hit on:

Listener protocol HTTP and pool protocol HTTPS are not compatible.
Listener protocol TCP and pool protocol HTTPS are not compatible.
Listener protocol HTTPS and pool protocol HTTP are not compatible.
Listener protocol TCP and pool protocol HTTP are not compatible.
Listener protocol HTTP and pool protocol TCP are not compatible.
Listener protocol HTTPS and pool protocol TCP are not compatible.

description: updated
Doug Wiegley (dougwig)
Changed in neutron:
status: New → Confirmed
importance: Undecided → Low
tags: added: lbaas low-hanging-fruit
Changed in neutron:
assignee: nobody → Marcellin Fom Tchassem (mf6510)
Changed in neutron:
assignee: Marcellin Fom Tchassem (mf6510) → nobody
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.