← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1556342] [NEW] Able to create pool with different protocol than listener protocol

 

You have been subscribed to a public bug:

When creating a pool with different protocol than listener protocol, a pool is create even though the protocols are not compatible.
Previously, this would not display any pools in neutron lbaas-pool-list since the protocols are not compatible. 


Initial state
$ neutron lbaas-loadbalancer-list
+--------------------------------------+------+-------------+---------------------+----------+
| id                                   | name | vip_address | provisioning_status | provider |
+--------------------------------------+------+-------------+---------------------+----------+
| bf449f65-633d-4859-b417-28b35f4eaea2 | lb1  | 10.0.0.3    | ERROR               | octavia  |
| c6bf0765-47a9-49d9-a2f2-dd3f1ea81a5c | lb2  | 10.0.0.13   | ACTIVE              | octavia  |
| e1210b03-f440-4bc1-84ca-9ba70190854f | lb3  | 10.0.0.16   | ACTIVE              | octavia  |
+--------------------------------------+------+-------------+---------------------+----------+

$ neutron lbaas-listener-list
+--------------------------------------+--------------------------------------+-------+----------+---------------+----------------+
| id                                   | default_pool_id                      | name  | protocol | protocol_port | admin_state_up |
+--------------------------------------+--------------------------------------+-------+----------+---------------+----------------+
| 4cda881c-9209-42ac-9c97-e1bfab0300b2 | 6be3dae1-f159-4e0e-94ea-5afdfdab05fc | list2 | HTTP     |            80 | True           |
+--------------------------------------+--------------------------------------+-------+----------+---------------+----------------+

$ neutron lbaas-pool-list
+--------------------------------------+-------+----------+----------------+
| id                                   | name  | protocol | admin_state_up |
+--------------------------------------+-------+----------+----------------+
| 6be3dae1-f159-4e0e-94ea-5afdfdab05fc | pool2 | HTTP     | True           |
+--------------------------------------+-------+----------+----------------+


Create new listener with TCP protocol 
$ neutron lbaas-listener-create --name list3 --loadbalancer lb3 --protocol TCP --protocol-port 22
Created a new listener:
+---------------------------+------------------------------------------------+
| Field                     | Value                                          |
+---------------------------+------------------------------------------------+
| admin_state_up            | True                                           |
| connection_limit          | -1                                             |
| default_pool_id           |                                                |
| default_tls_container_ref |                                                |
| description               |                                                |
| id                        | 9574801a-675b-4784-baf0-410d1a1fd941           |
| loadbalancers             | {"id": "e1210b03-f440-4bc1-84ca-9ba70190854f"} |
| name                      | list3                                          |
| protocol                  | TCP                                            |
| protocol_port             | 22                                             |
| sni_container_refs        |                                                |
| tenant_id                 | b24968d717804ffebd77803fce24b5a4               |
+---------------------------+------------------------------------------------+

Create pool with HTTP protocol instead of TCP
$ neutron lbaas-pool-create --name pool3 --lb-algorithm ROUND_ROBIN --listener list3 --protocol HTTP
Listener protocol TCP and pool protocol HTTP are not compatible.

Pool list shows pool3 even though the protocols are not compatible and should not be able to create pool
$ neutron lbaas-pool-list
+--------------------------------------+-------+----------+----------------+
| id                                   | name  | protocol | admin_state_up |
+--------------------------------------+-------+----------+----------------+
| 6be3dae1-f159-4e0e-94ea-5afdfdab05fc | pool2 | HTTP     | True           |
| 7e6fbe67-60b0-40cd-afdd-44cddd8c60a1 | pool3 | HTTP     | True           |
+--------------------------------------+-------+----------+----------------+

>From mysql, pool table from octavia DB. No pool3 
+--------------------------------------+--------------------------------------+-------+-------------+----------+--------------+------------------+---------+--------------------------------------+
| project_id                           | id                                   | name  | description | protocol | lb_algorithm | operating_status | enabled | load_balancer_id                     |
+--------------------------------------+--------------------------------------+-------+-------------+----------+--------------+------------------+---------+--------------------------------------+
| b24968d7-1780-4ffe-bd77-803fce24b5a4 | 6be3dae1-f159-4e0e-94ea-5afdfdab05fc | pool2 |             | HTTP     | ROUND_ROBIN  | ONLINE           |       1 | c6bf0765-47a9-49d9-a2f2-dd3f1ea81a5c |
+--------------------------------------+--------------------------------------+-------+-------------+----------+--------------+------------------+---------+--------------------------------------+

>From mysql,  lbaas_pools table from neutron DB. Pool3 is in PENDING_CREATE. 
+----------------------------------+--------------------------------------+-------+-------------+----------+--------------+------------------+----------------+---------------------+------------------+--------------------------------------+
| tenant_id                        | id                                   | name  | description | protocol | lb_algorithm | healthmonitor_id | admin_state_up | provisioning_status | operating_status | loadbalancer_id                      |
+----------------------------------+--------------------------------------+-------+-------------+----------+--------------+------------------+----------------+---------------------+------------------+--------------------------------------+
| b24968d717804ffebd77803fce24b5a4 | 6be3dae1-f159-4e0e-94ea-5afdfdab05fc | pool2 |             | HTTP     | ROUND_ROBIN  | NULL             |              1 | ACTIVE              | ONLINE           | c6bf0765-47a9-49d9-a2f2-dd3f1ea81a5c |
| b24968d717804ffebd77803fce24b5a4 | 7e6fbe67-60b0-40cd-afdd-44cddd8c60a1 | pool3 |             | HTTP     | ROUND_ROBIN  | NULL             |              1 | PENDING_CREATE      | OFFLINE          | e1210b03-f440-4bc1-84ca-9ba70190854f |
+----------------------------------+--------------------------------------+-------+-------------+----------+--------------+------------------+----------------+---------------------+------------------+--------------------------------------+

** Affects: neutron
     Importance: Undecided
         Status: New


** Tags: lbaas
-- 
Able to create pool with different protocol than listener protocol 
https://bugs.launchpad.net/bugs/1556342
You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron.