Skip to content

Commit a479e67

Browse files
Refactor: Replace ptr.To(metav1.Duration) with ir.MetaV1DurationPtr across gateway configurations and tests for cleaner and consistent duration handling. Remove unused metav1 imports where applicable.
Signed-off-by: anurag.ag <[email protected]>
1 parent 0d65b01 commit a479e67

File tree

6 files changed

+22
-25
lines changed

6 files changed

+22
-25
lines changed

internal/gatewayapi/backendtrafficpolicy_test.go

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import (
1212
"time"
1313

1414
"github.com/stretchr/testify/require"
15-
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1615
"k8s.io/utils/ptr"
1716
gwapiv1 "sigs.k8s.io/gateway-api/apis/v1"
1817

@@ -222,8 +221,8 @@ func TestBuildPassiveHealthCheck(t *testing.T) {
222221
},
223222
},
224223
expected: &ir.OutlierDetection{
225-
Interval: ptr.To(metav1.Duration{Duration: 10 * time.Second}),
226-
BaseEjectionTime: ptr.To(metav1.Duration{Duration: 30 * time.Second}),
224+
Interval: ir.MetaV1DurationPtr(10 * time.Second),
225+
BaseEjectionTime: ir.MetaV1DurationPtr(30 * time.Second),
227226
MaxEjectionPercent: ptr.To[int32](10),
228227
Consecutive5xxErrors: ptr.To[uint32](5),
229228
},
@@ -240,8 +239,8 @@ func TestBuildPassiveHealthCheck(t *testing.T) {
240239
},
241240
},
242241
expected: &ir.OutlierDetection{
243-
Interval: ptr.To(metav1.Duration{Duration: 10 * time.Second}),
244-
BaseEjectionTime: ptr.To(metav1.Duration{Duration: 30 * time.Second}),
242+
Interval: ir.MetaV1DurationPtr(10 * time.Second),
243+
BaseEjectionTime: ir.MetaV1DurationPtr(30 * time.Second),
245244
MaxEjectionPercent: ptr.To[int32](10),
246245
Consecutive5xxErrors: ptr.To[uint32](5),
247246
FailurePercentageThreshold: ptr.To[uint32](90),
@@ -263,11 +262,11 @@ func TestBuildPassiveHealthCheck(t *testing.T) {
263262
},
264263
expected: &ir.OutlierDetection{
265264
SplitExternalLocalOriginErrors: ptr.To(true),
266-
Interval: ptr.To(metav1.Duration{Duration: 10 * time.Second}),
265+
Interval: ir.MetaV1DurationPtr(10 * time.Second),
267266
ConsecutiveLocalOriginFailures: ptr.To[uint32](3),
268267
ConsecutiveGatewayErrors: ptr.To[uint32](2),
269268
Consecutive5xxErrors: ptr.To[uint32](5),
270-
BaseEjectionTime: ptr.To(metav1.Duration{Duration: 30 * time.Second}),
269+
BaseEjectionTime: ir.MetaV1DurationPtr(30 * time.Second),
271270
MaxEjectionPercent: ptr.To[int32](10),
272271
FailurePercentageThreshold: ptr.To[uint32](85),
273272
},

internal/gatewayapi/clienttrafficpolicy.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -961,7 +961,7 @@ func buildConnection(connection *egv1a1.ClientConnection) (*ir.ClientConnection,
961961
if err != nil {
962962
return nil, fmt.Errorf("invalid MaxConnectionDuration value %s", *connection.ConnectionLimit.MaxConnectionDuration)
963963
}
964-
irConnectionLimit.MaxConnectionDuration = ptr.To(metav1.Duration{Duration: d})
964+
irConnectionLimit.MaxConnectionDuration = ir.MetaV1DurationPtr(d)
965965
}
966966

967967
if connection.ConnectionLimit.MaxRequestsPerConnection != nil {
@@ -973,7 +973,7 @@ func buildConnection(connection *egv1a1.ClientConnection) (*ir.ClientConnection,
973973
if err != nil {
974974
return nil, fmt.Errorf("invalid MaxStreamDuration value %s", *connection.ConnectionLimit.MaxStreamDuration)
975975
}
976-
irConnectionLimit.MaxStreamDuration = ptr.To(metav1.Duration{Duration: d})
976+
irConnectionLimit.MaxStreamDuration = ir.MetaV1DurationPtr(d)
977977
}
978978

979979
irConnection.ConnectionLimit = irConnectionLimit

internal/gatewayapi/clustersettings.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ func buildClusterSettingsTimeout(policy *egv1a1.ClusterSettings) (*ir.Timeout, e
147147
if err != nil {
148148
errs = errors.Join(errs, fmt.Errorf("invalid MaxStreamDuration value %s", *pto.HTTP.MaxStreamDuration))
149149
} else {
150-
msd = ptr.To(metav1.Duration{Duration: d})
150+
msd = ir.MetaV1DurationPtr(d)
151151
}
152152
}
153153

internal/gatewayapi/clustersettings_cswrr_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ import (
1010
"time"
1111

1212
"github.com/stretchr/testify/require"
13-
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1413
"k8s.io/utils/ptr"
1514
gwapiv1 "sigs.k8s.io/gateway-api/apis/v1"
1615

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

2020
func TestBuildLoadBalancer_ClientSideWeightedRoundRobin(t *testing.T) {
@@ -39,9 +39,9 @@ func TestBuildLoadBalancer_ClientSideWeightedRoundRobin(t *testing.T) {
3939
require.NotNil(t, lb.ClientSideWeightedRoundRobin)
4040

4141
got := lb.ClientSideWeightedRoundRobin
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)
42+
require.Equal(t, ir.MetaV1DurationPtr(10*time.Second), got.BlackoutPeriod)
43+
require.Equal(t, ir.MetaV1DurationPtr(3*time.Minute), got.WeightExpirationPeriod)
44+
require.Equal(t, ir.MetaV1DurationPtr(1*time.Second), got.WeightUpdatePeriod)
4545
require.NotNil(t, got.ErrorUtilizationPenalty)
4646
require.EqualValues(t, 150, *got.ErrorUtilizationPenalty)
4747
require.Equal(t, []string{"named_metrics.foo", "cpu_utilization"}, got.MetricNamesForComputingUtilization)

internal/ir/xds_test.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ 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"
1817
"k8s.io/utils/ptr"
1918
gwapiv1 "sigs.k8s.io/gateway-api/apis/v1"
2019

@@ -1342,9 +1341,9 @@ func TestValidateLoadBalancer(t *testing.T) {
13421341
name: "client side wrr set",
13431342
input: LoadBalancer{
13441343
ClientSideWeightedRoundRobin: &ClientSideWeightedRoundRobin{
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}),
1344+
BlackoutPeriod: MetaV1DurationPtr(30 * time.Second),
1345+
WeightExpirationPeriod: MetaV1DurationPtr(10 * time.Second),
1346+
WeightUpdatePeriod: MetaV1DurationPtr(1 * time.Second),
13481347
MetricNamesForComputingUtilization: []string{"named_metrics.foo"},
13491348
},
13501349
},

internal/xds/translator/cluster_test.go

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ import (
1717
"google.golang.org/protobuf/testing/protocmp"
1818
"google.golang.org/protobuf/types/known/durationpb"
1919
"google.golang.org/protobuf/types/known/wrapperspb"
20-
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2120
"k8s.io/utils/ptr"
2221
"sigs.k8s.io/yaml"
2322

@@ -91,8 +90,8 @@ func TestBuildXdsOutlierDetection(t *testing.T) {
9190
{
9291
name: "basic outlier detection",
9392
input: &ir.OutlierDetection{
94-
Interval: ptr.To(metav1.Duration{Duration: 10 * time.Second}),
95-
BaseEjectionTime: ptr.To(metav1.Duration{Duration: 30 * time.Second}),
93+
Interval: ir.MetaV1DurationPtr(10 * time.Second),
94+
BaseEjectionTime: ir.MetaV1DurationPtr(30 * time.Second),
9695
MaxEjectionPercent: ptr.To[int32](10),
9796
Consecutive5xxErrors: ptr.To[uint32](5),
9897
},
@@ -106,8 +105,8 @@ func TestBuildXdsOutlierDetection(t *testing.T) {
106105
{
107106
name: "outlier detection with failure percentage threshold",
108107
input: &ir.OutlierDetection{
109-
Interval: ptr.To(metav1.Duration{Duration: 10 * time.Second}),
110-
BaseEjectionTime: ptr.To(metav1.Duration{Duration: 30 * time.Second}),
108+
Interval: ir.MetaV1DurationPtr(10 * time.Second),
109+
BaseEjectionTime: ir.MetaV1DurationPtr(30 * time.Second),
111110
MaxEjectionPercent: ptr.To[int32](10),
112111
Consecutive5xxErrors: ptr.To[uint32](5),
113112
FailurePercentageThreshold: ptr.To[uint32](90),
@@ -125,11 +124,11 @@ func TestBuildXdsOutlierDetection(t *testing.T) {
125124
name: "outlier detection with all fields",
126125
input: &ir.OutlierDetection{
127126
SplitExternalLocalOriginErrors: ptr.To(true),
128-
Interval: ptr.To(metav1.Duration{Duration: 10 * time.Second}),
127+
Interval: ir.MetaV1DurationPtr(10 * time.Second),
129128
ConsecutiveLocalOriginFailures: ptr.To[uint32](3),
130129
ConsecutiveGatewayErrors: ptr.To[uint32](2),
131130
Consecutive5xxErrors: ptr.To[uint32](5),
132-
BaseEjectionTime: ptr.To(metav1.Duration{Duration: 30 * time.Second}),
131+
BaseEjectionTime: ir.MetaV1DurationPtr(30 * time.Second),
133132
MaxEjectionPercent: ptr.To[int32](10),
134133
FailurePercentageThreshold: ptr.To[uint32](85),
135134
},

0 commit comments

Comments
 (0)