Skip to content

Commit 8bc9e26

Browse files
committed
Bump dependencies for OpenShift 4.18 compatibility
Update controller-runtime, Kubernetes dependencies, and testing tools to support OpenShift Container Platform 4.18 (Kubernetes 1.31). Changes: - controller-runtime: v0.17.6 → v0.19.7 - Kubernetes core dependencies: v0.29.15 → v0.31.12 * k8s.io/api: v0.31.12 * k8s.io/apimachinery: v0.31.12 * k8s.io/client-go: v0.31.12 * k8s.io/apiextensions-apiserver: v0.31.12 - k8s.io/utils: v0.0.0-20240711033017 → v0.0.0-20250820121507 - controller-gen: v0.14.0 → v0.18.0 - envtest: 1.29 → 1.31, setup-envtest@latest Drops Required kubebuilder tag from inlined struct types since with controller-utils 0.18 it will result in adding empty string to the required list of the CRD. Also: * [test] fix keystone endpoint reconfigure test There can be a race in the test when the keystoneapi endpoint changed, but we did not wait for the nova controller to start reconcile for it. If we then already simulate the top services and cell services the test will fail when it starts reconciling for the keystone endpoint change. This change waits for the controller start reconcile, before simulate the top services and cells to be ready. * [test] fix mariadb switch account test In SwitchToNewAccount the resources get simulated to be ready to allow the controller to proceed. At least seen in NovaConduction, this has seen to can happen to be still on the generation before the account switch. This updates the test to wait for cell0 NovaConductor being updated to the new generation before simulate the services to be ready. Signed-off-by: Martin Schuppert <mschuppert@redhat.com>
1 parent 3a6dfc5 commit 8bc9e26

33 files changed

Lines changed: 389 additions & 528 deletions

Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ OPERATOR_SDK_VERSION ?= v1.31.0
5454
DEFAULT_IMG ?= quay.io/openstack-k8s-operators/nova-operator:latest
5555
IMG ?= $(DEFAULT_IMG)
5656
# ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary.
57-
ENVTEST_K8S_VERSION = 1.29
57+
ENVTEST_K8S_VERSION = 1.31
5858
CATALOG_IMAGE ?= quay.io/openstack-k8s-operators/nova-operator-index:latest
5959

6060
# Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set)
@@ -215,7 +215,7 @@ GINKGO ?= $(LOCALBIN)/ginkgo
215215

216216
## Tool Versions
217217
KUSTOMIZE_VERSION ?= v3.8.7
218-
CONTROLLER_TOOLS_VERSION ?= v0.14.0
218+
CONTROLLER_TOOLS_VERSION ?= v0.18.0
219219

220220
KUSTOMIZE_INSTALL_SCRIPT ?= "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh"
221221
.PHONY: kustomize
@@ -236,7 +236,7 @@ $(CONTROLLER_GEN): $(LOCALBIN)
236236
.PHONY: envtest
237237
envtest: $(ENVTEST) ## Download envtest-setup locally if necessary.
238238
$(ENVTEST): $(LOCALBIN)
239-
test -s $(LOCALBIN)/setup-envtest || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@c7e1dc9
239+
test -s $(LOCALBIN)/setup-envtest || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest
240240

241241

242242
.PHONY: ginkgo

api/bases/nova.openstack.org_nova.yaml

