Skip to content

Conversation

@Deydra71
Copy link
Contributor

@Deydra71 Deydra71 commented Jan 8, 2026

Jira: OSPRH-16628

Adds end-to-end support for consuming Keystone Application Credentials (AppCred) in the telemetry-operator, enabling Ceilometer, Aodh, and CloudKitty pods to use AppCred-based authentication when available.

API changes:

Adds an optional auth field to telemetry service CRs:

  • spec.auth.applicationCredentialSecret — name of the Secret that contains the Keystone Application Credential ID and Secret (AC_ID and AC_SECRET).

This is added for:

  • Ceilometer CRs
  • Aodh CRs
  • CloudKitty CRs (and the related API/Proc CRs where applicable)

Reconcile behavior:

  • Reads spec.auth.applicationCredentialSecret
  • Attempts to load AC_ID / AC_SECRET from the referenced Secret (via the Keystone helper)
  • If the Secret is missing or incomplete, reconciliation falls back to password authentication (AppCred auth is optional and not treated as an error)

Once the AppCred Secret is ready with valid AC_ID / AC_SECRET:

  • Templates AppCred credentials into the generated service configuration (e.g. ceilometer.conf, aodh.conf, cloudkitty.conf)

  • The rendered config hash naturally includes AppCred values, triggering rolling updates when credentials rotate

  • All controllers use the same service user’s AppCred Secret for their respective service (ceilometer/aodh/cloudkitty)

  • Updates Keystone auth sections to support AppCred with a block-based if/else structure:

    • AppCred: auth_type = v3applicationcredential + application_credential_id + application_credential_secret
    • Else: existing password-based auth

Depends-on: openstack-k8s-operators/keystone-operator#567

@Deydra71 Deydra71 requested review from jlarriba and vyzigold January 8, 2026 13:35
@openshift-ci openshift-ci bot requested a review from abays January 8, 2026 13:35
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 8, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: Deydra71
Once this PR has been reviewed and has the lgtm label, please assign frenzyfriday for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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

@Deydra71
Copy link
Contributor Author

Deydra71 commented Jan 8, 2026

Note: kuttl tests are yet to be added

@softwarefactory-project-zuul
Copy link

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/9f80e1823add462ea5c60df2672f72d6

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 21m 14s
⚠️ telemetry-operator-multinode-cloudkitty SKIPPED Skipped due to failed job telemetry-openstack-meta-content-provider-master
telemetry-openstack-meta-content-provider-master FAILURE in 8m 49s
telemetry-operator-multinode-default-telemetry FAILURE in 1h 57m 01s
⚠️ functional-tests-osp18 SKIPPED Skipped due to failed job telemetry-openstack-meta-content-provider-master

@softwarefactory-project-zuul
Copy link

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/c51230a124434844b7ac185afdb52021

✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 53m 25s
⚠️ telemetry-operator-multinode-cloudkitty SKIPPED Skipped due to failed job telemetry-openstack-meta-content-provider-master
telemetry-openstack-meta-content-provider-master FAILURE in 8m 24s
telemetry-operator-multinode-default-telemetry FAILURE in 1h 26m 52s
⚠️ functional-tests-osp18 SKIPPED Skipped due to failed job telemetry-openstack-meta-content-provider-master


replace k8s.io/kube-openapi => k8s.io/kube-openapi v0.0.0-20250627150254-e9823e99808e //allow-merging

replace github.com/openstack-k8s-operators/keystone-operator/api => github.com/Deydra71/keystone-operator/api v0.0.0-20251211085602-3e1a3e022c81
Copy link

Choose a reason for hiding this comment

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

Is this kind of replacement from an official to a non-official package name is intentional here?


replace k8s.io/kube-openapi => k8s.io/kube-openapi v0.0.0-20250627150254-e9823e99808e //allow-merging

replace github.com/openstack-k8s-operators/keystone-operator/api => github.com/Deydra71/keystone-operator/api v0.0.0-20251211085602-3e1a3e022c81
Copy link

Choose a reason for hiding this comment

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

same here, this weird package name looks fishy.

@@ -1,3 +1,5 @@
github.com/Deydra71/keystone-operator/api v0.0.0-20251211085602-3e1a3e022c81 h1:plax+NFgJJL1SrERyXAnf3jOHRhLTtBlJ2oc7d84EoU=
github.com/Deydra71/keystone-operator/api v0.0.0-20251211085602-3e1a3e022c81/go.mod h1:b98Jl8eyUw8V07l9YiuQnoMlnWC748oV8IhXH15NCC4=
Copy link

Choose a reason for hiding this comment

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

We should not pull from non openstack-k8s-operators

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hi @mrunge ! It's only temporary before the dependency in keystone-oeprator is merged

Copy link
Contributor Author

Choose a reason for hiding this comment

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

After that, it will be removed before final reviews and merge

Signed-off-by: Veronika Fisarova <[email protected]>
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 14, 2026

@Deydra71: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/telemetry-operator-build-deploy 50542c0 link false /test telemetry-operator-build-deploy
ci/prow/telemetry-operator-build-deploy-kuttl 50542c0 link true /test telemetry-operator-build-deploy-kuttl

Full PR test history. Your PR dashboard.

Details

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. I understand the commands that are listed here.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants