Skip to content

Commit 49eea04

Browse files
authored
Merge pull request #422 from shapeblue/upgrade-capi-1.6
Upgrade CAPI to 1.6
2 parents 16d5e02 + 72a0f6b commit 49eea04

File tree

56 files changed

+690
-1011
lines changed

Some content is hidden

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

56 files changed

+690
-1011
lines changed

Makefile

+2-2
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ managers:
9191
manager-cloudstack-infrastructure: ## Build manager binary.
9292
CGO_ENABLED=0 GOOS=linux GOARCH=${ARCH} go build -ldflags "${LDFLAGS} -extldflags '-static'" -o $(BIN_DIR)/manager .
9393

94-
export K8S_VERSION=1.26.1
94+
export K8S_VERSION=1.28.3
9595
$(KUBECTL) $(API_SERVER) $(ETCD) &:
9696
cd $(TOOLS_DIR) && curl --silent -L "https://go.kubebuilder.io/test-tools/${K8S_VERSION}/$(shell go env GOOS)/$(shell go env GOARCH)" --output - | \
9797
tar -C ./ --strip-components=1 -zvxf -
@@ -244,7 +244,7 @@ delete-kind-cluster:
244244
kind delete cluster --name $(KIND_CLUSTER_NAME)
245245

246246
cluster-api: ## Clone cluster-api repository for tilt use.
247-
git clone --branch v1.4.8 --depth 1 https://github.com/kubernetes-sigs/cluster-api.git
247+
git clone --branch v1.6.8 --depth 1 https://github.com/kubernetes-sigs/cluster-api.git
248248

249249
cluster-api/tilt-settings.json: hack/tilt-settings.json cluster-api
250250
cp ./hack/tilt-settings.json cluster-api

api/v1beta1/cloudstackaffinitygroup_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,5 +66,5 @@ type CloudStackAffinityGroupList struct {
6666
}
6767

6868
func init() {
69-
SchemeBuilder.Register(&CloudStackAffinityGroup{}, &CloudStackAffinityGroupList{})
69+
objectTypes = append(objectTypes, &CloudStackAffinityGroup{}, &CloudStackAffinityGroupList{})
7070
}

api/v1beta1/cloudstackcluster_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -154,5 +154,5 @@ type CloudStackClusterList struct {
154154
}
155155

156156
func init() {
157-
SchemeBuilder.Register(&CloudStackCluster{}, &CloudStackClusterList{})
157+
objectTypes = append(objectTypes, &CloudStackCluster{}, &CloudStackClusterList{})
158158
}

api/v1beta1/cloudstackisolatednetwork_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -81,5 +81,5 @@ type CloudStackIsolatedNetworkList struct {
8181
}
8282

8383
func init() {
84-
SchemeBuilder.Register(&CloudStackIsolatedNetwork{}, &CloudStackIsolatedNetworkList{})
84+
objectTypes = append(objectTypes, &CloudStackIsolatedNetwork{}, &CloudStackIsolatedNetworkList{})
8585
}

api/v1beta1/cloudstackmachine_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -180,5 +180,5 @@ type CloudStackMachineList struct {
180180
}
181181

182182
func init() {
183-
SchemeBuilder.Register(&CloudStackMachine{}, &CloudStackMachineList{})
183+
objectTypes = append(objectTypes, &CloudStackMachine{}, &CloudStackMachineList{})
184184
}

api/v1beta1/cloudstackmachinestatechecker_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,5 +54,5 @@ type CloudStackMachineStateCheckerList struct {
5454
}
5555

5656
func init() {
57-
SchemeBuilder.Register(&CloudStackMachineStateChecker{}, &CloudStackMachineStateCheckerList{})
57+
objectTypes = append(objectTypes, &CloudStackMachineStateChecker{}, &CloudStackMachineStateCheckerList{})
5858
}

api/v1beta1/cloudstackmachinetemplate_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,5 +54,5 @@ type CloudStackMachineTemplateList struct {
5454
}
5555

5656
func init() {
57-
SchemeBuilder.Register(&CloudStackMachineTemplate{}, &CloudStackMachineTemplateList{})
57+
objectTypes = append(objectTypes, &CloudStackMachineTemplate{}, &CloudStackMachineTemplateList{})
5858
}

api/v1beta1/cloudstackzone_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,5 +66,5 @@ type CloudStackZoneList struct {
6666
}
6767

6868
func init() {
69-
SchemeBuilder.Register(&CloudStackZone{}, &CloudStackZoneList{})
69+
objectTypes = append(objectTypes, &CloudStackZone{}, &CloudStackZoneList{})
7070
}

api/v1beta1/groupversion_info.go

+13-4
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,29 @@ limitations under the License.
2020
package v1beta1
2121

2222
import (
23+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
24+
"k8s.io/apimachinery/pkg/runtime"
2325
"k8s.io/apimachinery/pkg/runtime/schema"
24-
"sigs.k8s.io/controller-runtime/pkg/scheme"
2526
)
2627

2728
var (
2829
// GroupVersion is group version used to register these objects
2930
GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", Version: "v1beta1"}
3031

3132
// SchemeBuilder is used to add go types to the GroupVersionKind scheme
32-
SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}
33+
schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
3334

3435
// AddToScheme adds the types in this group-version to the given scheme.
35-
AddToScheme = SchemeBuilder.AddToScheme
36+
AddToScheme = schemeBuilder.AddToScheme
3637

3738
// So the auto-generated code can compile
38-
localSchemeBuilder = &SchemeBuilder.SchemeBuilder
39+
objectTypes = []runtime.Object{}
40+
41+
localSchemeBuilder = &schemeBuilder
3942
)
43+
44+
func addKnownTypes(scheme *runtime.Scheme) error {
45+
scheme.AddKnownTypes(GroupVersion, objectTypes...)
46+
metav1.AddToGroupVersion(scheme, GroupVersion)
47+
return nil
48+
}

api/v1beta1/zz_generated.deepcopy.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/v1beta2/cloudstackaffinitygroup_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,5 +68,5 @@ type CloudStackAffinityGroupList struct {
6868
}
6969

7070
func init() {
71-
SchemeBuilder.Register(&CloudStackAffinityGroup{}, &CloudStackAffinityGroupList{})
71+
objectTypes = append(objectTypes, &CloudStackAffinityGroup{}, &CloudStackAffinityGroupList{})
7272
}

api/v1beta2/cloudstackcluster_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,5 +71,5 @@ type CloudStackClusterList struct {
7171
}
7272

7373
func init() {
74-
SchemeBuilder.Register(&CloudStackCluster{}, &CloudStackClusterList{})
74+
objectTypes = append(objectTypes, &CloudStackCluster{}, &CloudStackClusterList{})
7575
}

api/v1beta2/cloudstackfailuredomain_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -117,5 +117,5 @@ type CloudStackFailureDomainList struct {
117117
}
118118

119119
func init() {
120-
SchemeBuilder.Register(&CloudStackFailureDomain{}, &CloudStackFailureDomainList{})
120+
objectTypes = append(objectTypes, &CloudStackFailureDomain{}, &CloudStackFailureDomainList{})
121121
}

api/v1beta2/cloudstackisolatednetwork_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,5 +82,5 @@ type CloudStackIsolatedNetworkList struct {
8282
}
8383

8484
func init() {
85-
SchemeBuilder.Register(&CloudStackIsolatedNetwork{}, &CloudStackIsolatedNetworkList{})
85+
objectTypes = append(objectTypes, &CloudStackIsolatedNetwork{}, &CloudStackIsolatedNetworkList{})
8686
}

api/v1beta2/cloudstackmachine_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -182,5 +182,5 @@ type CloudStackMachineList struct {
182182
}
183183

184184
func init() {
185-
SchemeBuilder.Register(&CloudStackMachine{}, &CloudStackMachineList{})
185+
objectTypes = append(objectTypes, &CloudStackMachine{}, &CloudStackMachineList{})
186186
}

api/v1beta2/cloudstackmachinestatechecker_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,5 +52,5 @@ type CloudStackMachineStateCheckerList struct {
5252
}
5353

5454
func init() {
55-
SchemeBuilder.Register(&CloudStackMachineStateChecker{}, &CloudStackMachineStateCheckerList{})
55+
objectTypes = append(objectTypes, &CloudStackMachineStateChecker{}, &CloudStackMachineStateCheckerList{})
5656
}

api/v1beta2/cloudstackmachinetemplate_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,5 +53,5 @@ type CloudStackMachineTemplateList struct {
5353
}
5454

5555
func init() {
56-
SchemeBuilder.Register(&CloudStackMachineTemplate{}, &CloudStackMachineTemplateList{})
56+
objectTypes = append(objectTypes, &CloudStackMachineTemplate{}, &CloudStackMachineTemplateList{})
5757
}

api/v1beta2/groupversion_info.go

+13-5
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,28 @@ limitations under the License.
2020
package v1beta2
2121

2222
import (
23+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
24+
"k8s.io/apimachinery/pkg/runtime"
2325
"k8s.io/apimachinery/pkg/runtime/schema"
24-
"sigs.k8s.io/controller-runtime/pkg/scheme"
2526
)
2627

2728
var (
2829
// GroupVersion is group version used to register these objects
2930
GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", Version: "v1beta2"}
3031

3132
// SchemeBuilder is used to add go types to the GroupVersionKind scheme
32-
SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}
33+
schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
3334

3435
// AddToScheme adds the types in this group-version to the given scheme.
35-
AddToScheme = SchemeBuilder.AddToScheme
36+
AddToScheme = schemeBuilder.AddToScheme
3637

37-
// localSchemeBuilder is used for type conversions.
38-
localSchemeBuilder = &SchemeBuilder.SchemeBuilder
38+
objectTypes = []runtime.Object{}
39+
40+
localSchemeBuilder = &schemeBuilder
3941
)
42+
43+
func addKnownTypes(scheme *runtime.Scheme) error {
44+
scheme.AddKnownTypes(GroupVersion, objectTypes...)
45+
metav1.AddToGroupVersion(scheme, GroupVersion)
46+
return nil
47+
}

api/v1beta2/zz_generated.deepcopy.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/v1beta3/cloudstackaffinitygroup_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,5 +69,5 @@ type CloudStackAffinityGroupList struct {
6969
}
7070

7171
func init() {
72-
SchemeBuilder.Register(&CloudStackAffinityGroup{}, &CloudStackAffinityGroupList{})
72+
objectTypes = append(objectTypes, &CloudStackAffinityGroup{}, &CloudStackAffinityGroupList{})
7373
}

api/v1beta3/cloudstackcluster_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -80,5 +80,5 @@ type CloudStackClusterList struct {
8080
}
8181

8282
func init() {
83-
SchemeBuilder.Register(&CloudStackCluster{}, &CloudStackClusterList{})
83+
objectTypes = append(objectTypes, &CloudStackCluster{}, &CloudStackClusterList{})
8484
}

api/v1beta3/cloudstackcluster_webhook.go

+8-7
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import (
2727
ctrl "sigs.k8s.io/controller-runtime"
2828
logf "sigs.k8s.io/controller-runtime/pkg/log"
2929
"sigs.k8s.io/controller-runtime/pkg/webhook"
30+
"sigs.k8s.io/controller-runtime/pkg/webhook/admission"
3031
)
3132