Lines changed: 43 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.14.0
6+
controller-gen.kubebuilder.io/version: v0.18.0
77
name: nova.nova.openstack.org
88
spec:
99
group: nova.openstack.org
@@ -266,11 +266,9 @@ spec:
266266
Claims lists the names of resources, defined in spec.resourceClaims,
267267
that are used by this container.
268268
269-
270269
This is an alpha field and requires enabling the
271270
DynamicResourceAllocation feature gate.
272271
273-
274272
This field is immutable. It can only be set for containers.
275273
items:
276274
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
@@ -281,6 +279,12 @@ spec:
281279
the Pod where this field is used. It makes that resource available
282280
inside a container.
283281
type: string
282+
request:
283+
description: |-
284+
Request is the name chosen for a request in the referenced claim.
285+
If empty, everything from the claim is made available, otherwise
286+
only the result of this request.
287+
type: string
284288
required:
285289
- name
286290
type: object
@@ -430,11 +434,9 @@ spec:
430434
Claims lists the names of resources, defined in spec.resourceClaims,
431435
that are used by this container.
432436
433-
434437
This is an alpha field and requires enabling the
435438
DynamicResourceAllocation feature gate.
436439
437-
438440
This field is immutable. It can only be set for containers.
439441
items:
440442
description: ResourceClaim references one entry in
@@ -446,6 +448,12 @@ spec:
446448
the Pod where this field is used. It makes that resource available
447449
inside a container.
448450
type: string
451+
request:
452+
description: |-
453+
Request is the name chosen for a request in the referenced claim.
454+
If empty, everything from the claim is made available, otherwise
455+
only the result of this request.
456+
type: string
449457
required:
450458
- name
451459
type: object
@@ -748,11 +756,9 @@ spec:
748756
Claims lists the names of resources, defined in spec.resourceClaims,
749757
that are used by this container.
750758
751-
752759
This is an alpha field and requires enabling the
753760
DynamicResourceAllocation feature gate.
754761
755-
756762
This field is immutable. It can only be set for containers.
757763
items:
758764
description: ResourceClaim references one entry in
@@ -764,6 +770,12 @@ spec:
764770
the Pod where this field is used. It makes that resource available
765771
inside a container.
766772
type: string
773+
request:
774+
description: |-
775+
Request is the name chosen for a request in the referenced claim.
776+
If empty, everything from the claim is made available, otherwise
777+
only the result of this request.
778+
type: string
767779
required:
768780
- name
769781
type: object
@@ -1034,11 +1046,9 @@ spec:
10341046
Claims lists the names of resources, defined in spec.resourceClaims,
10351047
that are used by this container.
10361048
1037-
10381049
This is an alpha field and requires enabling the
10391050
DynamicResourceAllocation feature gate.
10401051
1041-
10421052
This field is immutable. It can only be set for containers.
10431053
items:
10441054
description: ResourceClaim references one entry in
@@ -1050,6 +1060,12 @@ spec:
10501060
the Pod where this field is used. It makes that resource available
10511061
inside a container.
10521062
type: string
1063+
request:
1064+
description: |-
1065+
Request is the name chosen for a request in the referenced claim.
1066+
If empty, everything from the claim is made available, otherwise
1067+
only the result of this request.
1068+
type: string
10531069
required:
10541070
- name
10551071
type: object
@@ -1192,11 +1208,9 @@ spec:
11921208
Claims lists the names of resources, defined in spec.resourceClaims,
11931209
that are used by this container.
11941210
1195-
11961211
This is an alpha field and requires enabling the
11971212
DynamicResourceAllocation feature gate.
11981213
1199-
12001214
This field is immutable. It can only be set for containers.
12011215
items:
12021216
description: ResourceClaim references one entry
@@ -1208,6 +1222,12 @@ spec:
12081222
the Pod where this field is used. It makes that resource available
12091223
inside a container.
12101224
type: string
1225+
request:
1226+
description: |-
1227+
Request is the name chosen for a request in the referenced claim.
1228+
If empty, everything from the claim is made available, otherwise
1229+
only the result of this request.
1230+
type: string
12111231
required:
12121232
- name
12131233
type: object
@@ -1539,11 +1559,9 @@ spec:
15391559
Claims lists the names of resources, defined in spec.resourceClaims,
15401560
that are used by this container.
15411561
1542-
15431562
This is an alpha field and requires enabling the
15441563
DynamicResourceAllocation feature gate.
15451564
1546-
15471565
This field is immutable. It can only be set for containers.
15481566
items:
15491567
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
@@ -1554,6 +1572,12 @@ spec:
15541572
the Pod where this field is used. It makes that resource available
15551573
inside a container.
15561574
type: string
1575+
request:
1576+
description: |-
1577+
Request is the name chosen for a request in the referenced claim.
1578+
If empty, everything from the claim is made available, otherwise
1579+
only the result of this request.
1580+
type: string
15571581
required:
15581582
- name
15591583
type: object
@@ -1715,11 +1739,9 @@ spec:
17151739
Claims lists the names of resources, defined in spec.resourceClaims,
17161740
that are used by this container.
17171741
1718-
17191742
This is an alpha field and requires enabling the
17201743
DynamicResourceAllocation feature gate.
17211744
1722-
17231745
This field is immutable. It can only be set for containers.
17241746
items:
17251747
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
@@ -1730,6 +1752,12 @@ spec:
17301752
the Pod where this field is used. It makes that resource available
17311753
inside a container.
17321754
type: string
1755+
request:
1756+
description: |-
1757+
Request is the name chosen for a request in the referenced claim.
1758+
If empty, everything from the claim is made available, otherwise
1759+
only the result of this request.
1760+
type: string
17331761
required:
17341762
- name
17351763
type: object

api/bases/nova.openstack.org_novaapis.yaml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.14.0
6+
controller-gen.kubebuilder.io/version: v0.18.0
77
name: novaapis.nova.openstack.org
88
spec:
99
group: nova.openstack.org
@@ -305,11 +305,9 @@ spec:
305305
Claims lists the names of resources, defined in spec.resourceClaims,
306306
that are used by this container.
307307
308-
309308
This is an alpha field and requires enabling the
310309
DynamicResourceAllocation feature gate.
311310
312-
313311
This field is immutable. It can only be set for containers.
314312
items:
315313
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
@@ -320,6 +318,12 @@ spec:
320318
the Pod where this field is used. It makes that resource available
321319
inside a container.
322320
type: string
321+
request:
322+
description: |-
323+
Request is the name chosen for a request in the referenced claim.
324+
If empty, everything from the claim is made available, otherwise
325+
only the result of this request.
326+
type: string
323327
required:
324328
- name
325329
type: object

