Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1982254

Summary: [RHOSP 16.1] timeout_client_data and timeout_member_data from octavia conf are not honoured while creating listeners
Product: Red Hat OpenStack Reporter: Punit Kundal <pkundal>
Component: openstack-octaviaAssignee: Nate Johnston <nate.johnston>
Status: CLOSED DUPLICATE QA Contact: Bruna Bonguardo <bbonguar>
Severity: high Docs Contact:
Priority: unspecified    
Version: 16.1 (Train)CC: gthiemon, ihrachys, lpeer, majopela, scohen
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-07-15 06:19:50 UTC 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 Punit Kundal 2021-07-14 14:36:33 UTC
Description of problem:

If we set timeout_member_data and timeout_client_data in octavia conf on the controller nodes to any value apart from the default of 50000; the values aren't set in the listener to what is set in the config; the listener is always created with the default value for these parameters which is set to 50000

later one can manually set the values with openstack loadbalancer listener set --timeout-client-data and openstack loadbalancer listener set --timeout-member-data on an existing listener

the values on the controller nodes:

+++
[heat-admin@overcloud-controller-0 ~]$ sudo egrep -iv '^$|^#' /var/lib/config-data/puppet-generated/octavia/etc/octavia/octavia.conf | grep -i timeout
port_detach_timeout=300
timeout_client_data=1200000
timeout_member_connect=5000
timeout_member_data=1200000
+++

create a loadbalancer; if we then create a listener; it will be created with the default values:

+++
(overcloud) [stack@undercloud ~]$ openstack loadbalancer show 546836ca-dff6-425a-8dcf-5be933172a1a
+---------------------+--------------------------------------+
| Field               | Value                                |
+---------------------+--------------------------------------+
| admin_state_up      | True                                 |
| created_at          | 2021-07-14T12:22:14                  |
| description         |                                      |
| flavor_id           | None                                 |
| id                  | 546836ca-dff6-425a-8dcf-5be933172a1a |
| listeners           | 37c5e3d7-7b94-416a-bd3a-35de14b15247 |
| name                | lb_zeta                              |
| operating_status    | ONLINE                               |
| pools               |                                      |
| project_id          | d7223270894841e2891fbab6bd1f449f     |
| provider            | amphora                              |
| provisioning_status | ACTIVE                               |
| updated_at          | 2021-07-14T13:22:04                  |
| vip_address         | 200.200.1.212                        |
| vip_network_id      | eefb5e3d-97ee-4b49-bfec-21985cd83a42 |
| vip_port_id         | 91882219-24c7-410f-a022-b0ba098206ce |
| vip_qos_policy_id   | None                                 |
| vip_subnet_id       | 2af4ff13-019d-489e-8c6b-3efb8eda594d |
+---------------------+--------------------------------------+

(overcloud) [stack@undercloud ~]$ openstack loadbalancer listener create --name listnr_zeta --protocol HTTP --protocol-port 80 lb_zeta
+-----------------------------+--------------------------------------+
| Field                       | Value                                |
+-----------------------------+--------------------------------------+
| admin_state_up              | True                                 |
| connection_limit            | -1                                   |
| created_at                  | 2021-07-14T13:21:24                  |
| default_pool_id             | None                                 |
| default_tls_container_ref   | None                                 |
| description                 |                                      |
| id                          | 37c5e3d7-7b94-416a-bd3a-35de14b15247 |
| insert_headers              | None                                 |
| l7policies                  |                                      |
| loadbalancers               | 546836ca-dff6-425a-8dcf-5be933172a1a |
| name                        | listnr_zeta                          |
| operating_status            | OFFLINE                              |
| project_id                  | d7223270894841e2891fbab6bd1f449f     |
| protocol                    | HTTP                                 |
| protocol_port               | 80                                   |
| provisioning_status         | PENDING_CREATE                       |
| sni_container_refs          | []                                   |
| timeout_client_data         | 50000                                |
| timeout_member_connect      | 5000                                 |
| timeout_member_data         | 50000                                |
| timeout_tcp_inspect         | 0                                    |
| updated_at                  | None                                 |
| client_ca_tls_container_ref | None                                 |
| client_authentication       | NONE                                 |
| client_crl_container_ref    | None                                 |
| allowed_cidrs               | None                                 |
+-----------------------------+--------------------------------------+
+++

set the values manually for the listener:

+++
(overcloud) [stack@undercloud ~]$ openstack loadbalancer listener set --timeout-client-data 1200000 37c5e3d7-7b94-416a-bd3a-35de14b15247

(overcloud) [stack@undercloud ~]$ openstack loadbalancer listener set --timeout-member-data 1200000 37c5e3d7-7b94-416a-bd3a-35de14b15247

(overcloud) [stack@undercloud ~]$ openstack loadbalancer listener show 37c5e3d7-7b94-416a-bd3a-35de14b15247
+-----------------------------+--------------------------------------+
| Field                       | Value                                |
+-----------------------------+--------------------------------------+
| admin_state_up              | True                                 |
| connection_limit            | -1                                   |
| created_at                  | 2021-07-14T13:21:24                  |
| default_pool_id             | None                                 |
| default_tls_container_ref   | None                                 |
| description                 |                                      |
| id                          | 37c5e3d7-7b94-416a-bd3a-35de14b15247 |
| insert_headers              | None                                 |
| l7policies                  |                                      |
| loadbalancers               | 546836ca-dff6-425a-8dcf-5be933172a1a |
| name                        | listnr_zeta                          |
| operating_status            | ONLINE                               |
| project_id                  | d7223270894841e2891fbab6bd1f449f     |
| protocol                    | HTTP                                 |
| protocol_port               | 80                                   |
| provisioning_status         | ACTIVE                               |
| sni_container_refs          | []                                   |
| timeout_client_data         | 1200000                              |
| timeout_member_connect      | 5000                                 |
| timeout_member_data         | 1200000                              |
| timeout_tcp_inspect         | 0                                    |
| updated_at                  | 2021-07-14T14:09:09                  |
| client_ca_tls_container_ref | None                                 |
| client_authentication       | NONE                                 |
| client_crl_container_ref    | None                                 |
| allowed_cidrs               | None                                 |
+-----------------------------+--------------------------------------+
+++

create a pool; add a member and then check the haproxy conf in the amphorae:

+++
(overcloud) [stack@undercloud ~]$ openstack loadbalancer pool create --name pool1 --lb-algorithm ROUND_ROBIN --listener 37c5e3d7-7b94-416a-bd3a-35de14b15247 --protocol HTTP

(overcloud) [stack@undercloud ~]$ openstack loadbalancer member create --subnet-id 2af4ff13-019d-489e-8c6b-3efb8eda594d --address 200.200.1.171 --protocol-port 80 7e411bc0-3d88-4287-8c21-b8c3c0188b7f
+---------------------+--------------------------------------+
| Field               | Value                                |
+---------------------+--------------------------------------+
| address             | 200.200.1.171                        |
| admin_state_up      | True                                 |
| created_at          | 2021-07-14T14:18:31                  |
| id                  | d6bda68e-b996-4779-83ba-6c174024eb9b |
| name                |                                      |
| operating_status    | NO_MONITOR                           |
| project_id          | d7223270894841e2891fbab6bd1f449f     |
| protocol_port       | 80                                   |
| provisioning_status | PENDING_CREATE                       |
| subnet_id           | 2af4ff13-019d-489e-8c6b-3efb8eda594d |
| updated_at          | None                                 |
| weight              | 1                                    |
| monitor_port        | None                                 |
| monitor_address     | None                                 |
| backup              | False                                |
+---------------------+--------------------------------------+
(overcloud) [stack@undercloud ~]$ ssh heat-admin.24.21
Last login: Wed Jul 14 14:10:01 2021 from 192.168.24.1
[heat-admin@overcloud-controller-0 ~]$ ssh -i id_rsa cloud-user.3.167
Last login: Wed Jul 14 10:10:41 2021 from 172.24.3.132
[cloud-user@amphora-33c44831-51d6-404b-bc6d-792f436edd2b ~]$ sudo su -
Last login: Wed Jul 14 10:10:47 EDT 2021 on pts/0
[root@amphora-33c44831-51d6-404b-bc6d-792f436edd2b ~]# cat /var/lib/octavia/546836ca-dff6-425a-8dcf-5be933172a1a/haproxy.cfg 
# Configuration for loadbalancer 546836ca-dff6-425a-8dcf-5be933172a1a
global
    daemon
    user nobody
    log /run/rsyslog/octavia/log local1
    log /run/rsyslog/octavia/log local1 notice
    stats socket /var/lib/octavia/546836ca-dff6-425a-8dcf-5be933172a1a.sock mode 0666 level user
    maxconn 1000000

