break up long lines
@@ -45,7 +45,9 @@ This proposal extends the existing IngressController API to add a tuning option
## Motivation
-When there is an update to a route or endpoint in the cluster, the configuration for HAProxy changes, requiring that it reload for those changes to take effect. When HAProxy reloads to generate a new process with the updated configuration, it must keep the old process running until all its connections die. As such, too-frequent reloading can increase the rate of accumulation of HAProxy processes, particularly if it has to handle many long-lived connections. The default reload interval is set as 5 seconds, which is too low for some scenarios, so it is important that administrators can extend this time interval.
+When there is an update to a route or endpoint in the cluster, the configuration for HAProxy changes, requiring that it reload for those changes to take effect. When HAProxy reloads to generate a new process with the updated
+configuration, it must keep the old process running until all its connections die. As such, too-frequent reloading can increase the rate of accumulation of HAProxy processes, particularly if it has to handle many long-lived
+connections. The default reload interval is set as 5 seconds, which is too low for some scenarios, so it is important that administrators can extend this time interval.
In addition, some of HAProxy's load balancing algorithms are disrupted by reloads. For instance, HAProxy's roundrobin load balancing starts over from the first server every time HAProxy reloads. Thus, another motivating factor is that too-frequent reloads can cause load imbalance on a backend's servers when using certain load balancing algorithms.
@@ -119,7 +121,9 @@ type IngressControllerTuningOptions struct {
### 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). desiredRouterDeployment will also ensure that the value passed to `RELOAD_INTERVAL` is within the range of 1 second - 120 seconds. If `ReloadInterval` is not set by the user or has a zero value, the default of 5 seconds will be used.
+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). desiredRouterDeployment will also ensure that the value passed to `RELOAD_INTERVAL` is within the range of 1 second - 120 seconds. If `ReloadInterval` is not set by the user or has a zero value,
+the default of 5 seconds will be used.
The `reloadInterval` field expects an unsigned duration string of decimal numbers, each with optional fraction and a unit suffix, e.g. "100s", "1m30s". Valid time units are "s" and "m". This will be enforced by the API's validation.
The HAProxy template will not be modified.
Since `ReloadInterval` will be exposed as a tuning option in `IngressControllerTuningOptions`, it will no longer be an unsupported config and will be removed from `unsupportedConfigOverrides` in desiredRouterDeployment.
