-
Notifications
You must be signed in to change notification settings - Fork 6.9k
Try reconnect IAM systems if failed initially #20333
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
Conversation
klauspost
left a comment
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.
PTAL.
28cb5b2 to
92a6dc8
Compare
5ce5e85 to
12f748c
Compare
|
I simplified the overall behavior @klauspost instead of having many goroutines, it is done in one self contained place PTAL. |
PTAL @shtripat |
taran-p
left a comment
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.
IAMsys stays uninitialized if one of the subsystems is down, so actions by non-root users fail and IAM mc actions hang
that is to be expected, you need to bring those endpoints online @taran-p |
|
the idea is that those endpoints do come online lazily, and we can operate without them being online when the server is coming up. |
|
I tried verifying the latest changes. With this change, when openid is down and we restart MinIO server, it keeps waiting for opendid to come online and keeps logging below error till openid comes online. During this time console doesnt get initialized and we cannot open it. Once openid comes online everything starts working as expected. If we dont restart MinIO while openid goes offline temporarily, the console falls back to userid/paswd based login and if we bring openid back online, it starts using the same for login.
Approving the changes based on the same. |
I mean it is precisely doing what we wanted to do, it isn't about not working well. SSO down is catastrophic, we cannot allow access to resources. We could initialize the console earlier than IAM, which is okay. Then, it will work the same way as when SSO goes offline while the server is running. |
@shtripat can you move the code around for starting Console UI in server-main.go |
Juts by moving the console start before IAM init, would start the UI server but still would root creds work for login till we start openid as its already configured? |
3891738 to
1b8f561
Compare
|
With new commit now behavior is as below
|
Fixes: minio#20118 Signed-off-by: Shubhendu Ram Tripathi <[email protected]>
Signed-off-by: Shubhendu Ram Tripathi <[email protected]>
Signed-off-by: Shubhendu Ram Tripathi <[email protected]>
Signed-off-by: Shubhendu Ram Tripathi <[email protected]>
Signed-off-by: Shubhendu Ram Tripathi <[email protected]>
This reverts commit 1b8f561.
1b8f561 to
0069bcd
Compare
Reverted this change as not too safe way to handle |
harshavardhana
left a comment
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.
Okay with this change but will confirm once with @abperiasamy
|
@shtripat please move this PR to EOS only |
|
Hi, @harshavardhana ! I see this PR got closed, though I was very interested in this functionality being present, since currently if MinIO starts up before my IDP, then I simply lose all access to the console for my users unless I restart the k8s pod which in turn creates some downtime. Are there any updates on this? What is the current status? |
PR will be made available in our EOS releases. |
So this will be an enterprise only feature? |
Correct. |
Well that's just a shame... The work was already done over here. I find it weird that SSO is NOT an enterprise only feature but rather it working properly is... |
@mircea-pavel-anton you are free to work on it, the code is available keep it in your fork. |
Community Contribution License
All community contributions in this pull request are licensed to the project maintainers
under the terms of the Apache 2 license.
By creating this pull request I represent that I have the right to license the
contributions to the project maintainers under the Apache 2 license.
Description
If while start of MinIO server, some of IAM systems (e.g. OpenID/ldap) are not reachable, start a thread to check their availability runtime and re-initialize the configurations properly. This makes sure if openid/ldap comes online later, console would allow using the those creds for login.
Motivation and Context
Fixes: #20118
How to test this PR?
Follow instructions at #20118
Types of changes
Checklist:
commit-idorPR #here)