Bug 1686741

Summary: [network-operator] The sdn services should restart when the configmap for network operator gets updated
Product: OpenShift Container Platform Reporter: Meng Bo <bmeng>
Component: NetworkingAssignee: Casey Callendrello <cdc>
Status: CLOSED ERRATA QA Contact: Meng Bo <bmeng>
Severity: medium Docs Contact:
Priority: medium    
Version: 4.1.0CC: aos-bugs, wking
Target Milestone: ---   
Target Release: 4.1.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: 2019-06-04 10:45:20 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 Meng Bo 2019-03-08 08:38:13 UTC
Description of problem:
When user updates the networkconfig.networkoperator.openshift.io, the configmap applied-cluster will also be updated. And the sdn services should be able to detect the change and restart accordingly.

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

How reproducible:
always

Steps to Reproduce:
1. Setup OCP cluster

2. Change the networkconfig of the cluster, eg, change the syncperiod to 25s
# oc edit networkconfigs cluster
  kubeProxyConfig:
    iptablesSyncPeriod: 25s

3. Check that the configmap applied-cluster gets updated
# oc get applied-cluster -n openshift-network-operator -o yaml
data:
  applied: '{"clusterNetwork":[{"cidr":"10.128.0.0/14","hostPrefix":23}],"serviceNetwork":["172.30.0.0/16"],"defaultNetwork":{"type":"OpenShiftSDN","openshiftSDNConfig":{"mode":"NetworkPolicy","vxlanPort":4789,"mtu":8951}},"disableMultiNetwork":false,"deployKubeProxy":false,"kubeProxyConfig":{"iptablesSyncPeriod":"25s","bindAddress":"0.0.0.0","proxyArguments":{"metrics-bind-address":["0.0.0.0:9101"]}}}'
kind: ConfigMap

4. Monitor the sdn and sdn-controller pods in the openshift-sdn namespace


Actual results:
The sdn services will not restart automatically.

Expected results:
The sdn services should be able to detect the config change and restart accordingly. 

Additional info:

Comment 1 Casey Callendrello 2019-03-11 13:21:35 UTC
Taking a look.

Comment 2 Casey Callendrello 2019-03-11 16:19:55 UTC
https://github.com/openshift/origin/pull/22294

Comment 4 W. Trevor King 2019-03-14 05:20:09 UTC
origin#22294 landed [1].

[1]: https://github.com/openshift/origin/pull/22294#event-2202033881

Comment 6 Meng Bo 2019-03-19 07:10:45 UTC
Tested on 4.0.0-0.nightly-2019-03-19-004004

The sdn service will detect the config changes and restart automatically. The following log found in sdn pod.

I0319 07:08:50.347815   53980 cmd.go:282] Configuration file /config/..2019_03_19_07_06_27.698144133/sdn-config.yaml changed, exiting...

Comment 8 errata-xmlrpc 2019-06-04 10:45:20 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-2019:0758