Skip to content

Commit bd2b5f5

Browse files
Merge pull request #1981 from stuggi/ocp-4.20-bump
Bump dependencies for OCP 4.20
2 parents b243f21 + 13cd9c6 commit bd2b5f5

20 files changed

Lines changed: 480 additions & 706 deletions

Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ OPERATOR_SDK_VERSION ?= v1.42.3
6060
DEFAULT_IMG ?= quay.io/openstack-k8s-operators/openstack-operator:latest
6161
IMG ?= $(DEFAULT_IMG)
6262
# ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary.
63-
ENVTEST_K8S_VERSION = 1.31
63+
ENVTEST_K8S_VERSION = 1.33
6464

6565
SETUP_ENVTEST_VERSION ?= release-0.22
6666

@@ -332,7 +332,7 @@ CONTROLLER_TOOLS_VERSION ?= v0.18.0
332332
CRD_MARKDOWN_VERSION ?= v0.0.3
333333
KUTTL_VERSION ?= 0.17.0
334334
GOTOOLCHAIN_VERSION ?= go1.26.0
335-
OC_VERSION ?= 4.16.0
335+
OC_VERSION ?= 4.20.0
336336

337337
KUSTOMIZE_INSTALL_SCRIPT ?= "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh"
338338
.PHONY: kustomize
@@ -568,7 +568,7 @@ run-with-webhook: manifests generate fmt vet ## Run a controller from your host.
568568
webhook-cleanup:
569569
/bin/bash hack/clean_local_webhook.sh
570570

571-
CRD_SCHEMA_CHECKER_VERSION ?= release-4.16
571+
CRD_SCHEMA_CHECKER_VERSION ?= release-4.18
572572

573573
PHONY: crd-schema-check
574574
crd-schema-check: manifests

api/bases/dataplane.openstack.org_openstackdataplanedeployments.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,6 @@ spec:
120120
- deploymentRequeueTime
121121
- nodeSets
122122
type: object
123-
x-kubernetes-validations:
124-
- message: OpenStackDataPlaneDeployment Spec is immutable
125-
rule: self == oldSelf
126123
status:
127124
description: OpenStackDataPlaneDeploymentStatus defines the observed state
128125
of OpenStackDataPlaneDeployment

api/client/v1beta1/openstackclient_webhook.go

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,7 @@ package v1beta1
2121

2222
import (
2323
"k8s.io/apimachinery/pkg/runtime"
24-
ctrl "sigs.k8s.io/controller-runtime"
2524
logf "sigs.k8s.io/controller-runtime/pkg/log"
26-
"sigs.k8s.io/controller-runtime/pkg/webhook"
2725
"sigs.k8s.io/controller-runtime/pkg/webhook/admission"
2826
)
2927

@@ -43,18 +41,7 @@ func SetupOpenStackClientDefaults(defaults OpenStackClientDefaults) {
4341
openstackclientlog.Info("OpenStackClient defaults initialized", "defaults", defaults)
4442
}
4543

46-
// SetupWebhookWithManager sets up the webhook with the Manager
47-
func (r *OpenStackClient) SetupWebhookWithManager(mgr ctrl.Manager) error {
48-
return ctrl.NewWebhookManagedBy(mgr).
49-
For(r).
50-
Complete()
51-
}
52-
53-
// +kubebuilder:webhook:path=/mutate-client-openstack-org-v1beta1-openstackclient,mutating=true,failurePolicy=fail,sideEffects=None,groups=client.openstack.org,resources=openstackclients,verbs=create;update,versions=v1beta1,name=mopenstackclient.kb.io,admissionReviewVersions=v1
54-
55-
var _ webhook.Defaulter = &OpenStackClient{}
56-
57-
// Default implements webhook.Defaulter so a webhook will be registered for the type
44+
// Default sets default values for the OpenStackClient
5845
func (r *OpenStackClient) Default() {
5946
openstackclientlog.Info("default", "name", r.Name)
6047

@@ -68,12 +55,7 @@ func (spec *OpenStackClientSpec) Default() {
6855
}
6956
}
7057

