Skip to content

Commit c7ecca3

Browse files
Remove enableOOBLoadReport and oobReportingPeriod fields from ClientSideWeightedRoundRobin configuration, update affected tests and CRDs.
Signed-off-by: anurag.ag <[email protected]>
1 parent a710063 commit c7ecca3

File tree

9 files changed

+12
-71
lines changed

9 files changed

+12
-71
lines changed

api/v1alpha1/loadbalancer_types.go

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -148,16 +148,6 @@ type Cookie struct {
148148
// See Envoy proto: envoy.extensions.load_balancing_policies.client_side_weighted_round_robin.v3.ClientSideWeightedRoundRobin
149149
// Note: SlowStart is not supported for this policy in Envoy Gateway at this time.
150150
type ClientSideWeightedRoundRobin struct {
151-
// Whether to enable out-of-band utilization reporting collection from the endpoints.
152-
// By default, per-request utilization reporting is used.
153-
// +optional
154-
EnableOOBLoadReport *bool `json:"-"`
155-
156-
// Load reporting interval to request from the server. Used only when enableOOBLoadReport is true.
157-
// Default is 10s; server may not provide reports as frequently as requested.
158-
// +optional
159-
OOBReportingPeriod *gwapiv1.Duration `json:"-"`
160-
161151
// A given endpoint must report load metrics continuously for at least this long before the endpoint weight will be used.
162152
// Default is 10s.
163153
// +optional

api/v1alpha1/zz_generated.deepcopy.go

Lines changed: 0 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/gatewayapi/clustersettings.go

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -346,14 +346,6 @@ func buildLoadBalancer(policy *egv1a1.ClusterSettings) (*ir.LoadBalancer, error)
346346
}
347347
cswrr := policy.LoadBalancer.ClientSideWeightedRoundRobin
348348
if cswrr != nil {
349-
if cswrr.EnableOOBLoadReport != nil {
350-
lb.ClientSideWeightedRoundRobin.EnableOOBLoadReport = cswrr.EnableOOBLoadReport
351-
}
352-
if cswrr.OOBReportingPeriod != nil {
353-
if d, err := time.ParseDuration(string(*cswrr.OOBReportingPeriod)); err == nil {
354-
lb.ClientSideWeightedRoundRobin.OOBReportingPeriod = ir.MetaV1DurationPtr(d)
355-
}
356-
}
357349
if cswrr.BlackoutPeriod != nil {
358350
if d, err := time.ParseDuration(string(*cswrr.BlackoutPeriod)); err == nil {
359351
lb.ClientSideWeightedRoundRobin.BlackoutPeriod = ir.MetaV1DurationPtr(d)

internal/gatewayapi/clustersettings_cswrr_test.go

Lines changed: 8 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,18 @@ import (
1111

1212
"github.com/stretchr/testify/require"
1313
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
14+
"k8s.io/utils/ptr"
1415
gwapiv1 "sigs.k8s.io/gateway-api/apis/v1"
1516

1617
egv1a1 "github.com/envoyproxy/gateway/api/v1alpha1"
17-
"github.com/envoyproxy/gateway/internal/ir"
1818
)
1919

2020
func TestBuildLoadBalancer_ClientSideWeightedRoundRobin(t *testing.T) {
2121
cswrr := &egv1a1.ClientSideWeightedRoundRobin{
22-
EnableOOBLoadReport: ptrBool(true),
23-
OOBReportingPeriod: ptrDuration("5s"),
24-
BlackoutPeriod: ptrDuration("10s"),
25-
WeightExpirationPeriod: ptrDuration("3m"),
26-
WeightUpdatePeriod: ptrDuration("1s"),
27-
ErrorUtilizationPenalty: ptrFloat32(1.5),
22+
BlackoutPeriod: ptr.To(gwapiv1.Duration("10s")),
23+
WeightExpirationPeriod: ptr.To(gwapiv1.Duration("3m")),
24+
WeightUpdatePeriod: ptr.To(gwapiv1.Duration("1s")),
25+
ErrorUtilizationPenalty: ptr.To[float32](1.5),
2826
MetricNamesForComputingUtilization: []string{"named_metrics.foo", "cpu_utilization"},
2927
}
3028

@@ -41,22 +39,10 @@ func TestBuildLoadBalancer_ClientSideWeightedRoundRobin(t *testing.T) {
4139
require.NotNil(t, lb.ClientSideWeightedRoundRobin)
4240

4341
got := lb.ClientSideWeightedRoundRobin
44-
require.Equal(t, cswrr.EnableOOBLoadReport, got.EnableOOBLoadReport)
45-
require.Equal(t, toMetaV1Duration(t, "5s"), got.OOBReportingPeriod)
46-
require.Equal(t, toMetaV1Duration(t, "10s"), got.BlackoutPeriod)
47-
require.Equal(t, toMetaV1Duration(t, "3m"), got.WeightExpirationPeriod)
48-
require.Equal(t, toMetaV1Duration(t, "1s"), got.WeightUpdatePeriod)
42+
require.Equal(t, ptr.To(metav1.Duration{Duration: 10 * time.Second}), got.BlackoutPeriod)
43+
require.Equal(t, ptr.To(metav1.Duration{Duration: 3 * time.Minute}), got.WeightExpirationPeriod)
44+
require.Equal(t, ptr.To(metav1.Duration{Duration: 1 * time.Second}), got.WeightUpdatePeriod)
4945
require.NotNil(t, got.ErrorUtilizationPenalty)
5046
require.InDelta(t, 1.5, *got.ErrorUtilizationPenalty, 0.0001)
5147
require.Equal(t, []string{"named_metrics.foo", "cpu_utilization"}, got.MetricNamesForComputingUtilization)
5248
}
53-
54-
func ptrBool(v bool) *bool { return &v }
55-
func ptrFloat32(v float32) *float32 { return &v }
56-
func ptrDuration(d string) *gwapiv1.Duration { v := gwapiv1.Duration(d); return &v }
57-
58-
func toMetaV1Duration(t *testing.T, d string) *metav1.Duration {
59-
dur, err := time.ParseDuration(d)
60-
require.NoError(t, err)
61-
return ir.MetaV1DurationPtr(dur)
62-
}

internal/ir/xds.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2621,8 +2621,6 @@ type Random struct{}
26212621
// ClientSideWeightedRoundRobin load balancer settings
26222622
// +k8s:deepcopy-gen=true
26232623
type ClientSideWeightedRoundRobin struct {
2624-
EnableOOBLoadReport *bool `json:"enableOOBLoadReport,omitempty" yaml:"enableOOBLoadReport,omitempty"`
2625-
OOBReportingPeriod *metav1.Duration `json:"oobReportingPeriod,omitempty" yaml:"oobReportingPeriod,omitempty"`
26262624
BlackoutPeriod *metav1.Duration `json:"blackoutPeriod,omitempty" yaml:"blackoutPeriod,omitempty"`
26272625
WeightExpirationPeriod *metav1.Duration `json:"weightExpirationPeriod,omitempty" yaml:"weightExpirationPeriod,omitempty"`
26282626
WeightUpdatePeriod *metav1.Duration `json:"weightUpdatePeriod,omitempty" yaml:"weightUpdatePeriod,omitempty"`

internal/ir/xds_test.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
"github.com/stretchr/testify/assert"
1515
"github.com/stretchr/testify/require"
1616
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
17+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1718
"k8s.io/utils/ptr"
1819
gwapiv1 "sigs.k8s.io/gateway-api/apis/v1"
1920

@@ -1341,7 +1342,9 @@ func TestValidateLoadBalancer(t *testing.T) {
13411342
name: "client side wrr set",
13421343
input: LoadBalancer{
13431344
ClientSideWeightedRoundRobin: &ClientSideWeightedRoundRobin{
1344-
EnableOOBLoadReport: ptr.To(false),
1345+
BlackoutPeriod: ptr.To(metav1.Duration{Duration: 30 * time.Second}),
1346+
WeightExpirationPeriod: ptr.To(metav1.Duration{Duration: 10 * time.Second}),
1347+
WeightUpdatePeriod: ptr.To(metav1.Duration{Duration: 1 * time.Second}),
13451348
MetricNamesForComputingUtilization: []string{"named_metrics.foo"},
13461349
},
13471350
},

internal/ir/zz_generated.deepcopy.go

Lines changed: 0 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/xds/translator/cluster.go

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -403,12 +403,6 @@ func buildXdsCluster(args *xdsClusterArgs) (*buildClusterResult, error) {
403403
case args.loadBalancer.ClientSideWeightedRoundRobin != nil:
404404
cswrr := &cswrrv3.ClientSideWeightedRoundRobin{}
405405
if v := args.loadBalancer.ClientSideWeightedRoundRobin; v != nil {
406-
if v.EnableOOBLoadReport != nil {
407-
cswrr.EnableOobLoadReport = wrapperspb.Bool(*v.EnableOOBLoadReport)
408-
}
409-
if v.OOBReportingPeriod != nil && v.OOBReportingPeriod.Duration > 0 {
410-
cswrr.OobReportingPeriod = durationpb.New(v.OOBReportingPeriod.Duration)
411-
}
412406
if v.BlackoutPeriod != nil && v.BlackoutPeriod.Duration > 0 {
413407
cswrr.BlackoutPeriod = durationpb.New(v.BlackoutPeriod.Duration)
414408
}

test/cel-validation/backendtrafficpolicy_test.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -534,8 +534,6 @@ func TestBackendTrafficPolicyTarget(t *testing.T) {
534534
LoadBalancer: &egv1a1.LoadBalancer{
535535
Type: egv1a1.ClientSideWeightedRoundRobinLoadBalancerType,
536536
ClientSideWeightedRoundRobin: &egv1a1.ClientSideWeightedRoundRobin{
537-
EnableOOBLoadReport: ptr.To[bool](false),
538-
OOBReportingPeriod: ptr.To(gwapiv1.Duration("30s")),
539537
BlackoutPeriod: ptr.To(gwapiv1.Duration("10s")),
540538
WeightUpdatePeriod: ptr.To(gwapiv1.Duration("10s")),
541539
WeightExpirationPeriod: ptr.To(gwapiv1.Duration("10s")),

0 commit comments

Comments
 (0)