← Back to team overview

yahoo-eng-team team mailing list archive

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

 

When I run through this scenario:
neutron lbaas-loadbalancer-create --name act-stby-rr-1 private-subnet
neutron lbaas-listener-create --name listener1 --loadbalancer act-stby-rr-1 --protocol TCP --protocol-port 80
neutron lbaas-pool-create --name pool1 --lb-algorithm ROUND_ROBIN --listener listener1 --protocol HTTP

I get the expected response:
Listener protocol TCP and pool protocol HTTP are not compatible.
Neutron server returns request_ids: ['req-f1e015da-a24b-4be5-a1f2-357eeafbc3e7']

I see no record of the pool in the Octavia DB as would be expected.
However, I see a record remains in the neutron database:

| tenant_id                        | id                                   | name  | description | protocol | lb_algorithm | healthmonitor_id | admin_state_up | provisioning_status | operating_status | loadbalancer_id                      |
+----------------------------------+--------------------------------------+-------+-------------+----------+--------------+------------------+----------------+---------------------+------------------+--------------------------------------+
| 3acdd9326b514a7c8f37f4373f76fdec | f2cf6444-71a6-4978-a583-622859976451 | pool1 |             | HTTP     | ROUND_ROBIN  | NULL             |              1 | PENDING_CREATE      | OFFLINE          | f2b1116a-babd-4355-88ba-81b600885b31 |


This appears to be a neutron-lbaas bug, assigning to neutron-lbaas.

** Tags added: lbaas

** Project changed: octavia => neutron

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1556342

Title:
  Able to create pool with different protocol than listener protocol

Status in neutron:
  New

Bug description:
  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 |
  +----------------------------------+--------------------------------------+-------+-------------+----------+--------------+------------------+----------------+---------------------+------------------+--------------------------------------+

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1556342/+subscriptions