Skip to content

[OSPRH-26273] Update observability-operator#844

Merged
openshift-merge-bot[bot] merged 1 commit intoopenstack-k8s-operators:mainfrom
vyzigold:update_obo_100
Feb 25, 2026
Merged

[OSPRH-26273] Update observability-operator#844
openshift-merge-bot[bot] merged 1 commit intoopenstack-k8s-operators:mainfrom
vyzigold:update_obo_100

Conversation

@vyzigold
Copy link
Copy Markdown
Contributor

Update OBO to v1.0.0 (newer versions would require updates to k8s.io/* as well). This will enable us to use the newest CRD fields easily from telemetry-operator. Mainly the NodeSelector and the TLS related fields.

@openshift-ci openshift-ci Bot requested review from paramite and stuggi February 11, 2026 08:55
@softwarefactory-project-zuul
Copy link
Copy Markdown

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.
Warning:
Error merging github.com/openstack-k8s-operators/telemetry-operator for 844,5bfe0453ea62b9a4a3834cb1074e6f8e0468a92f

Update OBO to v1.0.0 (newer versions would require updates to
k8s.io/* as well). This will enable us to use the newest CRD fields
easily from telemetry-operator. Mainly the NodeSelector and the
TLS related fields.
@vyzigold
Copy link
Copy Markdown
Contributor Author

vyzigold commented Feb 11, 2026

pre-commit failing with CRD check. Comment for each group of failures:

ERROR: "NoNewRequiredFields": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.alertmanagerConfig.webTLSConfig.certificate is new and may not be required
ERROR: "NoNewRequiredFields": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.alertmanagerConfig.webTLSConfig.certificate.key is new and may not be required
ERROR: "NoNewRequiredFields": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.alertmanagerConfig.webTLSConfig.certificate.name is new and may not be required
ERROR: "NoNewRequiredFields": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.alertmanagerConfig.webTLSConfig.certificateAuthority is new and may not be required
ERROR: "NoNewRequiredFields": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.alertmanagerConfig.webTLSConfig.certificateAuthority.key is new and may not be required
ERROR: "NoNewRequiredFields": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.alertmanagerConfig.webTLSConfig.certificateAuthority.name is new and may not be required
ERROR: "NoNewRequiredFields": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.alertmanagerConfig.webTLSConfig.privateKey is new and may not be required
ERROR: "NoNewRequiredFields": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.alertmanagerConfig.webTLSConfig.privateKey.key is new and may not be required
ERROR: "NoNewRequiredFields": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.alertmanagerConfig.webTLSConfig.privateKey.name is new and may not be required

The whole .spec.customMonitoringStack.alertmanagerConfig.webTLSConfig is a new field and it's optional. So all the new "required" fields are wrapped in a new optional struct - should be fine

ERROR: "NoNewRequiredFields": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.prometheusConfig.remoteWrite[*].oauth2.tlsConfig.ca.configMap.key is new and may not be required
ERROR: "NoNewRequiredFields": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.prometheusConfig.remoteWrite[*].oauth2.tlsConfig.ca.secret.key is new and may not be required
ERROR: "NoNewRequiredFields": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.prometheusConfig.remoteWrite[*].oauth2.tlsConfig.cert.configMap.key is new and may not be required
ERROR: "NoNewRequiredFields": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.prometheusConfig.remoteWrite[*].oauth2.tlsConfig.cert.secret.key is new and may not be required
ERROR: "NoNewRequiredFields": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.prometheusConfig.remoteWrite[*].oauth2.tlsConfig.keySecret.key is new and may not be required

The whole .spec.customMonitoringStack.prometheusConfig.remoteWrite.oath2.tlsConfig is a new field and it's optional. So all the new "required" fields are wrapped in a new optional struct - should be fine

ERROR: "NoNewRequiredFields": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.prometheusConfig.webTLSConfig.certificate is new and may not be required
ERROR: "NoNewRequiredFields": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.prometheusConfig.webTLSConfig.certificate.key is new and may not be required
ERROR: "NoNewRequiredFields": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.prometheusConfig.webTLSConfig.certificate.name is new and may not be required
ERROR: "NoNewRequiredFields": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.prometheusConfig.webTLSConfig.certificateAuthority is new and may not be required
ERROR: "NoNewRequiredFields": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.prometheusConfig.webTLSConfig.certificateAuthority.key is new and may not be required
ERROR: "NoNewRequiredFields": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.prometheusConfig.webTLSConfig.certificateAuthority.name is new and may not be required
ERROR: "NoNewRequiredFields": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.prometheusConfig.webTLSConfig.privateKey is new and may not be required
ERROR: "NoNewRequiredFields": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.prometheusConfig.webTLSConfig.privateKey.key is new and may not be required
ERROR: "NoNewRequiredFields": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.prometheusConfig.webTLSConfig.privateKey.name is new and may not be required 

The whole .spec.customMonitoringStack.prometheusConfig.webTLSConfig is a new field and it's optional. So all the new "required" fields are wrapped in a new optional struct - should be fine

ERROR: "ListsMustHaveSSATags": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.prometheusConfig.remoteWrite[*].oauth2.proxyConnectHeader[*] must set x-kubernetes-list-type
ERROR: "ListsMustHaveSSATags": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.prometheusConfig.remoteWrite[*].proxyConnectHeader[*] must set x-kubernetes-list-type
ERROR: "ListsMustHaveSSATags": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.tolerations must set x-kubernetes-list-type

Not sure what's up with the proxyConnectHeader. It's a type: object (map in the go code) and it has a x-kubernetes-map-type set https://github.com/openstack-k8s-operators/telemetry-operator/pull/844/changes#diff-f5afb3846a6b4f39f03172f2b6315d173e241674d0519c50e98bf979f9f1e9f1R1053
The tolerations is a list and it is indeed missing the tag.

Those errors are from a CRD we import from COO (we don't have much control over it) and they don't seem like breaking issues to me (either a required field enveloped inside an optional struct or a missing list tag). I think we should be able to waive the test.

@stuggi
Copy link
Copy Markdown
Contributor

stuggi commented Feb 11, 2026

is this planned for fr5? if not, we should wait to land it until we branched to not introduce the crd change. the plan is to branch today.

@vyzigold
Copy link
Copy Markdown
Contributor Author

@stuggi It's a prerequisite for supporting NodeSeletor for Prometheus, which IMO isn't that important to attempt getting it into FR5 right now. But it's reported as a bug with a customer impact, so this and a followup PR would be cherry-picked onto the stable branch some time after FR5 releases, so that the changes get into the next bugfix release.

@stuggi
Copy link
Copy Markdown
Contributor

stuggi commented Feb 11, 2026

@stuggi It's a prerequisite for supporting NodeSeletor for Prometheus, which IMO isn't that important to attempt getting it into FR5 right now. But it's reported as a bug with a customer impact, so this and a followup PR would be cherry-picked onto the stable branch some time after FR5 releases, so that the changes get into the next bugfix release.

thanks for clarification. yes would be good if we can backport it. either right after branching or later

@softwarefactory-project-zuul
Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/4debffc13b5a45ca92d2ffb9040308ed

✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 47m 14s
telemetry-operator-multinode-cloudkitty FAILURE in 18m 13s
✔️ telemetry-openstack-meta-content-provider-master SUCCESS in 2h 34m 53s
✔️ telemetry-operator-multinode-default-telemetry SUCCESS in 1h 27m 25s
✔️ functional-tests-osp18 SUCCESS in 2h 14m 55s

@vyzigold
Copy link
Copy Markdown
Contributor Author

recheck

@softwarefactory-project-zuul
Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/7f7fbf65a68443a7843a7791911fd7bd

✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 46m 59s
✔️ telemetry-operator-multinode-cloudkitty SUCCESS in 1h 26m 56s
✔️ telemetry-openstack-meta-content-provider-master SUCCESS in 2h 00m 09s
✔️ telemetry-operator-multinode-default-telemetry SUCCESS in 1h 28m 49s
functional-tests-osp18 FAILURE in 1h 41m 24s

@vyzigold
Copy link
Copy Markdown
Contributor Author

recheck

@vyzigold
Copy link
Copy Markdown
Contributor Author

@stuggi the branches were created, so we should be good now right?

@stuggi
Copy link
Copy Markdown
Contributor

stuggi commented Feb 23, 2026

I agree, the new NoNewRequiredFields can be ignored as the upper element is optional

ERROR: "ListsMustHaveSSATags": crd/metricstorages.telemetry.openstack.org version/v1beta1 field/^.spec.customMonitoringStack.prometheusConfig.remoteWrite[].oauth2.proxyConnectHeader[] must set x-kubernetes-list-type

Its not super critical and since iiuc this is coming from an import we could probably ignore it for now. I think there is one annotation missing for the additionalProperties array, like

proxyConnectHeader:
  additionalProperties:
    items:
      description: SecretKeySelector selects a key of a Secret.
      # ... (properties: key, name, optional) ...
      type: object
      x-kubernetes-map-type: atomic
    type: array
    # --- THIS LINE ---
    x-kubernetes-list-type: atomic 
  description: |-
    ProxyConnectHeader optionally specifies headers...
  type: object
  x-kubernetes-map-type: atomic

@stuggi
Copy link
Copy Markdown
Contributor

stuggi commented Feb 23, 2026

@stuggi the branches were created, so we should be good now right?

yes, we are good to land it on main now

@vyzigold
Copy link
Copy Markdown
Contributor Author

/override ci/prow/precommit-check

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Feb 24, 2026

@vyzigold: Overrode contexts on behalf of vyzigold: ci/prow/precommit-check

Details

In response to this:

/override ci/prow/precommit-check

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@vyzigold vyzigold requested a review from jlarriba February 24, 2026 10:12
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Feb 25, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jlarriba, vyzigold

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-bot openshift-merge-bot Bot merged commit 39a4be8 into openstack-k8s-operators:main Feb 25, 2026
6 checks passed
@vyzigold
Copy link
Copy Markdown
Contributor Author

/cherry-pick 18.0-fr5

@openshift-cherrypick-robot
Copy link
Copy Markdown

@vyzigold: #844 failed to apply on top of branch "18.0-fr5":

Applying: Update observability-operator
Using index info to reconstruct a base tree...
M	api/go.mod
M	api/go.sum
M	go.mod
M	go.sum
Falling back to patching base and 3-way merge...
Auto-merging go.sum
Auto-merging go.mod
Auto-merging api/go.sum
Auto-merging api/go.mod
CONFLICT (content): Merge conflict in api/go.mod
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Patch failed at 0001 Update observability-operator

Details

In response to this:

/cherry-pick 18.0-fr5

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants