completed Implementation Details ...
@@ -91,3 +91,44 @@ type IngressControllerTuningOptions struct {
ReloadInterval *metav1.Duration `json:"reloadInterval,omitempty"`
}
```
+### Implementation Details / Notes / Constraints
+
+To expose the `ReloadInterval` in HAProxy, the environment variable `RELOAD_INTERVAL` will be added to the environment in [desiredRouterDeployment](https://github.com/openshift/cluster-ingress-operator/blob/master/pkg/operator/controller/ingress/deployment.go):
+```go
+ // desiredRouterDeployment returns the desired router deployment.
+ func desiredRouterDeployment(ci *operatorv1.IngressController, ingressControllerImage string, ingressConfig *configv1.Ingress, apiConfig *configv1.APIServer, networkConfig *configv1.Network, proxyNeeded bool, haveClientCAConfigmap bool, clientCAConfigmap *corev1.ConfigMap)
+ (*appsv1.Deployment, error){
+ ...
+ reloadInterval := 5 * time.Second
+ if ci.Spec.TuningOptions.ReloadInterval != nil && ci.Spec.TuningOptions.ReloadInterval.Duration >= 1*time.Second {
+ reloadInterval = ci.Spec.TuningOptions.ReloadInterval.Duration
+ }
+ env = append(env, corev1.EnvVar{Name: RouterReloadIntervalEnvName, Value: durationToHAProxyTimespec(reloadInterval)})
+ ...
+ }
+```
+The HAProxy template will not be modified.
+
+### Risks and Mitigation
+
+### Drawbacks
+
+## Design Details
+
+### Open Questions
+
+### Test Plan
+
+### Graduation Criteria
+
+### Upgrade/Downgrade Strategy
+
+### Version Skew Strategy
+
+### Operations Aspects of API Extensions
+
+### Failure Modes
+
+## Implementation History
+
+## Alternatives
