Skip to content

Commit 4ccf853

Browse files
authored
Merge pull request #289 from vignesh-goutham/merge-v1beta3-main
Add v1beta3 API
2 parents a5c5c4b + 7cef82c commit 4ccf853

File tree

154 files changed

+6328
-786
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

154 files changed

+6328
-786
lines changed

PROJECT

Lines changed: 131 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,16 @@ domain: cluster.x-k8s.io
22
projectName: cluster-api-provider-capc
33
repo: sigs.k8s.io/cluster-api-provider-cloudstack
44
resources:
5+
# v1beta3 types
56
- api:
67
crdVersion: v1
78
namespaced: true
89
controller: true
910
domain: cluster.x-k8s.io
1011
group: infrastructure
1112
kind: CloudStackCluster
12-
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta1
13-
version: v1beta1
13+
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta3
14+
version: v1beta3
1415
webhooks:
1516
defaulting: true
1617
validation: true
@@ -22,8 +23,8 @@ resources:
2223
domain: cluster.x-k8s.io
2324
group: infrastructure
2425
kind: CloudStackMachine
25-
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta1
26-
version: v1beta1
26+
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta3
27+
version: v1beta3
2728
webhooks:
2829
defaulting: true
2930
validation: true
@@ -35,8 +36,8 @@ resources:
3536
domain: cluster.x-k8s.io
3637
group: infrastructure
3738
kind: CloudStackMachineTemplate
38-
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta1
39-
version: v1beta1
39+
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta3
40+
version: v1beta3
4041
webhooks:
4142
defaulting: true
4243
validation: true
@@ -48,6 +49,105 @@ resources:
4849
domain: cluster.x-k8s.io
4950
group: infrastructure
5051
kind: CloudStackIsolatedNetwork
52+
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta3
53+
version: v1beta3
54+
- api:
55+
crdVersion: v1
56+
namespaced: true
57+
controller: true
58+
domain: cluster.x-k8s.io
59+
group: infrastructure
60+
kind: CloudStackAffinityGroup
61+
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta3
62+
version: v1beta3
63+
- api:
64+
crdVersion: v1
65+
namespaced: true
66+
controller: true
67+
domain: cluster.x-k8s.io
68+
group: infrastructure
69+
kind: CloudStackMachineStateChecker
70+
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta3
71+
version: v1beta3
72+
- api:
73+
crdVersion: v1
74+
namespaced: true
75+
domain: cluster.x-k8s.io
76+
group: infrastructure
77+
kind: CloudStackFailureDomain
78+
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta3
79+
version: v1beta3
80+
# v1beta2 types
81+
- api:
82+
crdVersion: v1
83+
namespaced: true
84+
controller: true
85+
domain: cluster.x-k8s.io
86+
group: infrastructure
87+
kind: CloudStackCluster
88+
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2
89+
version: v1beta2
90+
- api:
91+
crdVersion: v1
92+
namespaced: true
93+
controller: true
94+
domain: cluster.x-k8s.io
95+
group: infrastructure
96+
kind: CloudStackMachine
97+
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2
98+
version: v1beta2
99+
- api:
100+
crdVersion: v1
101+
namespaced: true
102+
controller: true
103+
domain: cluster.x-k8s.io
104+
group: infrastructure
105+
kind: CloudStackMachineTemplate
106+
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2
107+
version: v1beta2
108+
- api:
109+
crdVersion: v1
110+
namespaced: true
111+
controller: true
112+
domain: cluster.x-k8s.io
113+
group: infrastructure
114+
kind: CloudStackIsolatedNetwork
115+
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2
116+
version: v1beta2
117+
- api:
118+
crdVersion: v1
119+
namespaced: true
120+
controller: true
121+
domain: cluster.x-k8s.io
122+
group: infrastructure
123+
kind: CloudStackAffinityGroup
124+
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2
125+
version: v1beta2
126+
- api:
127+
crdVersion: v1
128+
namespaced: true
129+
controller: true
130+
domain: cluster.x-k8s.io
131+
group: infrastructure
132+
kind: CloudStackMachineStateChecker
133+
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2
134+
version: v1beta2
135+
- api:
136+
crdVersion: v1
137+
namespaced: true
138+
domain: cluster.x-k8s.io
139+
group: infrastructure
140+
kind: CloudStackFailureDomain
141+
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2
142+
version: v1beta2
143+
# v1beta1 types
144+
- api:
145+
crdVersion: v1
146+
namespaced: true
147+
controller: true
148+
domain: cluster.x-k8s.io
149+
group: infrastructure
150+
kind: CloudStackCluster
51151
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta1
52152
version: v1beta1
53153
- api:
@@ -56,7 +156,7 @@ resources:
56156
controller: true
57157
domain: cluster.x-k8s.io
58158
group: infrastructure
59-
kind: CloudStackZone
159+
kind: CloudStackMachine
60160
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta1
61161
version: v1beta1
62162
- api:
@@ -65,7 +165,7 @@ resources:
65165
controller: true
66166
domain: cluster.x-k8s.io
67167
group: infrastructure
68-
kind: CloudStackAffinityGroup
168+
kind: CloudStackMachineTemplate
69169
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta1
70170
version: v1beta1
71171
- api:
@@ -74,15 +174,34 @@ resources:
74174
controller: true
75175
domain: cluster.x-k8s.io
76176
group: infrastructure
77-
kind: CloudStackMachineStateChecker
177+
kind: CloudStackIsolatedNetwork
78178
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta1
79179
version: v1beta1
80180
- api:
81181
crdVersion: v1
82182
namespaced: true
183+
controller: true
83184
domain: cluster.x-k8s.io
84185
group: infrastructure
85-
kind: CloudStackFailureDomain
86-
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2
87-
version: v1beta2
186+
kind: CloudStackZone
187+
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta1
188+
version: v1beta1
189+
- api:
190+
crdVersion: v1
191+
namespaced: true
192+
controller: true
193+
domain: cluster.x-k8s.io
194+
group: infrastructure
195+
kind: CloudStackAffinityGroup
196+
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta1
197+
version: v1beta1
198+
- api:
199+
crdVersion: v1
200+
namespaced: true
201+
controller: true
202+
domain: cluster.x-k8s.io
203+
group: infrastructure
204+
kind: CloudStackMachineStateChecker
205+
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta1
206+
version: v1beta1
88207
version: "3"

api/v1beta1/cloudstackaffinitygroup_conversion.go

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,42 @@ limitations under the License.
1717
package v1beta1
1818

1919
import (
20-
"sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2"
20+
machineryconversion "k8s.io/apimachinery/pkg/conversion"
21+
"sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta3"
22+
utilconversion "sigs.k8s.io/cluster-api/util/conversion"
2123
"sigs.k8s.io/controller-runtime/pkg/conversion"
2224
)
2325

2426
func (src *CloudStackAffinityGroup) ConvertTo(dstRaw conversion.Hub) error { // nolint
25-
dst := dstRaw.(*v1beta2.CloudStackAffinityGroup)
26-
return Convert_v1beta1_CloudStackAffinityGroup_To_v1beta2_CloudStackAffinityGroup(src, dst, nil)
27+
dst := dstRaw.(*v1beta3.CloudStackAffinityGroup)
28+
if err := Convert_v1beta1_CloudStackAffinityGroup_To_v1beta3_CloudStackAffinityGroup(src, dst, nil); err != nil {
29+
return err
30+
}
31+
32+
// Manually restore data
33+
restored := &v1beta3.CloudStackAffinityGroup{}
34+
if ok, err := utilconversion.UnmarshalData(src, restored); err != nil || !ok {
35+
return err
36+
}
37+
if restored.Spec.FailureDomainName != "" {
38+
dst.Spec.FailureDomainName = restored.Spec.FailureDomainName
39+
}
40+
return nil
2741
}
2842