3233
// log is for logging in this package.
@@ -53,7 +54,7 @@ func (r *CloudStackCluster) Default() {
5354
var _ webhook.Validator = &CloudStackCluster{}
5455

5556
// ValidateCreate implements webhook.Validator so a webhook will be registered for the type
56-
func (r *CloudStackCluster) ValidateCreate() error {
57+
func (r *CloudStackCluster) ValidateCreate() (admission.Warnings, error) {
5758
cloudstackclusterlog.V(1).Info("entered validate create webhook", "api resource name", r.Name)
5859

5960
var errorList field.ErrorList
@@ -80,18 +81,18 @@ func (r *CloudStackCluster) ValidateCreate() error {
8081
}
8182
}
8283

83-
return webhookutil.AggregateObjErrors(r.GroupVersionKind().GroupKind(), r.Name, errorList)
84+
return nil, webhookutil.AggregateObjErrors(r.GroupVersionKind().GroupKind(), r.Name, errorList)
8485
}
8586

8687
// ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
87-
func (r *CloudStackCluster) ValidateUpdate(old runtime.Object) error {
88+
func (r *CloudStackCluster) ValidateUpdate(old runtime.Object) (admission.Warnings, error) {
8889
cloudstackclusterlog.V(1).Info("entered validate update webhook", "api resource name", r.Name)
8990

9091
spec := r.Spec
9192

9293
oldCluster, ok := old.(*CloudStackCluster)
9394
if !ok {
94-
return errors.NewBadRequest(fmt.Sprintf("expected a CloudStackCluster but got a %T", old))
95+
return nil, errors.NewBadRequest(fmt.Sprintf("expected a CloudStackCluster but got a %T", old))
9596
}
9697
oldSpec := oldCluster.Spec
9798

@@ -109,7 +110,7 @@ func (r *CloudStackCluster) ValidateUpdate(old runtime.Object) error {
109110
"controlplaneendpoint.port", errorList)
110111
}
111112

112-
return webhookutil.AggregateObjErrors(r.GroupVersionKind().GroupKind(), r.Name, errorList)
113+
return nil, webhookutil.AggregateObjErrors(r.GroupVersionKind().GroupKind(), r.Name, errorList)
113114
}
114115

115116
// ValidateFailureDomainUpdates verifies that at least one failure domain has not been deleted, and
@@ -150,8 +151,8 @@ func FailureDomainsEqual(fd1, fd2 CloudStackFailureDomainSpec) bool {
150151
}
151152

152153
// ValidateDelete implements webhook.Validator so a webhook will be registered for the type
153-
func (r *CloudStackCluster) ValidateDelete() error {
154+
func (r *CloudStackCluster) ValidateDelete() (admission.Warnings, error) {
154155
cloudstackclusterlog.V(1).Info("entered validate delete webhook", "api resource name", r.Name)
155156
// No deletion validations. Deletion webhook not enabled.
156-
return nil
157+
return nil, nil
157158
}

api/v1beta3/cloudstackfailuredomain_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -148,5 +148,5 @@ type CloudStackFailureDomainList struct {
148148
}
149149

150150
func init() {
151-
SchemeBuilder.Register(&CloudStackFailureDomain{}, &CloudStackFailureDomainList{})
151+
objectTypes = append(objectTypes, &CloudStackFailureDomain{}, &CloudStackFailureDomainList{})
152152
}

api/v1beta3/cloudstackisolatednetwork_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -99,5 +99,5 @@ type CloudStackIsolatedNetworkList struct {
9999
}
100100

101101
func init() {
102-
SchemeBuilder.Register(&CloudStackIsolatedNetwork{}, &CloudStackIsolatedNetworkList{})
102+
objectTypes = append(objectTypes, &CloudStackIsolatedNetwork{}, &CloudStackIsolatedNetworkList{})
103103
}

api/v1beta3/cloudstackmachine_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -183,5 +183,5 @@ type CloudStackMachineList struct {
183183
}
184184

185185
func init() {
186-
SchemeBuilder.Register(&CloudStackMachine{}, &CloudStackMachineList{})
186+
objectTypes = append(objectTypes, &CloudStackMachine{}, &CloudStackMachineList{})
187187
}

api/v1beta3/cloudstackmachine_webhook.go

+8-7
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import (
2727
ctrl "sigs.k8s.io/controller-runtime"
2828
logf "sigs.k8s.io/controller-runtime/pkg/log"
2929
"sigs.k8s.io/controller-runtime/pkg/webhook"
30+
"sigs.k8s.io/controller-runtime/pkg/webhook/admission"
3031
)
3132

3233
// log is for logging in this package.
@@ -53,7 +54,7 @@ func (r *CloudStackMachine) Default() {
5354
var _ webhook.Validator = &CloudStackMachine{}
5455

5556
// ValidateCreate implements webhook.Validator so a webhook will be registered for the type
56-
func (r *CloudStackMachine) ValidateCreate() error {
57+
func (r *CloudStackMachine) ValidateCreate() (admission.Warnings, error) {
5758
cloudstackmachinelog.V(1).Info("entered validate create webhook", "api resource name", r.Name)
5859

5960
var errorList field.ErrorList
@@ -64,18 +65,18 @@ func (r *CloudStackMachine) ValidateCreate() error {
6465
errorList = webhookutil.EnsureIntFieldsAreNotNegative(r.Spec.DiskOffering.CustomSize, "customSizeInGB", errorList)
6566
}
6667

67-
return webhookutil.AggregateObjErrors(r.GroupVersionKind().GroupKind(), r.Name, errorList)
68+
return nil, webhookutil.AggregateObjErrors(r.GroupVersionKind().GroupKind(), r.Name, errorList)
6869
}
6970

7071
// ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
71-
func (r *CloudStackMachine) ValidateUpdate(old runtime.Object) error {
72+
func (r *CloudStackMachine) ValidateUpdate(old runtime.Object) (admission.Warnings, error) {
7273
cloudstackmachinelog.V(1).Info("entered validate update webhook", "api resource name", r.Name)
7374

7475
var errorList field.ErrorList
7576

7677
oldMachine, ok := old.(*CloudStackMachine)
7778
if !ok {
78-
return errors.NewBadRequest(fmt.Sprintf("expected a CloudStackMachine but got a %T", old))
79+
return nil, errors.NewBadRequest(fmt.Sprintf("expected a CloudStackMachine but got a %T", old))
7980
}
8081
oldSpec := oldMachine.Spec
8182

@@ -98,12 +99,12 @@ func (r *CloudStackMachine) ValidateUpdate(old runtime.Object) error {
9899
errorList = append(errorList, field.Forbidden(field.NewPath("spec", "AffinityGroupIDs"), "AffinityGroupIDs"))
99100
}
100101

101-
return webhookutil.AggregateObjErrors(r.GroupVersionKind().GroupKind(), r.Name, errorList)
102+
return nil, webhookutil.AggregateObjErrors(r.GroupVersionKind().GroupKind(), r.Name, errorList)
102103
}
103104

104105
// ValidateDelete implements webhook.Validator so a webhook will be registered for the type
105-
func (r *CloudStackMachine) ValidateDelete() error {
106+
func (r *CloudStackMachine) ValidateDelete() (admission.Warnings, error) {
106107
cloudstackmachinelog.V(1).Info("entered validate delete webhook", "api resource name", r.Name)
107108
// No deletion validations. Deletion webhook not enabled.
108-
return nil
109+
return nil, nil
109110
}

api/v1beta3/cloudstackmachinestatechecker_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,5 +53,5 @@ type CloudStackMachineStateCheckerList struct {
5353
}
5454

5555
func init() {
56-
SchemeBuilder.Register(&CloudStackMachineStateChecker{}, &CloudStackMachineStateCheckerList{})
56+
objectTypes = append(objectTypes, &CloudStackMachineStateChecker{}, &CloudStackMachineStateCheckerList{})
5757
}

api/v1beta3/cloudstackmachinetemplate_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,5 +59,5 @@ type CloudStackMachineTemplateList struct {
5959
}
6060

6161
func init() {
62-
SchemeBuilder.Register(&CloudStackMachineTemplate{}, &CloudStackMachineTemplateList{})
62+
objectTypes = append(objectTypes, &CloudStackMachineTemplate{}, &CloudStackMachineTemplateList{})
6363
}

0 commit comments

Comments
 (0)