Add application credential finalizer management#413
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: Deydra71 The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
@Deydra71 IIUC, circular dependency on openstack-operator is not here as pointed in nova-operator change. (both quote copied from nova-operator PR)
Another thing, if agreed, placement-op code should also follow this recommended approach.
Just to be sure, am I understanding this correctly? |
|
Hi @amartyasinha ! The EDPM concern does not apply to placement. Placement is a ctlplane only service - it has no config rendered or deployed to EDPM dataplane nodes. There is no placement entry in the NodeSet's The EDPM tracking is only relevant for services whose AC secret data gets rendered into a config secret that is then deployed to dataplane nodes (only nova and ceilometer). For these services, there's a window between AC rotation on the controlplane and the next EDPM deploy where the old credential is still in use on the nodes. That's what the EDPM aware revocation prevents. For ctlplane only services like placement, barbican, or cinder, etc the consumer finalizer , eg in placement Re the circular dependency concern: we changed our current approach in keystone-operator to use unstructured access to |
|
Thanks @Deydra71 for explaining. Now it is clear to me. But seems like I haven't get clarity regarding the second quote.
Is this the answer to the above concern? Just want to ensure I get the clear idea.
|
|
@amartyasinha Yes, that's the answer to quoted concern, however we chose not to include any app cred logic in infra-operator, but keep it in keystone-operator openstack-k8s-operators/keystone-operator#685 using unstructured client. |
|
overall lgtm! maybe a couple of test cases should be added for failing cases. JFYI, placement-operator is planned to be merged into nova-operator. Once that merge is completed, this PR will be migrated in nova-operator, and then will be formally reviewed. |
Signed-off-by: Veronika Fisarova <vfisarov@redhat.com>
9d4962b to
a41def7
Compare
|
@amartyasinha additional env tests added. I will also need to remove the custom replace for keystone-operator from go.mod files, after the PR in keystone-operator is merged and bumped. Thanks for review/comments! |
|
Thanks @Deydra71 for additional test cases. Yes, I ignored go.mod file as it was not a formal review for merge. |
I also realized that Lints will be failing unless the replace directive is removed. |
|
Hey @Deydra71! |
|
@amartyasinha Hi! Thanks for notifying me, I will do that today. A question - does this merge to nova-op affect openstack-operator? Specifically https://github.com/openstack-k8s-operators/openstack-operator/blob/main/internal/openstack/placement.go structure? |
|
Hey @Deydra71! All Placement APIs will work the way they used to earlier, the only difference is now they are managed through nova-operator. To answer your question, the file you've pointed has got only one single change, that is of referencing placement API import from nova-operator repo. |
|
Closing as placement-op is fully included on nova-operator. New PR for placement app cred support is available --> openstack-k8s-operators/nova-operator#1120 |
Jira: OSPRH-29269
Application Credential dev-doc: https://github.com/openstack-k8s-operators/dev-docs/blob/main/application_credentials.md
Status.ApplicationCredentialSecretopenstack.org/placementapi-ac-consumerfinalizer to the AC secret after service config is renderedThis ensures that the keystone-operator cannot revoke a rotated AC secret while Placement is still consuming it.
Depends-On: openstack-k8s-operators/keystone-operator#685
Assisted-by: Claude Opus 4.6 noreply@anthropic.com