2943
func (dst *CloudStackAffinityGroup) ConvertFrom(srcRaw conversion.Hub) error { // nolint
30-
src := srcRaw.(*v1beta2.CloudStackAffinityGroup)
31-
return Convert_v1beta2_CloudStackAffinityGroup_To_v1beta1_CloudStackAffinityGroup(src, dst, nil)
44+
src := srcRaw.(*v1beta3.CloudStackAffinityGroup)
45+
if err := Convert_v1beta3_CloudStackAffinityGroup_To_v1beta1_CloudStackAffinityGroup(src, dst, nil); err != nil {
46+
return err
47+
}
48+
49+
// Preserve Hub data on down-conversion
50+
if err := utilconversion.MarshalData(src, dst); err != nil {
51+
return err
52+
}
53+
return nil
54+
}
55+
56+
func Convert_v1beta3_CloudStackAffinityGroupSpec_To_v1beta1_CloudStackAffinityGroupSpec(in *v1beta3.CloudStackAffinityGroupSpec, out *CloudStackAffinityGroupSpec, s machineryconversion.Scope) error { // nolint
57+
return autoConvert_v1beta3_CloudStackAffinityGroupSpec_To_v1beta1_CloudStackAffinityGroupSpec(in, out, s)
3258
}

api/v1beta1/cloudstackcluster_conversion.go

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
Copyright 2022 The Kubernetes Authors.
2+
Copyright 2023 The Kubernetes Authors.
33
44
Licensed under the Apache License, Version 2.0 (the "License");
55
you may not use this file except in compliance with the License.
@@ -17,18 +17,16 @@ limitations under the License.
1717
package v1beta1
1818

1919
import (
20-
"sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2"
20+
"sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta3"
2121
"sigs.k8s.io/controller-runtime/pkg/conversion"
2222
)
2323

2424
func (src *CloudStackCluster) ConvertTo(dstRaw conversion.Hub) error { // nolint
25-
dst := dstRaw.(*v1beta2.CloudStackCluster)
26-
27-
return Convert_v1beta1_CloudStackCluster_To_v1beta2_CloudStackCluster(src, dst, nil)
25+
dst := dstRaw.(*v1beta3.CloudStackCluster)
26+
return Convert_v1beta1_CloudStackCluster_To_v1beta3_CloudStackCluster(src, dst, nil)
2827
}
2928

3029
func (dst *CloudStackCluster) ConvertFrom(srcRaw conversion.Hub) error { // nolint
31-
src := srcRaw.(*v1beta2.CloudStackCluster)
32-
33-
return Convert_v1beta2_CloudStackCluster_To_v1beta1_CloudStackCluster(src, dst, nil)
30+
src := srcRaw.(*v1beta3.CloudStackCluster)
31+
return Convert_v1beta3_CloudStackCluster_To_v1beta1_CloudStackCluster(src, dst, nil)
3432
}

api/v1beta1/cloudstackisolatednetwork_conversion.go

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,42 @@ limitations under the License.
1717
package v1beta1
1818

1919
import (
20-
"sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2"
20+
machineryconversion "k8s.io/apimachinery/pkg/conversion"
21+
"sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta3"
22+
utilconversion "sigs.k8s.io/cluster-api/util/conversion"
2123
"sigs.k8s.io/controller-runtime/pkg/conversion"
2224
)
2325

2426
func (src *CloudStackIsolatedNetwork) ConvertTo(dstRaw conversion.Hub) error { // nolint
25-
dst := dstRaw.(*v1beta2.CloudStackIsolatedNetwork)
26-
return Convert_v1beta1_CloudStackIsolatedNetwork_To_v1beta2_CloudStackIsolatedNetwork(src, dst, nil)
27+
dst := dstRaw.(*v1beta3.CloudStackIsolatedNetwork)
28+
if err := Convert_v1beta1_CloudStackIsolatedNetwork_To_v1beta3_CloudStackIsolatedNetwork(src, dst, nil); err != nil {
29+
return err
30+
}
31+
32+
// Manually restore data
33+
restored := &v1beta3.CloudStackIsolatedNetwork{}
34+
if ok, err := utilconversion.UnmarshalData(src, restored); err != nil || !ok {
35+
return err
36+
}
37+
if restored.Spec.FailureDomainName != "" {
38+
dst.Spec.FailureDomainName = restored.Spec.FailureDomainName
39+
}
40+
return nil
2741
}
2842