defaults
    log global
    retries 3
    option redispatch
    option splice-request
    option splice-response
    option http-keep-alive



frontend 37c5e3d7-7b94-416a-bd3a-35de14b15247
    maxconn 1000000
    bind 200.200.1.212:80
    mode http
    default_backend 7e411bc0-3d88-4287-8c21-b8c3c0188b7f:37c5e3d7-7b94-416a-bd3a-35de14b15247
    timeout client 1200000
    log-format d7223270894841e2891fbab6bd1f449f\ 546836ca-dff6-425a-8dcf-5be933172a1a\ %f\ %ci\ %cp\ %t\ r\ %ST\ %B\ %U\ %[ssl_c_verify]\ [ssl_c_s_dn]\ %b\ %s\ %Tt\ %tsc

backend 7e411bc0-3d88-4287-8c21-b8c3c0188b7f:37c5e3d7-7b94-416a-bd3a-35de14b15247
    mode http
    http-reuse safe
    balance roundrobin
    fullconn 1000000
    option allbackups
    timeout connect 5000
    timeout server 1200000
    server d6bda68e-b996-4779-83ba-6c174024eb9b 200.200.1.171:80 weight 1
+++


Version-Release number of selected component (if applicable):

+++
[root@overcloud-controller-0 ~]# podman ps | grep -i octavia
f483f0bdb561  undercloud.ctlplane.localdomain:8787/rhosp-rhel8/openstack-octavia-worker:16.1           kolla_start           2 months ago  Up 3 hours ago          octavia_worker
cd59076e8da9  undercloud.ctlplane.localdomain:8787/rhosp-rhel8/openstack-octavia-housekeeping:16.1     kolla_start           2 months ago  Up 3 hours ago          octavia_housekeeping
161b7434c6e0  undercloud.ctlplane.localdomain:8787/rhosp-rhel8/openstack-octavia-health-manager:16.1   kolla_start           2 months ago  Up 7 weeks ago          octavia_health_manager
ee55aa64e334  undercloud.ctlplane.localdomain:8787/rhosp-rhel8/openstack-octavia-api:16.1              kolla_start           2 months ago  Up 3 hours ago          octavia_driver_agent
87142220f719  undercloud.ctlplane.localdomain:8787/rhosp-rhel8/openstack-octavia-api:16.1              kolla_start           2 months ago  Up 3 hours ago          octavia_api

[root@overcloud-controller-0 ~]# cat /etc/rhosp-release 
Red Hat OpenStack Platform release 16.1.5 GA (Train)
[root@overcloud-controller-0 ~]# podman exec -it f483f0bdb561 rpm -qa | grep -i octavia
openstack-octavia-common-5.0.3-1.20201114024052.8c32d2e.el8ost.noarch
puppet-octavia-15.4.1-1.20201114030325.b741773.el8ost.noarch
python3-octavia-lib-1.4.0-0.20200310200448.cec8b19.el8ost.noarch
python3-octavia-5.0.3-1.20201114024052.8c32d2e.el8ost.noarch
openstack-octavia-worker-5.0.3-1.20201114024052.8c32d2e.el8ost.noarch

[root@overcloud-controller-0 ~]# podman exec -it 87142220f719 rpm -qa | grep -i octavia
openstack-octavia-common-5.0.3-1.20201114024052.8c32d2e.el8ost.noarch
puppet-octavia-15.4.1-1.20201114030325.b741773.el8ost.noarch
python3-octavia-lib-1.4.0-0.20200310200448.cec8b19.el8ost.noarch
python3-octavia-5.0.3-1.20201114024052.8c32d2e.el8ost.noarch
openstack-octavia-api-5.0.3-1.20201114024052.8c32d2e.el8ost.noarch
[root@overcloud-controller-0 ~]# 
+++

How reproducible:
Always

Steps to Reproduce:
1.
2.
3.

Actual results:
listener created with default values for timeout-member-data and timeout-client-data 

Expected results:
listener should be created with the values set in octavia config

Additional info:
Customer mentions that this was working earlier for them while they were on RHOSP 13; post upgrade they've noticed this issue