Bug 2178598

Summary: Non attached pools are left on PENDING_CREATE provisioning state when being created with an LB single-create-call
Product: Red Hat OpenStack Reporter: Michał Dulko <mdulko>
Component: openstack-octaviaAssignee: Omer Schwartz <oschwart>
Status: ON_DEV --- QA Contact: Bruna Bonguardo <bbonguar>
Severity: medium Docs Contact: Greg Rakauskas <gregraka>
Priority: medium    
Version: 17.0 (Wallaby)CC: gthiemon, lavraham, oschwart, tweining
Target Milestone: gaKeywords: Triaged
Target Release: 17.1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Michał Dulko 2023-03-15 11:42:15 UTC
Description of problem:
Non attached pools, members and healthmonitors are left on PENDING_CREATE provisioning state when being created with an LB single-create-call.

For example, when one runs:

curl -ks -H "x-auth-token: $MY_TOKEN" -H "Content-Type: application/json" -X POST $MY_OCTAVIA_PATH/v2.0/lbaas/loadbalancers -d'
> {
>    "loadbalancer":{
>       "vip_subnet_id":"09e1dad9-3a2c-4df6-b90b-c7a294e7fa3a",
>       "name":"lb1",
>       "admin_state_up":true,
>       "pools":[
>          {
>             "name":"http_pool",
>             "protocol":"TCP",
>             "lb_algorithm":"ROUND_ROBIN"
>          }
>       ]
>    }
> }'
The response is correct

{"loadbalancer": {"listeners": [], "pools": [{"members": [], "healthmonitor": null, "id": "519b720c-5a13-4680-a44f-4f96e5e361cf", "name": "http_pool", "description": "", "provisioning_status": "PENDING_CREATE", "operating_status": "OFFLINE", "admin_state_up": true, "protocol": "TCP", "lb_algorithm": "ROUND_ROBIN", "session_persistence": null, "project_id": "b869f49eb01e428982626669cf46795e", "listeners": [], "created_at": "2022-11-11T16:46:34", "updated_at": null, "tags": [], "tls_container_ref": null, "ca_tls_container_ref": null, "crl_container_ref": null, "tls_enabled": false, "tls_ciphers": null, "tls_versions": null, "alpn_protocols": null, "tenant_id": "b869f49eb01e428982626669cf46795e"}], "id": "fa14dcaa-f6f9-47ab-9be2-3c45508da26b", "name": "lb1", "description": "", "provisioning_status": "PENDING_CREATE", "operating_status": "OFFLINE", "admin_state_up": true, "project_id": "b869f49eb01e428982626669cf46795e", "created_at": "2022-11-11T16:46:34", "updated_at": null, "vip_address": "172.24.4.79", "vip_port_id": "455b6d6e-eab7-4c36-a65d-b864a583ed54", "vip_subnet_id": "09e1dad9-3a2c-4df6-b90b-c7a294e7fa3a", "vip_network_id": "ad63ebb4-f812-4c0d-bf51-2df1371afc77", "additional_vips": [], "provider": "amphora", "flavor_id": null, "vip_qos_policy_id": null, "tags": [], "availability_zone": null, "tenant_id": "b869f49eb01e428982626669cf46795e"}}%
But even when the LB is ONLINE and ACTIVE, the pool stays on PENDING_CREATE

[stack@c9s-debug ~]$ openstack loadbalancer list
+--------------------------------------+------+----------------------------------+--------------+---------------------+------------------+----------+
| id                                   | name | project_id                       | vip_address  | provisioning_status | operating_status | provider |
+--------------------------------------+------+----------------------------------+--------------+---------------------+------------------+----------+
| 1e9ecff7-7aec-4cd6-aaa0-7d9dcc2d2599 | lb1  | b869f49eb01e428982626669cf46795e | 172.24.4.100 | ACTIVE              | ONLINE           | amphora  |
+--------------------------------------+------+----------------------------------+--------------+---------------------+------------------+----------+


[stack@c9s-debug ~]$ openstack loadbalancer pool list
+--------------------------------------+-----------+----------------------------------+---------------------+----------+--------------+----------------+
| id                                   | name      | project_id                       | provisioning_status | protocol | lb_algorithm | admin_state_up |
+--------------------------------------+-----------+----------------------------------+---------------------+----------+--------------+----------------+
| 9d42825f-c0c0-4791-91bb-b7a23d452389 | http_pool | b869f49eb01e428982626669cf46795e | PENDING_CREATE      | TCP      | ROUND_ROBIN  | True           |
+--------------------------------------+-----------+----------------------------------+---------------------+----------+--------------+----------------+
Marking non attached pools as active is missing from MarkLBActiveInDB task.

Version-Release number of selected component (if applicable):
Looks like it's happening on upstream master.

How reproducible:
Always

Steps to Reproduce:
Above

Actual results:
Resource stuck in PENDING_CREATE

Expected results:
Resource becomes ACTIVE.

Additional info:

Comment 3 Lukas Svaty 2023-06-16 08:13:29 UTC
Bulk moving target milestone to GA after the release of Beta on 14th June '23.