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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to