-
Notifications
You must be signed in to change notification settings - Fork 10
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
Improve join robustness #35
Conversation
lib/smart_proxy_realm_ad/provider.rb
Outdated
end | ||
|
||
def retry_authentication_error(enroll) | ||
MAX_RETRIES.times do |i| |
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.
This looks really good to me and much better than (dsnpl@a18ce9c88e321ad6399b884e87388fcb5ce57a74)[my attempt] -
I found that with multiple DCs requests get sequentially round-robined and that the set password request after the create create object request goes to a different DC that hasnt had the new object synced to it. Retrying for up to about 10 seconds sorts this out for me.
Ping @ekohl |
940692a
to
0da5e3b
Compare
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.
This PR does a few things. Would you mind separating it into smaller PR? Preferably start with the CI updates
.github/workflows/ci.yml
Outdated
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.
For CI we've introduced a common workflow but not app plugins have adopted it. I'd prefer to do that. https://github.com/theforeman/actions?tab=readme-ov-file#smart-proxy-plugin-test has an example
Dockerfile
Outdated
@@ -0,0 +1,6 @@ | |||
FROM ruby:2.7 |
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.
We are in the process of dropping Ruby 2.7. If we introduce a container I'd prefer it to use Ruby 3
0da5e3b
to
bd3a949
Compare
This PR will attempt to improve join robustness and handle the cases of
Handling
#22
#27
#20