2943
func (dst *CloudStackIsolatedNetwork) ConvertFrom(srcRaw conversion.Hub) error { // nolint
30-
src := srcRaw.(*v1beta2.CloudStackIsolatedNetwork)
31-
return Convert_v1beta2_CloudStackIsolatedNetwork_To_v1beta1_CloudStackIsolatedNetwork(src, dst, nil)
44+
src := srcRaw.(*v1beta3.CloudStackIsolatedNetwork)
45+
if err := Convert_v1beta3_CloudStackIsolatedNetwork_To_v1beta1_CloudStackIsolatedNetwork(src, dst, nil); err != nil {
46+
return err
47+
}
48+
49+
// Preserve Hub data on down-conversion
50+
if err := utilconversion.MarshalData(src, dst); err != nil {
51+
return err
52+
}
53+
return nil
54+
}
55+
56+
func Convert_v1beta3_CloudStackIsolatedNetworkSpec_To_v1beta1_CloudStackIsolatedNetworkSpec(in *v1beta3.CloudStackIsolatedNetworkSpec, out *CloudStackIsolatedNetworkSpec, s machineryconversion.Scope) error { // nolint
57+
return autoConvert_v1beta3_CloudStackIsolatedNetworkSpec_To_v1beta1_CloudStackIsolatedNetworkSpec(in, out, s)
3258
}

api/v1beta1/cloudstackmachine_conversion.go

Lines changed: 44 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,55 @@ limitations under the License.
1717
package v1beta1
1818

1919
import (
20-
"sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2"
20+
machineryconversion "k8s.io/apimachinery/pkg/conversion"
21+
"sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta3"
22+
utilconversion "sigs.k8s.io/cluster-api/util/conversion"
2123
"sigs.k8s.io/controller-runtime/pkg/conversion"
2224
)
2325

2426
func (src *CloudStackMachine) ConvertTo(dstRaw conversion.Hub) error { // nolint
25-
dst := dstRaw.(*v1beta2.CloudStackMachine)
26-
return Convert_v1beta1_CloudStackMachine_To_v1beta2_CloudStackMachine(src, dst, nil)
27+
dst := dstRaw.(*v1beta3.CloudStackMachine)
28+
if err := Convert_v1beta1_CloudStackMachine_To_v1beta3_CloudStackMachine(src, dst, nil); err != nil {
29+
return err
30+
}
31+
32+
// Manually restore data
33+
restored := &v1beta3.CloudStackMachine{}
34+
if ok, err := utilconversion.UnmarshalData(src, restored); err != nil || !ok {
35+
return err
36+
}
37+
if restored.Spec.FailureDomainName != "" {
38+
dst.Spec.FailureDomainName = restored.Spec.FailureDomainName
39+
}
40+
if restored.Spec.UncompressedUserData != nil {
41+
dst.Spec.UncompressedUserData = restored.Spec.UncompressedUserData
42+
}
43+
if restored.Status.Status != nil {
44+
dst.Status.Status = restored.Status.Status
45+
}
46+
if restored.Status.Reason != nil {
47+
dst.Status.Reason = restored.Status.Reason
48+
}
49+
return nil
2750
}
2851

2952
func (dst *CloudStackMachine) ConvertFrom(srcRaw conversion.Hub) error { // nolint
30-
src := srcRaw.(*v1beta2.CloudStackMachine)
31-
return Convert_v1beta2_CloudStackMachine_To_v1beta1_CloudStackMachine(src, dst, nil)
53+
src := srcRaw.(*v1beta3.CloudStackMachine)
54+
if err := Convert_v1beta3_CloudStackMachine_To_v1beta1_CloudStackMachine(src, dst, nil); err != nil {
55+
return err
56+
}
57+
58+
// Preserve Hub data on down-conversion
59+
if err := utilconversion.MarshalData(src, dst); err != nil {
60+
return err
61+
}
62+
return nil
63+
}
64+
65+
func Convert_v1beta3_CloudStackMachineSpec_To_v1beta1_CloudStackMachineSpec(in *v1beta3.CloudStackMachineSpec, out *CloudStackMachineSpec, s machineryconversion.Scope) error { // nolint
66+
return autoConvert_v1beta3_CloudStackMachineSpec_To_v1beta1_CloudStackMachineSpec(in, out, s)
67+
}
68+
69+
func Convert_v1beta3_CloudStackMachineStatus_To_v1beta1_CloudStackMachineStatus(in *v1beta3.CloudStackMachineStatus, out *CloudStackMachineStatus, s machineryconversion.Scope) error { // nolint
70+
return autoConvert_v1beta3_CloudStackMachineStatus_To_v1beta1_CloudStackMachineStatus(in, out, s)
3271
}

0 commit comments

Comments
 (0)