Skip to content

[OSPRH-32283] Make polling.yaml dynamic based on enabled services - #947

Merged
openshift-merge-bot[bot] merged 1 commit into
openstack-k8s-operators:mainfrom
vyzigold:dynamic-polling
Jul 30, 2026
Merged

[OSPRH-32283] Make polling.yaml dynamic based on enabled services#947
openshift-merge-bot[bot] merged 1 commit into
openstack-k8s-operators:mainfrom
vyzigold:dynamic-polling

Conversation

@vyzigold

Copy link
Copy Markdown
Contributor

The ceilometer central agent's polling.yaml will change dynamically and include Designate, Octavia or Manila polling configuration if these services are enabled. The mechanism is watching the KeystoneEndpoint CRs to determine whether these services are enabled. This means we don't need to add any new watches (like watching the Octavia CR) and we don't need any new dependencies (like the octavia-operator). This works very similar to how swift polling config worked until now. Also ceilometer would already restart on each new KeystoneEndpoint anyway, so there isn't any additional reconciling / pod restarts compared to the previous behavior.

Generated-By: Claude-Code claude-opus-4-6

@openshift-ci
openshift-ci Bot requested review from dprince and paramite July 17, 2026 08:29
Comment thread internal/controller/ceilometer_controller.go
@centosinfra-prod-github-app

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://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/61c6fcd63d02469cbd37107792649a7b

telemetry-openstack-meta-content-provider-master FAILURE in 16m 31s
⚠️ telemetry-operator-multinode-cloudkitty SKIPPED Skipped due to failed job telemetry-openstack-meta-content-provider-master
✔️ telemetry-openstack-meta-content-provider-all-services-master SUCCESS in 2h 41m 56s
✔️ telemetry-operator-multinode-master SUCCESS in 1h 41m 37s
✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 06m 52s
✔️ telemetry-operator-multinode-default-telemetry SUCCESS in 1h 43m 13s
⚠️ functional-tests-osp18 SKIPPED Skipped due to failed job telemetry-openstack-meta-content-provider-master

@centosinfra-prod-github-app

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://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/d00af1394fe44f7abe2c2fa28d95c7f3

telemetry-openstack-meta-content-provider-master FAILURE in 19m 14s
⚠️ telemetry-operator-multinode-cloudkitty SKIPPED Skipped due to failed job telemetry-openstack-meta-content-provider-master
telemetry-openstack-meta-content-provider-all-services-master FAILURE in 37m 01s
⚠️ telemetry-operator-multinode-master SKIPPED Skipped due to failed job telemetry-openstack-meta-content-provider-all-services-master
openstack-k8s-operators-content-provider FAILURE in 14m 23s
⚠️ telemetry-operator-multinode-default-telemetry SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
⚠️ functional-tests-osp18 SKIPPED Skipped due to failed job telemetry-openstack-meta-content-provider-master

@vyzigold

Copy link
Copy Markdown
Contributor Author

recheck

@centosinfra-prod-github-app

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://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/538839bbec064c10a8aaceae0bce936e

telemetry-openstack-meta-content-provider-master FAILURE in 19m 46s
⚠️ telemetry-operator-multinode-cloudkitty SKIPPED Skipped due to failed job telemetry-openstack-meta-content-provider-master
telemetry-openstack-meta-content-provider-all-services-master FAILURE in 35m 58s
⚠️ telemetry-operator-multinode-master SKIPPED Skipped due to failed job telemetry-openstack-meta-content-provider-all-services-master
openstack-k8s-operators-content-provider FAILURE in 14m 52s
⚠️ telemetry-operator-multinode-default-telemetry SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
⚠️ functional-tests-osp18 SKIPPED Skipped due to failed job telemetry-openstack-meta-content-provider-master

