[golang] bump to golang 1.24#1007
Conversation
|
Merge Failed. This change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset. |
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/f9552e8896a94a25ad4b297d5b593087 ✔️ openstack-meta-content-provider SUCCESS in 2h 58m 50s |
mrkisaolamb
left a comment
There was a problem hiding this comment.
Thanks @stuggi looks good, but based on kuttl test error looks like we need to depends on some ci-framework changes to pass tests
gibizer
left a comment
There was a problem hiding this comment.
@mrkisaolamb @stuggi have you run some repeated envtest locally to see if we did not uncover new instabilities by these changes?
| SecretName = "external-secret" | ||
| ContainerImage = "test://nova" | ||
| timeout = 25 * time.Second | ||
| timeout = 30 * time.Second |
There was a problem hiding this comment.
hm, that feels like there were some failing tests before... :) Lets hope it is just real slowdown and not a race conditions somewhere
There was a problem hiding this comment.
Is it related to the changed below about the keystone auth url reconfiguration test?
There was a problem hiding this comment.
I was taking a look at that, and it looks like a similar issue to the one we had in the past when we were unblocking the job: #834
. Unfortunately, I don’t think we ever got back to the root cause of why we failed there due to timeouts. If I remember correctly (though I don’t have proof), we ended up with a strange finalizer error because in the eventually statement we got stuck waiting for the correct state of the generations.
There was a problem hiding this comment.
Is it related to the changed below about the keystone auth url reconfiguration test?
no that was not related to the keystone reconfigure test.
The test which was failing for me was the test to move the finalizer:
should move the finalizer to a new MariaDBAccount when create is complete
There was a problem hiding this comment.
I think I have identified the issue for the failing mariadbaccount switch test I see in this work. The issue is with the MariaDBAccount switch test:
$ make test GINKGO_ARGS="--focus='should move the finalizer to a new MariaDBAccount when create is complete'"
From the test logs we see the following:
- update to use some-new-account and immediately resources get simulated to success:
2025-09-16T16:13:52.839+0200 INFO ---Test--- Simulated statefulset success {"on": {"name":"3c50a756-b525-46bd-b0ee-e-api","namespace":"387ef225-2396-43a7-9aa2-c6571f2db3f2"}}
2025-09-16T16:13:52.842+0200 INFO ---Test--- Simulated Job success {"on": {"name":"3c50a756-b525-46bd-b0ee-e-cell0-conductor-db-sync","namespace":"387ef225-2396-43a7-9aa2-c6571f2db3f2"}}
2025-09-16T16:13:52.843+0200 INFO Controllers.Nova Applied new databasehostname hostname-for-nova-api.387ef225-2396-43a7-9aa2-c6571f2db3f2.svc to MariaDBDatabase nova-api {"controller": "nova", "controllerGroup": "nova.openstack.org", "controllerKind": "Nova", "Nova": {"name":"3c50a756-b525-46bd-b0ee-e","namespace":"387ef225-2396-43a7-9aa2-c6571f2db3f2"}, "namespace": "387ef225-2396-43a7-9aa2-c6571f2db3f2", "na
me": "3c50a756-b525-46bd-b0ee-e", "reconcileID": "43f3b673-6c0f-40d5-850c-985b1b47a267"}
2025-09-16T16:13:52.843+0200 INFO Controllers.Nova Successfully ensured MariaDBAccount some-new-account exists; database username is nova_cell0_c26c {"controller": "nova", "controllerGroup": "nova.openstack.org", "controllerKind": "Nova", "Nova": {"name":"3c50a756-b525-46bd-b0ee-e","namespace":"387ef225-2396-43a7-9aa2-c6571f2db3f2"}, "namespace": "387ef225-2396-43a7-9aa2-c6571f2db3f2", "name": "3c50a756-b
525-46bd-b0ee-e", "reconcileID": "43f3b673-6c0f-40d5-850c-985b1b47a267", "ObjectType": "*v1beta1.MariaDBAccount", "ObjectNamespace": "387ef225-2396-43a7-9aa2-c6571f2db3f2", "ObjectName": "some-new-account"}
2025-09-16T16:13:52.843+0200 INFO Controllers.Nova Applied new databasehostname hostname-for-nova-cell0.387ef225-2396-43a7-9aa2-c6571f2db3f2.svc to MariaDBDatabase nova-cell0 {"controller": "nova", "controllerGroup": "nova.openstack.org", "controllerKind": "Nova", "Nova": {"name":"3c50a756-b525-46bd-b0ee-e","namespace":"387ef225-2396-43a7-9aa2-c6571f2db3f2"}, "namespace": "387ef225-2396-43a7-9aa2-c6571f2db3
f2", "name": "3c50a756-b525-46bd-b0ee-e", "reconcileID": "43f3b673-6c0f-40d5-850c-985b1b47a267"}
2025-09-16T16:13:52.845+0200 INFO ---Test--- Simulated statefulset success {"on": {"name":"3c50a756-b525-46bd-b0ee-e-cell0-conductor","namespace":"387ef225-2396-43a7-9aa2-c6571f2db3f2"}}
2025-09-16T16:13:52.846+0200 INFO novacell-resource default {"name": "3c50a756-b525-46bd-b0ee-e-cell0"}
2025-09-16T16:13:52.847+0200 INFO novacell-resource validate update {"name": "3c50a756-b525-46bd-b0ee-e-cell0"}
2025-09-16T16:13:52.847+0200 INFO ---Test--- Simulated Job success {"on": {"name":"3c50a756-b525-46bd-b0ee-e-cell0-cell-mapping","namespace":"387ef225-2396-43a7-9aa2-c6571f2db3f2"}}
2025-09-16T16:13:52.850+0200 INFO ---Test--- Service should move to run fully off MariaDBAccount 387ef225-2396-43a7-9aa2-c6571f2db3f2/some-new-account and remove finalizer from 387ef225-2396-43a7-9aa2-c6571f2db3f2/some-old-account
- but afterwards, we see the actual NovaConductor CR updated to use the new account and bein the generation 2:
2025-09-16T16:13:52.856+0200 INFO novaconductor-resource validate update {"name": "3c50a756-b525-46bd-b0ee-e-cell0-conductor"}
2025-09-16T16:13:52.859+0200 INFO novaconductor-resource validate update {"diff": " &v1beta1.NovaConductor{\n \tTypeMeta: {Kind: \"NovaConductor\", APIVersion: \"nova.openstack.org/v1beta1\"},\n \tObjectMeta: v1.ObjectMeta{\n \t\t... // 4 identical fields\n \t\tUID: \"0c1149ab-f0d0-4bcc-a7c8-5329730c9dcb\",\n \t\tResourceVersion: \"342\",\n- \t\tGeneration: 1,\n+ \t\tGeneration: 2,
\n \t\tCreationTimestamp: {Time: s\"2025-09-16 16:13:51 +0200 CEST\"},\n \t\tDeletionTimestamp: nil,\n \t\t... // 3 identical fields\n \t\tOwnerReferences: {{APIVersion: \"nova.openstack.org/v1beta1\", Kind: \"NovaCell\", Name: \"3c50a756-b525-46bd-b0ee-e-cell0\", UID: \"fb853005-2a18-4ee9-b09f-128c4ce4903f\", ...}},\n \t\tFinalizers: {\"openstack.org/novaconductor\"},\n \t\tManagedFields: []v1.ManagedFieldsEntry
{\n- \t\t\t{\n- \t\t\t\tManager: \"functional.test\",\n- \t\t\t\tOperation: \"Update\",\n- \t\t\t\tAPIVersion: \"nova.openstack.org/v1beta1\",\n- \t\t\t\tTime: s\"2025-09-16 16:13:51 +0200 CEST\",\n- \t\t\t\tFieldsType: \"FieldsV1\",\n- \t\t\t\tFieldsV1: s`{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/novaconductor\\\"\":{}},\"f:ownerReferences\":{\".\":{},\"k:{\\\"uid\\\":\\\"fb853005`...,\n
- \t\t\t},\n \t\t\t{Manager: \"functional.test\", Operation: \"Update\", APIVersion: \"nova.openstack.org/v1beta1\", Time: s\"2025-09-16 16:13:51 +0200 CEST\", ...},\n+ \t\t\t{\n+ \t\t\t\tManager: \"functional.test\",\n+ \t\t\t\tOperation: \"Update\",\n+ \t\t\t\tAPIVersion: \"nova.openstack.org/v1beta1\",\n+ \t\t\t\tTime: s\"2025-09-16 16:13:52 +0200 CEST\",\n+ \t\t\t\tFieldsType: \"FieldsV1\",\n+ \t\t\t\tFieldsV
1: s`{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/novaconductor\\\"\":{}},\"f:ownerReferences\":{\".\":{},\"k:{\\\"uid\\\":\\\"fb853005`...,\n+ \t\t\t},\n \t\t},\n \t},\n \tSpec: v1beta1.NovaConductorSpec{\n \t\t... // 4 identical fields\n \t\tAPIDatabaseAccount: \"test-nova-api-account\",\n \t\tAPIDatabaseHostname: \"hostname-for-nova-api.387ef225-2396-43a7-9aa2-c6571f2db3f2.svc\",\n- \t\tCe
llDatabaseAccount: \"some-old-account\",\n+ \t\tCellDatabaseAccount: \"some-new-account\",\n \t\tCellDatabaseHostname: \"hostname-for-nova-cell0.387ef225-2396-43a7-9aa2-c6571f2db3f2.svc\",\n \t\tPreserveJobs: false,\n \t\t... // 5 identical fields\n \t},\n \tStatus: {Hash: {\"dbsync\": \"n685h67dhdfh8dhbbh688h66fhcfh5dchf4h5fbh5c9h697h9h5cchf8h65fh5c6\"..., \"input\": \"n59dh669h88h5fhf8h59dh646h548hd8h5c8hc9
h5bhcbh697h564h9ch7ch65bh\"...}, Conditions: {{Type: \"Ready\", Status: \"True\", LastTransitionTime: {Time: s\"2025-09-16 16:13:51 +0200 CEST\"}, Reason: \"Ready\", ...}, {Type: \"CronJobReady\", Status: \"True\", LastTransitionTime: {Time: s\"2025-09-16 16:13:51 +0200 CEST\"}, Reason: \"Ready\", ...}, {Type: \"DBSyncReady\", Status: \"True\", LastTransitionTime: {Time: s\"2025-09-16 16:13:51 +0200 CEST\"}, Reason: \"Ready
\", ...}, {Type: \"DeploymentReady\", Status: \"True\", LastTransitionTime: {Time: s\"2025-09-16 16:13:51 +0200 CEST\"}, Reason: \"Ready\", ...}, ...}, ReadyCount: 1, ObservedGeneration: 1, ...},\n }\n"}
2025-09-16T16:13:52.861+0200 INFO Controllers.NovaConductor Reconciling {"controller": "novaconductor", "controllerGroup": "nova.openstack.org", "controllerKind": "NovaConductor", "NovaConductor": {"name":"3c50a756-b525-46bd-b0ee-e-cell0-conductor","namespace":"387ef225-2396-43a7-9aa2-c6571f2db3f2"}, "namespace": "387ef225-2396-43a7-9aa2-c6571f2db3f2", "name": "3c50a756-b525-46bd-b0ee-e-cell0-conductor", "re
concileID": "62a16745-2e21-4709-a1ec-5af119c39973"}
2025-09-16T16:13:52.861+0200 INFO Controllers.NovaConductor FOO: Generation 2 - ObservedGeneration 2 {"controller": "novaconductor", "controllerGroup": "nova.openstack.org", "controllerKind": "NovaConductor", "NovaConductor": {"name":"3c50a756-b525-46bd-b0ee-e-cell0-conductor","namespace":"387ef225-2396-43a7-9aa2-c6571f2db3f2"}, "namespace": "387ef225-2396-43a7-9aa2-c6571f2db3f2", "name": "3c50a756-b525-4
6bd-b0ee-e-cell0-conductor", "reconcileID": "62a16745-2e21-4709-a1ec-5af119c39973"}
- as a result the NovaConductor deployment won't get ready:
2025-09-16T16:13:52.861+0200 INFO Controllers.NovaCell NovaConductor updated. {"controller": "novacell", "controllerGroup": "nova.openstack.org", "controllerKind": "NovaCell", "NovaCell": {"name":"3c50a756-b525-46bd-b0ee-e-cell0","namespace":"387ef225-2396-43a7-9aa2-c6571f2db3f2"}, "namespace": "387ef225-2396-43a7-9aa2-c6571f2db3f2", "name": "3c50a756-b525-46bd-b0ee-e-cell0", "reconcileID": "36488628-7c45-47c5-
b78b-8e21d23b517d"}
2025-09-16T16:13:52.863+0200 INFO Controllers.NovaConductor Secret 3c50a756-b525-46bd-b0ee-e-cell0-conductor-config-data successfully reconciled - operation: updated {"controller": "novaconductor", "controllerGroup": "nova.openstack.org", "controllerKind": "NovaConductor", "NovaConductor": {"name":"3c50a756-b525-46bd-b0ee-e-cell0-conductor","namespace":"387ef225-2396-43a7-9aa2-c6571f2db3f2"}, "namespace
": "387ef225-2396-43a7-9aa2-c6571f2db3f2", "name": "3c50a756-b525-46bd-b0ee-e-cell0-conductor", "reconcileID": "62a16745-2e21-4709-a1ec-5af119c39973"}
2025-09-16T16:13:52.867+0200 INFO Controllers.NovaConductor StatefulSet 3c50a756-b525-46bd-b0ee-e-cell0-conductor - updated {"controller": "novaconductor", "controllerGroup": "nova.openstack.org", "controllerKind": "NovaConductor", "NovaConductor": {"name":"3c50a756-b525-46bd-b0ee-e-cell0-conductor","namespace":"387ef225-2396-43a7-9aa2-c6571f2db3f2"}, "namespace": "387ef225-2396-43a7-9aa2-c6571f2db3f2", "name
": "3c50a756-b525-46bd-b0ee-e-cell0-conductor", "reconcileID": "62a16745-2e21-4709-a1ec-5af119c39973"}
2025-09-16T16:13:52.867+0200 INFO Controllers.NovaConductor Deployment is not ready {"controller": "novaconductor", "controllerGroup": "nova.openstack.org", "controllerKind": "NovaConductor", "NovaConductor": {"name":"3c50a756-b525-46bd-b0ee-e-cell0-conductor","namespace":"387ef225-2396-43a7-9aa2-c6571f2db3f2"}, "namespace": "387ef225-2396-43a7-9aa2-c6571f2db3f2", "name": "3c50a756-b525-46bd-b0ee-e-cell0-cond
uctor", "reconcileID": "62a16745-2e21-4709-a1ec-5af119c39973", "Status": {"observedGeneration":1,"replicas":1,"readyReplicas":1,"updatedReplicas":1,"availableReplicas":1}}
| // Check if cell0 conductor has been updated with the new KeystoneAuthURL | ||
| conductor := GetNovaConductor(cell0.ConductorName) | ||
| // The KeystoneAuthURL should match the new endpoint we set | ||
| g.Expect(conductor.Spec.KeystoneAuthURL).To(Equal(newInternalEndpoint)) |
There was a problem hiding this comment.
we already check that in the loop below L1083. So I'm wondering about the reason why we need to check it before separately. Is there a race?
There was a problem hiding this comment.
yes, the issue is that we have to wait for the resources to have updated before we simulate them ready. otherwise we simulate the old object version and the validation bellow fail.
Yes, I was running it without increasing the number of concurrent executors. But I remember that your local machine was really good at producing uncommon errors :) |
on my machine even running the current main in a clean repo fails 3 times out of 5 runs with: Note the 250 sec wait time before the test fails. That is a lot just to got a failure. When everything passes then it took around 85 sec to run the whole test set. This is also a reason why I'm not happy bumping the timeout in this PR, this 250 sec will be 300 suddenly. Bottom line I'm not in the position to check how the new PR behaves as baseline is broken for me already. I will file a Jira ticket to fix the envtest on main as it seems to be broken. |
|
we have to first land the openstack-operator PR to make the kuttl tests to work. |
yes, makes sense if we can address that separate. I just bumped it to make the test to pass in this PR. was not looking into if there is a general issue. |
but it would mean we first have to fix the issue for the test, before we can do the golang bump? |
|
This change depends on a change that failed to merge. Change openstack-k8s-operators/openstack-operator#1567 is needed. |
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/8cc24bb8065d48de85178c2f896340d1 ✔️ openstack-meta-content-provider SUCCESS in 3h 15m 35s |
|
meta comment is we do not allow squah merges so the fix commit shoudl be merged into the prior commit that need the fix to pass. it woudl be good to fix that in the next revision if you dont mind. |
@SeanMooney I am not sure if I fully understood what you mean. Do you mean that I merge the two commits, |
|
so if we look at
the first 2 shoudl be merge together since the golang issue were intoduced by bumping the glangci version in the prior patch if the two if not they those shoudl likely be in a sperate pr but im less concered by that. what we shoudl avoid is havign a commit where tests/lints fail each commit should be valid on its own ideally. |
|
I still see test failing intermittently after the bump as well. But as I saw this before on main this is not related to the bump. The rest of the patches was reviewed by others and I trust them. So if they are OK then I'm OK too. Thanks Martin for taking care of the 1.24 bump. |
ok, I'll squash those as you explained. thought its easier to review with the split. |
I haven't seen a failure with the topology test. so It seems to be unrelated and worked on in the jira you filed. |
done |
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/59080ca1fd4947e9b3975cfd2c925b6d ✔️ openstack-meta-content-provider SUCCESS in 2h 48m 38s |
* bump in go.mod (base and api)
* bump go-toolset in Dockerfile
* bump in github jobs ('.github/workflows')
* Bump the golangci-lint version in the .pre-commit-config.yaml to v2.4.0
* Bump build_root_image in .ci-operator.yaml to ci-build-root-golang-1.24-sdk-1.31
Also fixes golangci-lint reported issues for new v2.4.0 version.
Jira: OSPRH-12935
Signed-off-by: Martin Schuppert <mschuppert@redhat.com>
Co-authored-by: Claude (Anthropic) claude@anthropic.com
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>
Signed-off-by: Martin Schuppert <mschuppert@redhat.com>
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/746add81a3c54670a5c21570b4d42cd4 ✔️ openstack-meta-content-provider SUCCESS in 42m 28s |
|
recheck |
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/1aaa3a1863c44be9a832f04cf4ef625a ✔️ openstack-meta-content-provider SUCCESS in 3h 19m 18s |
|
recheck |
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/f8f67d5634b9440d9367b6e0f03bfe3c ✔️ openstack-meta-content-provider SUCCESS in 3h 04m 10s |
|
multi node job fails early connecting to the ocp env |
|
recheck |
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/841d30ff545444f599e80112a3477813 ✔️ openstack-meta-content-provider SUCCESS in 3h 12m 43s |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: dprince, mrkisaolamb, stuggi The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
recheck |
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/2af5f99865b8471584c00585cdb94bce ✔️ openstack-meta-content-provider SUCCESS in 3h 50m 13s |
|
recheck |
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/565cd067747a45469d017168453202d1 ✔️ openstack-meta-content-provider SUCCESS in 2h 35m 15s |
|
recheck nova-operator-tempest-multinode-ceph |
a6113c8
into
openstack-k8s-operators:main
To test on existing env, or after landed:
go.work*filesgo work initbin/subdir of the repoDepends-On: openstack-k8s-operators/install_yamls#1082
Depends-On: openstack-k8s-operators/openstack-operator#1567
Jira: OSPRH-12935