71-
// TODO(user): change verbs to "verbs=create;update;delete" if you want to enable deletion validation.
72-
// +kubebuilder:webhook:path=/validate-client-openstack-org-v1beta1-openstackclient,mutating=false,failurePolicy=fail,sideEffects=None,groups=client.openstack.org,resources=openstackclients,verbs=create;update,versions=v1beta1,name=vopenstackclient.kb.io,admissionReviewVersions=v1
73-
74-
var _ webhook.Validator = &OpenStackClient{}
75-
76-
// ValidateCreate implements webhook.Validator so a webhook will be registered for the type
58+
// ValidateCreate validates the OpenStackClient on creation
7759
func (r *OpenStackClient) ValidateCreate() (admission.Warnings, error) {
7860
openstackclientlog.Info("validate create", "name", r.Name)
7961

api/client/v1beta1/webhook_suite_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,9 @@ var _ = BeforeSuite(func() {
111111
})
112112
Expect(err).NotTo(HaveOccurred())
113113

114-
err = (&OpenStackClient{}).SetupWebhookWithManager(mgr)
114+
err = ctrl.NewWebhookManagedBy(mgr).
115+
For(&OpenStackClient{}).
116+
Complete()
115117
Expect(err).NotTo(HaveOccurred())
116118

117119
// +kubebuilder:scaffold:webhook

api/dataplane/v1beta1/openstackdataplanedeployment_types.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,6 @@ type OpenStackDataPlaneDeployment struct {
152152
metav1.TypeMeta `json:",inline"`
153153
metav1.ObjectMeta `json:"metadata,omitempty"`
154154

155-
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="OpenStackDataPlaneDeployment Spec is immutable"
156155
Spec OpenStackDataPlaneDeploymentSpec `json:"spec,omitempty"`
157156
Status OpenStackDataPlaneDeploymentStatus `json:"status,omitempty"`
158157
}

api/dataplane/v1beta1/openstackdataplanedeployment_webhook.go

Lines changed: 30 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -17,30 +17,20 @@ limitations under the License.
1717
package v1beta1
1818

1919
import (
20+
"fmt"
21+
"reflect"
22+
2023
apierrors "k8s.io/apimachinery/pkg/api/errors"
2124
"k8s.io/apimachinery/pkg/runtime"
2225
"k8s.io/apimachinery/pkg/runtime/schema"
2326
"k8s.io/apimachinery/pkg/util/validation/field"
24-
ctrl "sigs.k8s.io/controller-runtime"
2527
logf "sigs.k8s.io/controller-runtime/pkg/log"
26-
"sigs.k8s.io/controller-runtime/pkg/webhook"
2728
"sigs.k8s.io/controller-runtime/pkg/webhook/admission"
2829
)
2930

3031
var openstackdataplanedeploymentlog = logf.Log.WithName("openstackdataplanedeployment-resource")
3132

32-
// SetupWebhookWithManager sets up the webhook with the Manager
33-
func (r *OpenStackDataPlaneDeployment) SetupWebhookWithManager(mgr ctrl.Manager) error {
34-
return ctrl.NewWebhookManagedBy(mgr).For(r).Complete()
35-
}
36-
37-
// TODO(user): EDIT THIS FILE! THIS IS SCAFFOLDING FOR YOU TO OWN!
38-
39-
// +kubebuilder:webhook:path=/mutate-dataplane-openstack-org-v1beta1-openstackdataplanedeployment,mutating=true,failurePolicy=fail,sideEffects=None,groups=dataplane.openstack.org,resources=openstackdataplanedeployments,verbs=create;update,versions=v1beta1,name=mopenstackdataplanedeployment.kb.io,admissionReviewVersions=v1
40-
41-
var _ webhook.Defaulter = &OpenStackDataPlaneDeployment{}
42-
43-
// Default implements webhook.Defaulter so a webhook will be registered for the type
33+
// Default sets default values for the OpenStackDataPlaneDeployment
4434
func (r *OpenStackDataPlaneDeployment) Default() {
4535

4636
openstackdataplanedeploymentlog.Info("default", "name", r.Name)
@@ -49,15 +39,12 @@ func (r *OpenStackDataPlaneDeployment) Default() {
4939

5040
// Default - set defaults for this OpenStackDataPlaneDeployment
5141
func (spec *OpenStackDataPlaneDeploymentSpec) Default() {
52-
42+
if spec.ServicesOverride == nil {
43+
spec.ServicesOverride = []string{}
44+
}
5345
}
5446

55-
// TODO(user): change verbs to "verbs=create;update;delete" if you want to enable deletion validation.
56-
// +kubebuilder:webhook:path=/validate-dataplane-openstack-org-v1beta1-openstackdataplanedeployment,mutating=false,failurePolicy=fail,sideEffects=None,groups=dataplane.openstack.org,resources=openstackdataplanedeployments,verbs=create;update,versions=v1beta1,name=vopenstackdataplanedeployment.kb.io,admissionReviewVersions=v1
57-
58-
var _ webhook.Validator = &OpenStackDataPlaneDeployment{}
59-
60-
// ValidateCreate implements webhook.Validator so a webhook will be registered for the type
47+
// ValidateCreate validates the OpenStackDataPlaneDeployment on creation
6148
func (r *OpenStackDataPlaneDeployment) ValidateCreate() (admission.Warnings, error) {
6249

6350
openstackdataplanedeploymentlog.Info("validate create", "name", r.Name)
@@ -86,7 +73,14 @@ func (spec *OpenStackDataPlaneDeploymentSpec) ValidateCreate() field.ErrorList {
8673
func (r *OpenStackDataPlaneDeployment) ValidateUpdate(original runtime.Object) (admission.Warnings, error) {
8774
openstackdataplanedeploymentlog.Info("validate update", "name", r.Name)
8875

89-
errors := r.Spec.ValidateUpdate()
76+
oldDeployment, ok := original.(*OpenStackDataPlaneDeployment)
77+
if !ok {
78+
return nil, apierrors.NewInternalError(field.InternalError(
79+
field.NewPath("spec"),
80+
fmt.Errorf("expected OpenStackDataPlaneDeployment, got %T", original)))
81+
}
82+
83+
errors := r.Spec.ValidateUpdate(oldDeployment.Spec)
9084

9185
if len(errors) != 0 {
9286
openstackdataplanedeploymentlog.Info("validation failed", "name", r.Name)
@@ -101,8 +95,20 @@ func (r *OpenStackDataPlaneDeployment) ValidateUpdate(original runtime.Object) (
10195
}
10296

10397
// ValidateUpdate validates the OpenStackDataPlaneDeploymentSpec on update
104-
func (spec *OpenStackDataPlaneDeploymentSpec) ValidateUpdate() field.ErrorList {
105-
// TODO(user): fill in your validation logic upon object update.
98+
func (spec *OpenStackDataPlaneDeploymentSpec) ValidateUpdate(old OpenStackDataPlaneDeploymentSpec) field.ErrorList {
99+
newCopy := *spec
100+
newCopy.Default()
101+
old.Default()
102+
103+
if !reflect.DeepEqual(newCopy, old) {
104+
return field.ErrorList{
105+
field.Invalid(
106+
field.NewPath("spec"),
107+
"object",
108+
"OpenStackDataPlaneDeployment Spec is immutable",
109+
),
110+
}
111+
}
106112

107113
return field.ErrorList{}
108114
}

api/dataplane/v1beta1/openstackdataplaneservice_webhook.go

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -21,26 +21,13 @@ import (
2121
"k8s.io/apimachinery/pkg/runtime"
2222
"k8s.io/apimachinery/pkg/runtime/schema"
2323
"k8s.io/apimachinery/pkg/util/validation/field"
24-
ctrl "sigs.k8s.io/controller-runtime"
2524
logf "sigs.k8s.io/controller-runtime/pkg/log"
26-
"sigs.k8s.io/controller-runtime/pkg/webhook"
2725
"sigs.k8s.io/controller-runtime/pkg/webhook/admission"
2826
)
2927

3028
var openstackdataplaneservicelog = logf.Log.WithName("openstackdataplaneservice-resource")
3129

32-
// SetupWebhookWithManager sets up the webhook with the Manager
33-
func (r *OpenStackDataPlaneService) SetupWebhookWithManager(mgr ctrl.Manager) error {
34-
return ctrl.NewWebhookManagedBy(mgr).For(r).Complete()
35-
}
36-
37-
// TODO(user): EDIT THIS FILE! THIS IS SCAFFOLDING FOR YOU TO OWN!
38-
39-
// +kubebuilder:webhook:path=/mutate-dataplane-openstack-org-v1beta1-openstackdataplaneservice,mutating=true,failurePolicy=fail,sideEffects=None,groups=dataplane.openstack.org,resources=openstackdataplaneservices,verbs=create;update,versions=v1beta1,name=mopenstackdataplaneservice.kb.io,admissionReviewVersions=v1
40-
41-
var _ webhook.Defaulter = &OpenStackDataPlaneService{}
42-
43-
// Default implements webhook.Defaulter so a webhook will be registered for the type
30+
// Default sets default values for the OpenStackDataPlaneService
4431
func (r *OpenStackDataPlaneService) Default() {
4532

4633
openstackdataplaneservicelog.Info("default", "name", r.Name)
@@ -55,12 +42,7 @@ func (spec *OpenStackDataPlaneServiceSpec) Default(name string) {
5542
}
5643
}
5744

58-
// TODO(user): change verbs to "verbs=create;update;delete" if you want to enable deletion validation.
59-
// +kubebuilder:webhook:path=/validate-dataplane-openstack-org-v1beta1-openstackdataplaneservice,mutating=false,failurePolicy=fail,sideEffects=None,groups=dataplane.openstack.org,resources=openstackdataplaneservices,verbs=create;update,versions=v1beta1,name=vopenstackdataplaneservice.kb.io,admissionReviewVersions=v1
60-
61-
var _ webhook.Validator = &OpenStackDataPlaneService{}
62-
63-
// ValidateCreate implements webhook.Validator so a webhook will be registered for the type
45+
// ValidateCreate validates the OpenStackDataPlaneService on creation
6446
func (r *OpenStackDataPlaneService) ValidateCreate() (admission.Warnings, error) {
6547

6648
openstackdataplaneservicelog.Info("validate create", "name", r.Name)

0 commit comments

Comments
 (0)