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

Bug 1612019

Summary: [W21FD0v0] env COMMIT_INTERVAL does not work when router dynamic changes enabled
Product: OpenShift Container Platform Reporter: Hongan Li <hongli>
Component: NetworkingAssignee: Ram Ranganathan <ramr>
Networking sub component: router QA Contact: zhaozhanqi <zzhao>
Status: CLOSED ERRATA Docs Contact:
Severity: medium    
Priority: medium CC: aos-bugs, hongli
Version: 3.11.0   
Target Milestone: ---   
Target Release: 3.11.0   
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: 2018-10-11 07:23:29 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 Hongan Li 2018-08-03 09:24:12 UTC
Description of problem:
the env COMMIT_INTERVAL does not work when router dynamic changes enabled

Version-Release number of selected component (if applicable):
openshift v3.11.0-0.10.0
kubernetes v1.11.0+d4cacc0

How reproducible:
always

Steps to Reproduce:
1. enable dynamic changes and set COMMIT_INTERVAL
$ oc set env dc/router ROUTER_HAPROXY_CONFIG_MANAGER=true COMMIT_INTERVAL=300s
2. create your project, pod, svc and route.
$ oc create -f https://raw.githubusercontent.com/openshift-qe/v3-testfiles/master/routing/caddy-docker.json
$ oc create -f https://raw.githubusercontent.com/openshift-qe/v3-testfiles/master/routing/edge/service_unsecure.json
$ oc expose svc service-unsecure
3. check the router reloaded in logs
$ oc logs router-x-xxxxx

Actual results:
wait more than 300s but no router reloaded in logs, the route is reachable but settings are not committed to haproxy.conf

Expected results:
the dynamic changes should be committed to haproxy.config in COMMIT_INTERVAL.

Additional info:
try to use the default 3600s setting (do not set COMMIT_INTERVAL env), wait for more than one hour but no router reloaded.  

code:
// defaultCommitInterval is how often (in seconds) to commit the "in-memory"
// router changes made using the dynamic configuration manager.
const defaultCommitInterval = 60 * 60

Comment 1 Ram Ranganathan 2018-08-06 23:36:26 UTC
@hongli, good catch ... aargh, the reason the router doesn't reload is because
it doesn't find any config changes. 

Fixed with PR: https://github.com/openshift/origin/pull/20559

Thx

Comment 3 Hongan Li 2018-08-23 07:18:40 UTC
verified in atomic-openshift-3.11.0-0.20.0.git.0.d80d8ad.el7 and the issue has been fixed.

Comment 5 errata-xmlrpc 2018-10-11 07:23:29 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:2652