-
Notifications
You must be signed in to change notification settings - Fork 493
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OSASINFRA-3729: Add openstack-cacerts enhancement #1769
Conversation
@stephenfin: This pull request references OSASINFRA-3729 which is a valid jira issue. In response to this:
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 openshift-eng/jira-lifecycle-plugin repository. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
@stephenfin I'm trying to find some user documentation links to reference on:
I'm currently coming up blank, though. I'm sure it exists. Do you have it to hand? As well as being useful during review, I feel like we should reference it in this document. EDIT: Looks like both are here: https://docs.redhat.com/en/documentation/openshift_container_platform/4.18/html/installing_on_openstack/installing-openstack-installer-custom#installation-osp-describing-cloud-parameters_installing-openstack-installer-custom |
I'd really like to see this process described from the cluster admin's perspective. e.g.: Currently, to rotate the OpenStack CA cert, the cluster administrator must do X. With this enhancement they can instead do Y. We will continue to support X indefinitely. We propose to implement this change as follows. |
IIUC we currently have: Secret
ConfigMap
CCM uses:
All other components (should) use credentials in their own namespace copied from You're proposing a new sync controller which would allow the user to either:
Please can you correct all my mistakes? |
Signed-off-by: Stephen Finucane <[email protected]>
bf59df2
to
a02b993
Compare
@stephenfin: The following test failed, say
Full PR test history. Your PR dashboard. 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. |
- CAPO (as deployed by `cluster-capi-operator`) and ORC are both currently | ||
broken on clouds using self-signed certs | ||
|
||
[source-mapo]: https://github.com/openshift/machine-api-provider-openstack/blob/d2fce230a2df0cf3b47769f0118d6475f796cb35/pkg/clients/utils.go#L51-L64 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't know you could do this🤯
* As an OpenShift administrator, I want to be able to rotate the CA cert used | ||
for my cloud as easily as I can rotate my credentials. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this use case is correct, but I don't think it necessarily follows that the user expects the CA cert and cloud credentials to be in the same place. We want them to be managed from only one place each. Purely from the user's POV, I struggle to convince myself that it's important that they're both in the same place.
I see rotating a CA cert and rotating credentials as being quite different operations with quite different lifecycles. Do we have any evidence that users regularly do them at the same time?
for my cloud as easily as I can rotate my credentials. | ||
* As an OpenShift administrator, I want to continue using my existing CA cert | ||
rotation scripts for a transition period. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think there's a missing use case here:
- As an OpenShift developer, I want to reduce my maintenance burden and the risk of bugs by ensuring that cloud credentials and the CA cert are presented to all consuming services in the same format.
I think this is where the desire to have them both in the same place comes from. The difference is that this is at the point of use, not the 'point of management' as exposed to the user.
To summarise a F2F discussion: The proposal is that instead of modifying where the user puts the credentials and CA cert, we instead modify CCO to create credential secrets with an embedded CA cert, copying the CA cert from where it already lives in
We expected CCM to continue to be a snowflake because of the bootstrapping issue, but we noticed that in a deployed cluster the CCM is already using a credential generated by CCO. On further investigation, we found code suggesting that CCO runs temporarily on the bootstrap node. We should confirm this, but the implication is that CCM does not require special consideration. |
/close This has served its purpose now |
An enhancement to discuss upgrade options for https://issues.redhat.com/browse/OSASINFRA-3729.