Skip to content

Commit 3c85a52

Browse files
authored
Handle deprecated replicas in conversion (open-telemetry#2723)
Signed-off-by: Pavol Loffay <[email protected]>
1 parent 2e5339c commit 3c85a52

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
@@ -382,6 +382,31 @@ func Test_tov1beta1AndBack_prometheus_selectors(t *testing.T) {
382382
})
383383
}
384384

385+
func Test_tov1beta1AndBack_deprecated_replicas(t *testing.T) {
386+
one := int32(1)
387+
two := int32(2)
388+
colalpha1 := OpenTelemetryCollector{
389+
Spec: OpenTelemetryCollectorSpec{
390+
MinReplicas: &one,
391+
MaxReplicas: &two,
392+
},
393+
}
394+
395+
colbeta1 := v1beta1.OpenTelemetryCollector{}
396+
err := colalpha1.ConvertTo(&colbeta1)
397+
require.NoError(t, err)
398+
399+
assert.Equal(t, one, *colbeta1.Spec.Autoscaler.MinReplicas)
400+
assert.Equal(t, two, *colbeta1.Spec.Autoscaler.MaxReplicas)
401+
402+
err = colalpha1.ConvertFrom(&colbeta1)
403+
require.NoError(t, err)
404+
assert.Nil(t, colalpha1.Spec.MinReplicas)
405+
assert.Nil(t, colalpha1.Spec.MaxReplicas)
406+
assert.Equal(t, one, *colalpha1.Spec.Autoscaler.MinReplicas)
407+
assert.Equal(t, two, *colalpha1.Spec.Autoscaler.MaxReplicas)
408+
}
409+
385410
func createTA() OpenTelemetryTargetAllocator {
386411
replicas := int32(2)
387412
runAsNonRoot := true

0 commit comments

Comments
 (0)