-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Set CredentialsMode on Manual-only Platforms #5325
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
Set CredentialsMode on Manual-only Platforms #5325
Conversation
CredentialsMode should be set for platforms that only allow manual mode so that no cloud credentials are uploaded to the cluster by the installer.
a55fa47 to
b7487d0
Compare
|
It do not think that this is the correct behavior. There are platforms where the credentials stored in kube-system are needed. The CCO is only one potential consumer of the credentials. The CCO running in Manual credentials mode does not preclude other consumers from needing the credentials in kube-system. |
There are a few issues here to untangle. In manual mode, all credentials in the cluster should be created by the cluster. The installer is correctly observing this behavior, but there are two (or maybe three) different classes of platforms: manual-mode-only platforms and CCO-supported platforms. At the moment, the only manual-mode-only platform is Azure Stack Hub. The issue with this type of platform is that we want it to run in manual mode, but unless the user sets I think the issues you pointed out are more related to the second-kind of clusters that have existing support in the CCO. These platforms do not run in manual mode by default, so #4416 is already preventing the kube-system secret from being written. This PR should not affect those platforms. If the kube-system credential is required by platforms like aws, gcp, or public azure, I think creating it is not covered by our documentation. But I have not tested a manual install and it is unclear to me from reading the code whether there is actually an issue; the machine provider spec for those three platforms seem to use secrets in the machine-api namespace. |
|
@patrickdillon My concern was with platforms that do not have any interaction with CCO but that still make use of the creds secret in the kube-system namespace. Some examples are openstack and vsphere. If we set the credentials mode to manual, then the installer will not write out the manifest to create the creds secret. See installer/pkg/asset/manifests/openshift.go Lines 240 to 243 in 1b4b561
But I see after closer inspection of the changes in this PR that the credentials mode is only set for platforms that allow the field to be set at all. I find it surprising that we have some platforms that allow the credentials mode to be set but only to Manual and other platforms that do not allow the credentials mode to be set at all. Is the distinction that for the former there are CredentialsRequests generated but for the latter there are not? |
I would assume for those where credentialsmode cannot be set, they can only run in mint mode (I could be very wrong). I see credenetialsrequests for vsphere: and openstack: |
|
After consultation with the CCO team, the on-prem platforms are running in passthrough mode. Should we set the mode to passthrough by default for those platforms rather than leave it empty? |
|
@patrickdillon: PR needs rebase. DetailsInstructions 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/test-infra repository. |
2 similar comments
|
@patrickdillon: PR needs rebase. DetailsInstructions 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/test-infra repository. |
|
@patrickdillon: PR needs rebase. DetailsInstructions 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/test-infra repository. |
|
@patrickdillon is this still an issue we want to solve? |
|
/close |
|
/reopen |
|
/refresh |
|
@patrickdillon: Closed this PR. DetailsIn 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 kubernetes/test-infra repository. |
|
@patrickdillon: Reopened this PR. DetailsIn 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 kubernetes/test-infra repository. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: SHAKY404 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 |
1 similar comment
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: SHAKY404 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 |
|
/cc @patrickdillon |
|
@jstuever: GitHub didn't allow me to request PR reviews from the following users: patrickdillon. Note that only openshift members and repo collaborators can review this PR, and authors cannot review their own PRs. DetailsIn 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 kubernetes/test-infra repository. |
|
@patrickdillon: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions 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/test-infra repository. I understand the commands that are listed here. |
|
Issues go stale after 90d of inactivity. Mark the issue as fresh by commenting If this issue is safe to close now please do so with /lifecycle stale |
|
Stale issues rot after 30d of inactivity. Mark the issue as fresh by commenting If this issue is safe to close now please do so with /lifecycle rotten |
|
Rotten issues close after 30d of inactivity. Reopen the issue by commenting /close |
|
@openshift-bot: Closed this PR. DetailsIn 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 kubernetes/test-infra repository. |
CredentialsMode should be set for platforms that only allow manual mode so that no cloud credentials are uploaded to the cluster by the installer. #4416 created logic in the installer to not create cluster credentials when running in manual mode, but unless
CredentialsMode: Manualis explicitly set in the install config, that logic would be ignored.With Azure Stack Hub, IBM, and Alibaba being manual-only platforms, we should use a default credential mode for these platforms to ensure that manual-mode logic is being observed. We should also consider future work of disabling the CCO when manual mode is set.