Skip to content

Commit 5f58686

Browse files
Merge pull request #30936 from alebedev87/dual-stack-disruption-monitor-fix
OCPSTRAT-886: Support dual-stack LB in service disruption monitor
2 parents 86414bd + ed71c18 commit 5f58686

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

pkg/monitortests/network/disruptionserviceloadbalancer/monitortest.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,25 @@ func (w *availability) PrepareCollection(ctx context.Context, adminRESTConfig *r
179179
// - Azure is hardcoded to 15s (2 failed with 5s interval in 1.17) and is sufficient
180180
// - GCP has a non-configurable interval of 32s (3 failed health checks with 8s interval in 1.17)
181181
// - thus pods need to stay up for > 32s, so pod shutdown period will will be 45s
182+
183+
// Configure dual-stack if the cluster created with dual-stack IP families.
184+
// NLB is required on AWS for dual-stack load balancers.
185+
if infra.Status.PlatformStatus.AWS != nil {
186+
var dualStackIPFamilies []corev1.IPFamily
187+
switch infra.Status.PlatformStatus.AWS.IPFamily {
188+
case configv1.DualStackIPv4Primary:
189+
dualStackIPFamilies = []corev1.IPFamily{corev1.IPv4Protocol, corev1.IPv6Protocol}
190+
case configv1.DualStackIPv6Primary:
191+
dualStackIPFamilies = []corev1.IPFamily{corev1.IPv6Protocol, corev1.IPv4Protocol}
192+
}
193+
194+
if len(dualStackIPFamilies) > 0 {
195+
s.Annotations["service.beta.kubernetes.io/aws-load-balancer-type"] = "nlb"
196+
dualStackPolicy := corev1.IPFamilyPolicyRequireDualStack
197+
s.Spec.IPFamilyPolicy = &dualStackPolicy
198+
s.Spec.IPFamilies = dualStackIPFamilies
199+
}
200+
}
182201
})
183202
if err != nil {
184203
return fmt.Errorf("error creating tcp service: %w", err)

0 commit comments

Comments
 (0)