api/bases/nova.openstack.org_novacells.yaml

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.14.0
6+
controller-gen.kubebuilder.io/version: v0.18.0
77
name: novacells.nova.openstack.org
88
spec:
99
group: nova.openstack.org
@@ -49,7 +49,6 @@ spec:
4949
APIDatabaseHostname - hostname to use when accessing the API DB. If not
5050
provided then up-calls will be disabled. This filed is Required for
5151
cell0.
52-
TODO(gibi): Add a webhook to validate cell0 constraint
5352
type: string
5453
apiTimeout:
5554
default: 60
@@ -118,11 +117,9 @@ spec:
118117
Claims lists the names of resources, defined in spec.resourceClaims,
119118
that are used by this container.
120119
121-
122120
This is an alpha field and requires enabling the
123121
DynamicResourceAllocation feature gate.
124122
125-
126123
This field is immutable. It can only be set for containers.
127124
items:
128125
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
@@ -133,6 +130,12 @@ spec:
133130
the Pod where this field is used. It makes that resource available
134131
inside a container.
135132
type: string
133+
request:
134+
description: |-
135+
Request is the name chosen for a request in the referenced claim.
136+
If empty, everything from the claim is made available, otherwise
137+
only the result of this request.
138+
type: string
136139
required:
137140
- name
138141
type: object
@@ -432,11 +435,9 @@ spec:
432435
Claims lists the names of resources, defined in spec.resourceClaims,
433436
that are used by this container.
434437
435-
436438
This is an alpha field and requires enabling the
437439
DynamicResourceAllocation feature gate.
438440
439-
440441
This field is immutable. It can only be set for containers.
441442
items:
442443
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
@@ -447,6 +448,12 @@ spec:
447448
the Pod where this field is used. It makes that resource available
448449
inside a container.
449450
type: string
451+
request:
452+
description: |-
453+
Request is the name chosen for a request in the referenced claim.
454+
If empty, everything from the claim is made available, otherwise
455+
only the result of this request.
456+
type: string
450457
required:
451458
- name
452459
type: object
@@ -714,11 +721,9 @@ spec:
714721
Claims lists the names of resources, defined in spec.resourceClaims,
715722
that are used by this container.
716723
717-
718724
This is an alpha field and requires enabling the
719725
DynamicResourceAllocation feature gate.
720726
721-
722727
This field is immutable. It can only be set for containers.
723728
items:
724729
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
@@ -729,6 +734,12 @@ spec:
729734
the Pod where this field is used. It makes that resource available
730735
inside a container.
731736
type: string
737+
request:
738+
description: |-
739+
Request is the name chosen for a request in the referenced claim.
740+
If empty, everything from the claim is made available, otherwise
741+
only the result of this request.
742+
type: string
732743
required:
733744
- name
734745
type: object
@@ -871,11 +882,9 @@ spec:
871882
Claims lists the names of resources, defined in spec.resourceClaims,
872883
that are used by this container.
873884
874-
875885
This is an alpha field and requires enabling the
876886
DynamicResourceAllocation feature gate.
877887
878-
879888
This field is immutable. It can only be set for containers.
880889
items:
881890
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
@@ -886,6 +895,12 @@ spec:
886895
the Pod where this field is used. It makes that resource available
887896
inside a container.
888897
type: string
898+
request:
899+
description: |-
900+
Request is the name chosen for a request in the referenced claim.
901+
If empty, everything from the claim is made available, otherwise
902+
only the result of this request.
903+
type: string
889904
required:
890905
- name
891906
type: object

api/bases/nova.openstack.org_novacomputes.yaml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.14.0
6+
controller-gen.kubebuilder.io/version: v0.18.0
77
name: novacomputes.nova.openstack.org
88
spec:
99
group: nova.openstack.org
@@ -113,11 +113,9 @@ spec:
113113
Claims lists the names of resources, defined in spec.resourceClaims,
114114
that are used by this container.
115115
116-
117116
This is an alpha field and requires enabling the
118117
DynamicResourceAllocation feature gate.
119118
120-
121119
This field is immutable. It can only be set for containers.
122120
items:
123121
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
@@ -128,6 +126,12 @@ spec:
128126
the Pod where this field is used. It makes that resource available
129127
inside a container.
130128
type: string
129+
request:
130+
description: |-
131+
Request is the name chosen for a request in the referenced claim.
132+
If empty, everything from the claim is made available, otherwise
133+
only the result of this request.
134+
type: string
131135
required:
132136
- name
133137
type: object

0 commit comments

Comments
 (0)