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-octavia | Assignee: | 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 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