@vyzigold
vyzigold force-pushed the dynamic-polling branch 2 times, most recently from 4a7ce70 to 5662a67 Compare July 21, 2026 07:43
Watches(
&keystonev1.KeystoneEndpoint{},
handler.EnqueueRequestsFromMapFunc(keystoneEndpointsWatchFn),
handler.EnqueueRequestsFromMapFunc(r.findObjectForSrc),

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

r.findObjectForSrc is functionally almost the same as keystoneEndpointWatchFn. The difference is, that keystoneEndpointsWatchFn reconciled only the ceilometer.ServiceName named ceilometer. While r.findObjectForSrc reconciles all ceilometer CRs in a given namespace, making it independent on the CR name. This is more correct and it's needed for kuttl tests to work, since the ceilometer there is called telemetry-kuttl.

@centosinfra-prod-github-app

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.

@vyzigold

Copy link
Copy Markdown
Contributor Author

recheck

@centosinfra-prod-github-app

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.

@centosinfra-prod-github-app

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:
Unable to update github.com/openstack-k8s-operators/telemetry-operator

@vyzigold

Copy link
Copy Markdown
Contributor Author

recheck seems to me like github or zuul is having some issues

@centosinfra-prod-github-app

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:
Unable to update github.com/openstack-k8s-operators/telemetry-operator

@vyzigold

Copy link
Copy Markdown
Contributor Author

recheck

@centosinfra-prod-github-app

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://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/8eb85374479b4565adeaee22df6df1a1

✔️ telemetry-openstack-meta-content-provider-master SUCCESS in 2h 46m 53s
telemetry-operator-multinode-cloudkitty FAILURE in 26m 32s
✔️ telemetry-openstack-meta-content-provider-all-services-master SUCCESS in 2h 54m 10s
✔️ telemetry-operator-multinode-master SUCCESS in 1h 57m 15s
✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 00m 32s
✔️ telemetry-operator-multinode-default-telemetry SUCCESS in 1h 37m 32s
✔️ functional-tests-osp18 SUCCESS in 2h 18m 06s

@vyzigold

Copy link
Copy Markdown
Contributor Author

recheck Failed to download packages: tmux-3.2a-5.el9.x86_64

_, err := keystonev1.GetKeystoneEndpointWithName(ctx, h, endpointName, namespace)
if err != nil {
if !k8s_errors.IsNotFound(err) {
log.Info("Failed to check for KeystoneEndpoint, assuming not present",

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor, but shouldnt this be a log.Error trace?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't sure which level would be better. IIRC we've historically gravitated more towards the less severe error levels. But you're right that this situation kind of sounds like an error. I'll switch it to error 👍

The ceilometer central agent's polling.yaml will change dynamically and
include Designate, Octavia or Manila polling configuration if these
services are enabled. The mechanism is watching the KeystoneEndpoint CRs
to determine whether these services are enabled. This means we don't
need to add any new watches (like watching the Octavia CR) and we don't
need any new dependencies (like the octavia-operator). This works very
similar to how swift polling config worked until now. Also ceilometer
would already restart on each new KeystoneEndpoint, so there isn't any
additional reconciling / pod restarts compared to the previous behavior.

Generated-By: Claude-Code claude-opus-4-6
@vyzigold

Copy link
Copy Markdown
Contributor Author

/retest

@centosinfra-prod-github-app

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://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/7d2a9ed6a675428583148bb96daa785b

✔️ telemetry-openstack-meta-content-provider-master SUCCESS in 2h 48m 48s
✔️ telemetry-operator-multinode-cloudkitty SUCCESS in 1h 48m 00s
✔️ telemetry-openstack-meta-content-provider-all-services-master SUCCESS in 2h 45m 26s
✔️ telemetry-operator-multinode-master SUCCESS in 1h 43m 50s
✔️ openstack-k8s-operators-content-provider SUCCESS in 54m 59s
telemetry-operator-multinode-default-telemetry NODE_FAILURE Node(set) request 099-0000150981 failed in 0s
functional-tests-osp18 NODE_FAILURE Node(set) request 099-0000150984 failed in 0s

@vyzigold

Copy link
Copy Markdown
Contributor Author

recheck

@centosinfra-prod-github-app

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://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/888486d0ddca4e13a24563321f888a75

✔️ telemetry-openstack-meta-content-provider-master SUCCESS in 3h 02m 53s
✔️ telemetry-operator-multinode-cloudkitty SUCCESS in 1h 45m 27s
✔️ telemetry-openstack-meta-content-provider-all-services-master SUCCESS in 2h 24m 25s
✔️ telemetry-operator-multinode-master SUCCESS in 1h 36m 11s
✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 04m 55s
✔️ telemetry-operator-multinode-default-telemetry SUCCESS in 1h 41m 22s
functional-tests-osp18 FAILURE in 2h 34m 31s

@vyzigold

Copy link
Copy Markdown
Contributor Author

recheck

@openshift-ci

openshift-ci Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

[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

@vyzigold

Copy link
Copy Markdown
Contributor Author

/cherry-pick 18-stable

@openshift-cherrypick-robot

Copy link
Copy Markdown

@vyzigold: once the present PR merges, I will cherry-pick it on top of 18-stable in a new PR and assign it to you.

Details

In response to this:

/cherry-pick 18-stable

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.

@openshift-merge-bot
openshift-merge-bot Bot merged commit 7c618ec into openstack-k8s-operators:main Jul 30, 2026
7 checks passed
@openshift-cherrypick-robot

Copy link
Copy Markdown

@vyzigold: new pull request created: #970

Details

In response to this:

/cherry-pick 18-stable

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.

3 participants