Skip to content

Commit ed38b12

Browse files
committed
Minor fixes
Signed-off-by: michaelawyu <[email protected]>
1 parent 75d0be7 commit ed38b12

File tree

3 files changed

+39
-0
lines changed

3 files changed

+39
-0
lines changed

charts/member-agent/README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,17 @@ helm upgrade member-agent member-agent/ --namespace fleet-system
4242
| logVerbosity | Log level. Uses V logs (klog) | `3` |
4343
| propertyProvider | The property provider to use with the member agent; if none is specified, the Fleet member agent will start with no property provider (i.e., the agent will expose no cluster properties, and collect only limited resource usage information) | `` |
4444
| region | The region where the member cluster resides | `` |
45+
| workApplierRequeueRateLimiterAttemptsWithFixedDelay | This parameter is a set of values to control how frequent KubeFleet should reconcile (processed) manifests; it specifies then number of attempts to requeue with fixed delay before switching to exponential backoff | `1` |
46+
| workApplierRequeueRateLimiterFixedDelaySeconds | This parameter is a set of values to control how frequent KubeFleet should reconcile (process) manifests; it specifies the fixed delay in seconds for initial requeue attempts | `5` |
47+
| workApplierRequeueRateLimiterExponentialBaseForSlowBackoff | This parameter is a set of values to control how frequent KubeFleet should reconcile (process) manifests; it specifies the exponential base for the slow backoff stage | `1.2` |
48+
| workApplierRequeueRateLimiterInitialSlowBackoffDelaySeconds | This parameter is a set of values to control how frequent KubeFleet should reconcile (process) manifests; it specifies the initial delay in seconds for the slow backoff stage | `2` |
49+
| workApplierRequeueRateLimiterMaxSlowBackoffDelaySeconds | This parameter is a set of values to control how frequent KubeFleet should reconcile (process) manifests; it specifies the maximum delay in seconds for the slow backoff stage | `15` |
50+
| workApplierRequeueRateLimiterExponentialBaseForFastBackoff | This parameter is a set of values to control how frequent KubeFleet should reconcile (process) manifests; it specifies the exponential base for the fast backoff stage | `1.5` |
51+
| workApplierRequeueRateLimiterMaxFastBackoffDelaySeconds | This parameter is a set of values to control how frequent KubeFleet should reconcile (process) manifests; it specifies the maximum delay in seconds for the fast backoff stage | `900` |
52+
| workApplierRequeueRateLimiterSkipToFastBackoffForAvailableOrDiffReportedWorkObjs | This parameter is a set of values to control how frequent KubeFleet should reconcile (process) manifests; it specifies whether to skip the slow backoff stage and start fast backoff immediately for available or diff-reported work objects | `true` |
4553
| config.azureCloudConfig | The cloud provider configuration | **required if property provider is set to azure** |
4654

55+
4756
## Override Azure cloud config
4857

4958
**If PropertyProvider feature is set to azure, then a cloud configuration is required.**

charts/member-agent/templates/deployment.yaml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,30 @@ spec:
3636
- --enable-pprof={{ .Values.enablePprof }}
3737
- --pprof-port={{ .Values.pprofPort }}
3838
- --hub-pprof-port={{ .Values.hubPprofPort }}
39+
{{- if .Values.workApplierRequeueRateLimiterAttemptsWithFixedDelay }}
40+
- --work-applier-requeue-rate-limiter-attempts-with-fixed-delay={{ .Values.workApplierRequeueRateLimiterAttemptsWithFixedDelay }}
41+
{{- end }}
42+
{{- if .Values.workApplierRequeueRateLimiterFixedDelaySeconds }}
43+
- --work-applier-requeue-rate-limiter-fixed-delay-seconds={{ .Values.workApplierRequeueRateLimiterFixedDelaySeconds }}
44+
{{- end }}
45+
{{- if .Values.workApplierRequeueRateLimiterExponentialBaseForSlowBackoff }}
46+
- --work-applier-requeue-rate-limiter-exponential-base-for-slow-backoff={{ .Values.workApplierRequeueRateLimiterExponentialBaseForSlowBackoff }}
47+
{{- end }}
48+
{{- if .Values.workApplierRequeueRateLimiterInitialSlowBackoffDelaySeconds }}
49+
- --work-applier-requeue-rate-limiter-initial-slow-backoff-delay-seconds={{ .Values.workApplierRequeueRateLimiterInitialSlowBackoffDelaySeconds }}
50+
{{- end }}
51+
{{- if .Values.workApplierRequeueRateLimiterMaxSlowBackoffDelaySeconds }}
52+
- --work-applier-requeue-rate-limiter-max-slow-backoff-delay-seconds={{ .Values.workApplierRequeueRateLimiterMaxSlowBackoffDelaySeconds }}
53+
{{- end }}
54+
{{- if .Values.workApplierRequeueRateLimiterExponentialBaseForFastBackoff }}
55+
- --work-applier-requeue-rate-limiter-exponential-base-for-fast-backoff={{ .Values.workApplierRequeueRateLimiterExponentialBaseForFastBackoff }}
56+
{{- end }}
57+
{{- if .Values.workApplierRequeueRateLimiterMaxFastBackoffDelaySeconds }}
58+
- --work-applier-requeue-rate-limiter-max-fast-backoff-delay-seconds={{ .Values.workApplierRequeueRateLimiterMaxFastBackoffDelaySeconds }}
59+
{{- end }}
60+
{{- if .Values.workApplierRequeueRateLimiterSkipToFastBackoffForAvailableOrDiffReportedWorkObjs }}
61+
- --work-applier-requeue-rate-limiter-skip-to-fast-backoff-for-available-or-diff-reported-work-objs={{ .Values.workApplierRequeueRateLimiterSkipToFastBackoffForAvailableOrDiffReportedWorkObjs }}
62+
{{- end }}
3963
{{- if .Values.propertyProvider }}
4064
- --property-provider={{ .Values.propertyProvider }}
4165
{{- end }}

test/e2e/setup.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,8 @@ kind export kubeconfig --name $HUB_CLUSTER
175175
HUB_SERVER_URL="https://$(docker inspect $HUB_CLUSTER-control-plane --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'):6443"
176176

177177
# Install the member agents and related components
178+
# Note that the work applier in the member agent are set to requeue at max. every 5 seconds instead of using the default
179+
# exponential backoff behavior; this is to accommodate some of the timeout settings in the E2E test specs.
178180
for (( i=0; i<${MEMBER_CLUSTER_COUNT}; i++ ));
179181
do
180182
kind export kubeconfig --name "${MEMBER_CLUSTERS[$i]}"
@@ -191,6 +193,8 @@ do
191193
--set logVerbosity=5 \
192194
--set namespace=fleet-system \
193195
--set enableV1Beta1APIs=true \
196+
--set workApplierRequeueRateLimiterMaxSlowBackoffDelaySeconds=5 \
197+
--set workApplierRequeueRateLimiterMaxFastBackoffDelaySeconds=5 \
194198
--set propertyProvider=$PROPERTY_PROVIDER \
195199
--set region=${REGIONS[$i]} \
196200
$( [ "$PROPERTY_PROVIDER" = "azure" ] && echo "-f azure_valid_config.yaml" )
@@ -207,6 +211,8 @@ do
207211
--set logVerbosity=5 \
208212
--set namespace=fleet-system \
209213
--set enableV1Beta1APIs=true \
214+
--set workApplierRequeueRateLimiterMaxSlowBackoffDelaySeconds=5 \
215+
--set workApplierRequeueRateLimiterMaxFastBackoffDelaySeconds=5 \
210216
--set propertyProvider=$PROPERTY_PROVIDER \
211217
$( [ "$PROPERTY_PROVIDER" = "azure" ] && echo "-f azure_valid_config.yaml" )
212218
fi

0 commit comments

Comments
 (0)