Skip to content

Commit 01e2bd6

Browse files
committed
implement v1beta2 contract
Signed-off-by: sivchari <[email protected]>
1 parent 0c7eecb commit 01e2bd6

19 files changed

+254
-80
lines changed

test/e2e/data/shared/main/docker/metadata.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ kind: Metadata
33
releaseSeries:
44
- major: 1
55
minor: 11
6-
contract: v1beta1
6+
contract: v1beta2
77
- major: 1
88
minor: 10
99
contract: v1beta1

test/infrastructure/docker/api/v1alpha3/conversion.go

Lines changed: 41 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,6 @@ func (src *DockerCluster) ConvertTo(dstRaw conversion.Hub) error {
3333
return err
3434
}
3535

36-
// Reset conditions from autogenerated conversions
37-
// NOTE: v1alpha3 conditions should not be automatically be converted into v1beta2 conditions.
38-
dst.Status.Conditions = nil
39-
if src.Status.Conditions != nil {
40-
dst.Status.Deprecated = &infrav1.DockerClusterDeprecatedStatus{}
41-
dst.Status.Deprecated.V1Beta1 = &infrav1.DockerClusterV1Beta1DeprecatedStatus{}
42-
clusterv1alpha3.Convert_v1alpha3_Conditions_To_v1beta2_Deprecated_V1Beta1_Conditions(&src.Status.Conditions, &dst.Status.Deprecated.V1Beta1.Conditions)
43-
}
44-
4536
// Manually restore data.
4637
restored := &infrav1.DockerCluster{}
4738
if ok, err := utilconversion.UnmarshalData(src, restored); err != nil || !ok {
@@ -72,13 +63,6 @@ func (dst *DockerCluster) ConvertFrom(srcRaw conversion.Hub) error {
7263
return err
7364
}
7465

75-
// Reset conditions from autogenerated conversions
76-
// NOTE: v1beta2 conditions should not be automatically be converted into v1alpha3 conditions.
77-
dst.Status.Conditions = nil
78-
if src.Status.Deprecated != nil && src.Status.Deprecated.V1Beta1 != nil && src.Status.Deprecated.V1Beta1.Conditions != nil {
79-
clusterv1alpha3.Convert_v1beta2_Deprecated_V1Beta1_Conditions_To_v1alpha3_Conditions(&src.Status.Deprecated.V1Beta1.Conditions, &dst.Status.Conditions)
80-
}
81-
8266
// Preserve Hub data on down-conversion except for metadata
8367
if err := utilconversion.MarshalData(src, dst); err != nil {
8468
return err
@@ -175,7 +159,22 @@ func Convert_v1beta2_DockerMachineSpec_To_v1alpha3_DockerMachineSpec(in *infrav1
175159
}
176160

177161
func Convert_v1beta2_DockerClusterStatus_To_v1alpha3_DockerClusterStatus(in *infrav1.DockerClusterStatus, out *DockerClusterStatus, s apiconversion.Scope) error {
178-
return autoConvert_v1beta2_DockerClusterStatus_To_v1alpha3_DockerClusterStatus(in, out, s)
162+
if err := autoConvert_v1beta2_DockerClusterStatus_To_v1alpha3_DockerClusterStatus(in, out, s); err != nil {
163+
return err
164+
}
165+
166+
// Reset conditions from autogenerated conversions
167+
// NOTE: v1beta2 conditions should not be automatically be converted into v1alpha3 conditions.
168+
out.Conditions = nil
169+
if in.Deprecated != nil && in.Deprecated.V1Beta1 != nil && in.Deprecated.V1Beta1.Conditions != nil {
170+
clusterv1alpha3.Convert_v1beta2_Deprecated_V1Beta1_Conditions_To_v1alpha3_Conditions(&in.Deprecated.V1Beta1.Conditions, &out.Conditions)
171+
}
172+
173+
if in.Initialization != nil {
174+
out.Ready = in.Initialization.Provisioned
175+
}
176+
177+
return nil
179178
}
180179

181180
func Convert_v1beta2_DockerMachineStatus_To_v1alpha3_DockerMachineStatus(in *infrav1.DockerMachineStatus, out *DockerMachineStatus, s apiconversion.Scope) error {
@@ -231,3 +230,28 @@ func Convert_v1alpha3_DockerMachineStatus_To_v1beta2_DockerMachineStatus(in *Doc
231230

232231
return nil
233232
}
233+
234+
func Convert_v1alpha3_DockerClusterStatus_To_v1beta2_DockerClusterStatus(in *DockerClusterStatus, out *infrav1.DockerClusterStatus, s apiconversion.Scope) error {
235+
// NOTE: custom conversion func is required because status.conditions has been added in v1beta2.
236+
if err := autoConvert_v1alpha3_DockerClusterStatus_To_v1beta2_DockerClusterStatus(in, out, s); err != nil {
237+
return err
238+
}
239+
240+
// Reset conditions from autogenerated conversions
241+
// NOTE: v1alpha3 conditions should not be automatically be converted into v1beta2 conditions.
242+
out.Conditions = nil
243+
if in.Conditions != nil {
244+
out.Deprecated = &infrav1.DockerClusterDeprecatedStatus{}
245+
out.Deprecated.V1Beta1 = &infrav1.DockerClusterV1Beta1DeprecatedStatus{}
246+
clusterv1alpha3.Convert_v1alpha3_Conditions_To_v1beta2_Deprecated_V1Beta1_Conditions(&in.Conditions, &out.Deprecated.V1Beta1.Conditions)
247+
}
248+
249+
out.Initialization = nil
250+
if in.Ready {
251+
out.Initialization = &infrav1.DockerClusterInitializationStatus{
252+
Provisioned: in.Ready,
253+
}
254+
}
255+
256+
return nil
257+
}

test/infrastructure/docker/api/v1alpha3/conversion_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,12 @@ func hubDockerClusterStatus(in *infrav1.DockerClusterStatus, c randfill.Continue
6565
in.Deprecated = nil
6666
}
6767
}
68+
69+
if in.Initialization != nil {
70+
if reflect.DeepEqual(in.Initialization, &infrav1.DockerClusterInitializationStatus{}) {
71+
in.Initialization = nil
72+
}
73+
}
6874
}
6975

7076
func DockerMachineFuzzFunc(_ runtimeserializer.CodecFactory) []any {

test/infrastructure/docker/api/v1alpha3/zz_generated.conversion.go

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

test/infrastructure/docker/api/v1alpha4/conversion.go

Lines changed: 41 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,6 @@ func (src *DockerCluster) ConvertTo(dstRaw conversion.Hub) error {
3333
return err
3434
}
3535

36-
// Reset conditions from autogenerated conversions
37-
// NOTE: v1alpha4 conditions should not be automatically be converted into v1beta2 conditions.
38-
dst.Status.Conditions = nil
39-
if src.Status.Conditions != nil {
40-
dst.Status.Deprecated = &infrav1.DockerClusterDeprecatedStatus{}
41-
dst.Status.Deprecated.V1Beta1 = &infrav1.DockerClusterV1Beta1DeprecatedStatus{}
42-
clusterv1alpha4.Convert_v1alpha4_Conditions_To_v1beta2_Deprecated_V1Beta1_Conditions(&src.Status.Conditions, &dst.Status.Deprecated.V1Beta1.Conditions)
43-
}
44-
4536
// Manually restore data.
4637
restored := &infrav1.DockerCluster{}
4738
if ok, err := utilconversion.UnmarshalData(src, restored); err != nil || !ok {
@@ -64,13 +55,6 @@ func (dst *DockerCluster) ConvertFrom(srcRaw conversion.Hub) error {
6455
return err
6556
}
6657

67-
// Reset conditions from autogenerated conversions
68-
// NOTE: v1beta2 conditions should not be automatically be converted into v1alpha4 conditions.
69-
dst.Status.Conditions = nil
70-
if src.Status.Deprecated != nil && src.Status.Deprecated.V1Beta1 != nil && src.Status.Deprecated.V1Beta1.Conditions != nil {
71-
clusterv1alpha4.Convert_v1beta2_Deprecated_V1Beta1_Conditions_To_v1alpha4_Conditions(&src.Status.Deprecated.V1Beta1.Conditions, &dst.Status.Conditions)
72-
}
73-
7458
if err := utilconversion.MarshalData(src, dst); err != nil {
7559
return err
7660
}
@@ -204,7 +188,22 @@ func Convert_v1beta2_DockerMachineSpec_To_v1alpha4_DockerMachineSpec(in *infrav1
204188
}
205189

206190
func Convert_v1beta2_DockerClusterStatus_To_v1alpha4_DockerClusterStatus(in *infrav1.DockerClusterStatus, out *DockerClusterStatus, s apiconversion.Scope) error {
207-
return autoConvert_v1beta2_DockerClusterStatus_To_v1alpha4_DockerClusterStatus(in, out, s)
191+
if err := autoConvert_v1beta2_DockerClusterStatus_To_v1alpha4_DockerClusterStatus(in, out, s); err != nil {
192+
return err
193+
}
194+
195+
// Reset conditions from autogenerated conversions
196+
// NOTE: v1beta2 conditions should not be automatically be converted into v1alpha4 conditions.
197+
out.Conditions = nil
198+
if in.Deprecated != nil && in.Deprecated.V1Beta1 != nil && in.Deprecated.V1Beta1.Conditions != nil {
199+
clusterv1alpha4.Convert_v1beta2_Deprecated_V1Beta1_Conditions_To_v1alpha4_Conditions(&in.Deprecated.V1Beta1.Conditions, &out.Conditions)
200+
}
201+
202+
if in.Initialization != nil {
203+
out.Ready = in.Initialization.Provisioned
204+
}
205+
206+
return nil
208207
}
209208

210209
func Convert_v1beta2_DockerMachineStatus_To_v1alpha4_DockerMachineStatus(in *infrav1.DockerMachineStatus, out *DockerMachineStatus, s apiconversion.Scope) error {
@@ -275,3 +274,28 @@ func Convert_v1alpha4_DockerMachineStatus_To_v1beta2_DockerMachineStatus(in *Doc
275274

276275
return nil
277276
}
277+
278+
func Convert_v1alpha4_DockerClusterStatus_To_v1beta2_DockerClusterStatus(in *DockerClusterStatus, out *infrav1.DockerClusterStatus, s apiconversion.Scope) error {
279+
// NOTE: custom conversion func is required because status.conditions has been added in v1beta2.
280+
if err := autoConvert_v1alpha4_DockerClusterStatus_To_v1beta2_DockerClusterStatus(in, out, s); err != nil {
281+
return err
282+
}
283+
284+
// Reset conditions from autogenerated conversions
285+
// NOTE: v1alpha4 conditions should not be automatically be converted into v1beta2 conditions.
286+
out.Conditions = nil
287+
if in.Conditions != nil {
288+
out.Deprecated = &infrav1.DockerClusterDeprecatedStatus{}
289+
out.Deprecated.V1Beta1 = &infrav1.DockerClusterV1Beta1DeprecatedStatus{}
290+
clusterv1alpha4.Convert_v1alpha4_Conditions_To_v1beta2_Deprecated_V1Beta1_Conditions(&in.Conditions, &out.Deprecated.V1Beta1.Conditions)
291+
}
292+
293+
out.Initialization = nil
294+
if in.Ready {
295+
out.Initialization = &infrav1.DockerClusterInitializationStatus{
296+
Provisioned: in.Ready,
297+
}
298+
}
299+
300+
return nil
301+
}

test/infrastructure/docker/api/v1alpha4/conversion_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,12 @@ func hubDockerClusterStatus(in *infrav1.DockerClusterStatus, c randfill.Continue
7070
in.Deprecated = nil
7171
}
7272
}
73+
74+
if in.Initialization != nil {
75+
if reflect.DeepEqual(in.Initialization, &infrav1.DockerClusterInitializationStatus{}) {
76+
in.Initialization = nil
77+
}
78+
}
7379
}
7480

7581
func DockerMachineFuzzFunc(_ runtimeserializer.CodecFactory) []any {

test/infrastructure/docker/api/v1alpha4/zz_generated.conversion.go

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

test/infrastructure/docker/api/v1beta1/conversion.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,13 @@ func Convert_v1beta1_DevClusterStatus_To_v1beta2_DevClusterStatus(in *DevCluster
135135
return err
136136
}
137137

138+
out.Initialization = nil
139+
if in.Ready {
140+
out.Initialization = &infrav1.DevClusterInitializationStatus{
141+
Provisioned: in.Ready,
142+
}
143+
}
144+
138145
// Reset conditions from autogenerated conversions
139146
// NOTE: v1beta1 conditions should not be automatically be converted into v1beta2 conditions.
140147
out.Conditions = nil
@@ -165,6 +172,10 @@ func Convert_v1beta2_DevClusterStatus_To_v1beta1_DevClusterStatus(in *infrav1.De
165172
return err
166173
}
167174

175+
if in.Initialization != nil {
176+
out.Ready = in.Initialization.Provisioned
177+
}
178+
168179
// Reset conditions from autogenerated conversions
169180
// NOTE: v1beta2 conditions should not be automatically be converted into legacy conditions (v1beta1).
170181
out.Conditions = nil
@@ -255,6 +266,13 @@ func Convert_v1beta1_DockerClusterStatus_To_v1beta2_DockerClusterStatus(in *Dock
255266
return err
256267
}
257268

269+
out.Initialization = nil
270+
if in.Ready {
271+
out.Initialization = &infrav1.DockerClusterInitializationStatus{
272+
Provisioned: in.Ready,
273+
}
274+
}
275+
258276
// Reset conditions from autogenerated conversions
259277
// NOTE: v1beta1 conditions should not be automatically be converted into v1beta2 conditions.
260278
out.Conditions = nil
@@ -285,6 +303,10 @@ func Convert_v1beta2_DockerClusterStatus_To_v1beta1_DockerClusterStatus(in *infr
285303
return err
286304
}
287305

306+
if in.Initialization != nil {
307+
out.Ready = in.Initialization.Provisioned
308+
}
309+
288310
// Reset conditions from autogenerated conversions
289311
// NOTE: v1beta2 conditions should not be automatically be converted into legacy conditions (v1beta1).
290312
out.Conditions = nil

test/infrastructure/docker/api/v1beta1/conversion_test.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,12 @@ func hubDockerClusterStatus(in *infrav1.DockerClusterStatus, c randfill.Continue
9393
in.Deprecated = nil
9494
}
9595
}
96+
97+
if in.Initialization != nil {
98+
if reflect.DeepEqual(in.Initialization, &infrav1.DockerClusterInitializationStatus{}) {
99+
in.Initialization = nil
100+
}
101+
}
96102
}
97103

98104
func spokeDockerClusterStatus(in *DockerClusterStatus, c randfill.Continue) {
@@ -155,6 +161,12 @@ func hubDevClusterStatus(in *infrav1.DevClusterStatus, c randfill.Continue) {
155161
in.Deprecated = nil
156162
}
157163
}
164+
165+
if in.Initialization != nil {
166+
if reflect.DeepEqual(in.Initialization, &infrav1.DevClusterInitializationStatus{}) {
167+
in.Initialization = nil
168+
}
169+
}
158170
}
159171

160172
func spokeDevClusterStatus(in *DevClusterStatus, c randfill.Continue) {

0 commit comments

Comments
 (0)