diff --git a/internal/gatewayapi/testdata/backendtrafficpolicy-with-healthcheck.in.yaml b/internal/gatewayapi/testdata/backendtrafficpolicy-with-healthcheck.in.yaml index e0b71ac1328..bd11501ac10 100644 --- a/internal/gatewayapi/testdata/backendtrafficpolicy-with-healthcheck.in.yaml +++ b/internal/gatewayapi/testdata/backendtrafficpolicy-with-healthcheck.in.yaml @@ -132,6 +132,10 @@ backendTrafficPolicies: baseEjectionTime: 160s interval: 2s maxEjectionPercent: 100 + consecutive5XxErrors: 5 + consecutiveGatewayErrors: 0 + consecutiveLocalOriginFailures: 5 + splitExternalLocalOriginErrors: false - apiVersion: gateway.envoyproxy.io/v1alpha1 kind: BackendTrafficPolicy metadata: @@ -163,6 +167,10 @@ backendTrafficPolicies: baseEjectionTime: 150s interval: 1s maxEjectionPercent: 100 + consecutive5XxErrors: 5 + consecutiveGatewayErrors: 0 + consecutiveLocalOriginFailures: 5 + splitExternalLocalOriginErrors: false - apiVersion: gateway.envoyproxy.io/v1alpha1 kind: BackendTrafficPolicy metadata: @@ -189,9 +197,13 @@ backendTrafficPolicies: type: Text text: pong passive: - baseEjectionTime: 180s - interval: 1s - maxEjectionPercent: 100 + baseEjectionTime: 10s + interval: 10s + maxEjectionPercent: 10 + consecutive5XxErrors: 5 + consecutiveGatewayErrors: 0 + consecutiveLocalOriginFailures: 5 + splitExternalLocalOriginErrors: false - apiVersion: gateway.envoyproxy.io/v1alpha1 kind: BackendTrafficPolicy metadata: @@ -221,3 +233,7 @@ backendTrafficPolicies: baseEjectionTime: 160s interval: 8ms maxEjectionPercent: 11 + consecutive5XxErrors: 5 + consecutiveGatewayErrors: 0 + consecutiveLocalOriginFailures: 5 + splitExternalLocalOriginErrors: false diff --git a/internal/gatewayapi/testdata/backendtrafficpolicy-with-healthcheck.out.yaml b/internal/gatewayapi/testdata/backendtrafficpolicy-with-healthcheck.out.yaml index 78b8946cc3e..021877b870a 100755 --- a/internal/gatewayapi/testdata/backendtrafficpolicy-with-healthcheck.out.yaml +++ b/internal/gatewayapi/testdata/backendtrafficpolicy-with-healthcheck.out.yaml @@ -24,8 +24,12 @@ backendTrafficPolicies: unhealthyThreshold: 3 passive: baseEjectionTime: 2m30s + consecutive5XxErrors: 5 + consecutiveGatewayErrors: 0 + consecutiveLocalOriginFailures: 5 interval: 1s maxEjectionPercent: 100 + splitExternalLocalOriginErrors: false targetRef: group: gateway.networking.k8s.io kind: HTTPRoute @@ -60,9 +64,13 @@ backendTrafficPolicies: type: TCP unhealthyThreshold: 3 passive: - baseEjectionTime: 3m0s - interval: 1s - maxEjectionPercent: 100 + baseEjectionTime: 10s + consecutive5XxErrors: 5 + consecutiveGatewayErrors: 0 + consecutiveLocalOriginFailures: 5 + interval: 10s + maxEjectionPercent: 10 + splitExternalLocalOriginErrors: false targetRef: group: gateway.networking.k8s.io kind: HTTPRoute @@ -98,8 +106,12 @@ backendTrafficPolicies: unhealthyThreshold: 3 passive: baseEjectionTime: 2m40s + consecutive5XxErrors: 5 + consecutiveGatewayErrors: 0 + consecutiveLocalOriginFailures: 5 interval: 8ms maxEjectionPercent: 11 + splitExternalLocalOriginErrors: false targetRef: group: gateway.networking.k8s.io kind: HTTPRoute @@ -137,8 +149,12 @@ backendTrafficPolicies: unhealthyThreshold: 3 passive: baseEjectionTime: 2m40s + consecutive5XxErrors: 5 + consecutiveGatewayErrors: 0 + consecutiveLocalOriginFailures: 5 interval: 2s maxEjectionPercent: 100 + splitExternalLocalOriginErrors: false targetRef: group: gateway.networking.k8s.io kind: Gateway @@ -456,8 +472,12 @@ xdsIR: unhealthyThreshold: 3 passive: baseEjectionTime: 2m40s + consecutive5XxErrors: 5 + consecutiveGatewayErrors: 0 + consecutiveLocalOriginFailures: 5 interval: 2s maxEjectionPercent: 100 + splitExternalLocalOriginErrors: false hostname: '*' isHTTP2: true name: grpcroute/default/grpcroute-1/rule/0/match/-1/* @@ -500,9 +520,13 @@ xdsIR: timeout: 1s unhealthyThreshold: 3 passive: - baseEjectionTime: 3m0s - interval: 1s - maxEjectionPercent: 100 + baseEjectionTime: 10s + consecutive5XxErrors: 5 + consecutiveGatewayErrors: 0 + consecutiveLocalOriginFailures: 5 + interval: 10s + maxEjectionPercent: 10 + splitExternalLocalOriginErrors: false hostname: gateway.envoyproxy.io isHTTP2: false name: httproute/default/httproute-2/rule/0/match/0/gateway_envoyproxy_io @@ -535,8 +559,12 @@ xdsIR: unhealthyThreshold: 3 passive: baseEjectionTime: 2m40s + consecutive5XxErrors: 5 + consecutiveGatewayErrors: 0 + consecutiveLocalOriginFailures: 5 interval: 8ms maxEjectionPercent: 11 + splitExternalLocalOriginErrors: false hostname: gateway.envoyproxy.io isHTTP2: false name: httproute/default/httproute-3/rule/0/match/0/gateway_envoyproxy_io @@ -572,8 +600,12 @@ xdsIR: unhealthyThreshold: 3 passive: baseEjectionTime: 2m30s + consecutive5XxErrors: 5 + consecutiveGatewayErrors: 0 + consecutiveLocalOriginFailures: 5 interval: 1s maxEjectionPercent: 100 + splitExternalLocalOriginErrors: false hostname: gateway.envoyproxy.io isHTTP2: false name: httproute/default/httproute-1/rule/0/match/0/gateway_envoyproxy_io diff --git a/internal/xds/translator/testdata/in/xds-ir/health-check.yaml b/internal/xds/translator/testdata/in/xds-ir/health-check.yaml index a634af2ef8f..ca5f9c0a1c8 100644 --- a/internal/xds/translator/testdata/in/xds-ir/health-check.yaml +++ b/internal/xds/translator/testdata/in/xds-ir/health-check.yaml @@ -27,6 +27,10 @@ http: baseEjectionTime: 180s interval: 2s maxEjectionPercent: 100 + consecutive5XxErrors: 5 + consecutiveGatewayErrors: 0 + consecutiveLocalOriginFailures: 5 + splitExternalLocalOriginErrors: false destination: name: "first-route-dest" settings: @@ -52,6 +56,10 @@ http: baseEjectionTime: 180s interval: 1s maxEjectionPercent: 100 + consecutive5XxErrors: 5 + consecutiveGatewayErrors: 0 + consecutiveLocalOriginFailures: 5 + splitExternalLocalOriginErrors: false destination: name: "second-route-dest" settings: @@ -75,6 +83,10 @@ http: baseEjectionTime: 160s interval: 1s maxEjectionPercent: 100 + consecutive5XxErrors: 5 + consecutiveGatewayErrors: 0 + consecutiveLocalOriginFailures: 5 + splitExternalLocalOriginErrors: false destination: name: "third-route-dest" settings: @@ -98,6 +110,10 @@ http: baseEjectionTime: 180s interval: 1s maxEjectionPercent: 90 + consecutive5XxErrors: 5 + consecutiveGatewayErrors: 0 + consecutiveLocalOriginFailures: 5 + splitExternalLocalOriginErrors: true destination: name: "fourth-route-dest" settings: diff --git a/internal/xds/translator/testdata/out/xds-ir/health-check.clusters.yaml b/internal/xds/translator/testdata/out/xds-ir/health-check.clusters.yaml index 98df3804fc4..8c076fbdb87 100644 --- a/internal/xds/translator/testdata/out/xds-ir/health-check.clusters.yaml +++ b/internal/xds/translator/testdata/out/xds-ir/health-check.clusters.yaml @@ -28,6 +28,9 @@ name: first-route-dest outlierDetection: baseEjectionTime: 180s + consecutive5xx: 5 + consecutiveGatewayFailure: 0 + consecutiveLocalOriginFailure: 5 interval: 2s maxEjectionPercent: 100 perConnectionBufferLimitBytes: 32768 @@ -60,6 +63,9 @@ name: second-route-dest outlierDetection: baseEjectionTime: 180s + consecutive5xx: 5 + consecutiveGatewayFailure: 0 + consecutiveLocalOriginFailure: 5 interval: 1s maxEjectionPercent: 100 perConnectionBufferLimitBytes: 32768 @@ -90,6 +96,9 @@ name: third-route-dest outlierDetection: baseEjectionTime: 160s + consecutive5xx: 5 + consecutiveGatewayFailure: 0 + consecutiveLocalOriginFailure: 5 interval: 1s maxEjectionPercent: 100 perConnectionBufferLimitBytes: 32768 @@ -120,7 +129,11 @@ name: fourth-route-dest outlierDetection: baseEjectionTime: 180s + consecutive5xx: 5 + consecutiveGatewayFailure: 0 + consecutiveLocalOriginFailure: 5 interval: 1s maxEjectionPercent: 90 + splitExternalLocalOriginErrors: true perConnectionBufferLimitBytes: 32768 type: EDS