Skip to content

Commit ac80ff2

Browse files
committed
Handle deprecated replicas in conversion
Signed-off-by: Pavol Loffay <[email protected]>
1 parent c327061 commit ac80ff2

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

apis/v1alpha1/convert.go

+5-1
Original file line numberDiff line numberDiff line change
@@ -181,10 +181,14 @@ func tov1beta1TA(in OpenTelemetryTargetAllocator) v1beta1.TargetAllocatorEmbedde
181181
}
182182
}
183183

184+
// The conversion takes into account deprecated v1alpha1 spec.minReplicas and spec.maxReplicas.
184185
func tov1beta1Autoscaler(in *AutoscalerSpec, minReplicas, maxReplicas *int32) *v1beta1.AutoscalerSpec {
185-
if in == nil {
186+
if in == nil && minReplicas == nil && maxReplicas == nil {
186187
return nil
187188
}
189+
if in == nil {
190+
in = &AutoscalerSpec{}
191+
}
188192

189193
var metrics []v1beta1.MetricSpec
190194
for _, m := range in.Metrics {

apis/v1alpha1/convert_test.go

+25
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,31 @@ func Test_tov1beta1AndBack(t *testing.T) {
323323
assert.Equal(t, colalpha1, colalpha1Converted)
324324
}
325325

326+
func Test_tov1beta1AndBack_deprecated_replicas(t *testing.T) {
327+
one := int32(1)
328+
two := int32(2)
329+
colalpha1 := OpenTelemetryCollector{
330+
Spec: OpenTelemetryCollectorSpec{
331+
MinReplicas: &one,
332+
MaxReplicas: &two,
333+
},
334+
}
335+
336+
colbeta1 := v1beta1.OpenTelemetryCollector{}
337+
err := colalpha1.ConvertTo(&colbeta1)
338+
require.NoError(t, err)
339+
340+
assert.Equal(t, one, *colbeta1.Spec.Autoscaler.MinReplicas)
341+
assert.Equal(t, two, *colbeta1.Spec.Autoscaler.MaxReplicas)
342+
343+
err = colalpha1.ConvertFrom(&colbeta1)
344+
require.NoError(t, err)
345+
assert.Nil(t, colalpha1.Spec.MinReplicas)
346+
assert.Nil(t, colalpha1.Spec.MaxReplicas)
347+
assert.Equal(t, one, *colalpha1.Spec.Autoscaler.MinReplicas)
348+
assert.Equal(t, two, *colalpha1.Spec.Autoscaler.MaxReplicas)
349+
}
350+
326351
func createTA() OpenTelemetryTargetAllocator {
327352
replicas := int32(2)
328353
runAsNonRoot := true

0 commit comments

Comments
 (0)