-
Notifications
You must be signed in to change notification settings - Fork 792
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
Require k8s 1.17+ to reduce complexity #2005
Conversation
By relying on k8s 1.17+, we can cut away a hard to maintain user-scheduler implementation for k8s 1.16 and earlier that is different from the implementation we use for k8s 1.17+.
f7b3125
to
f8a9f7f
Compare
The failing test error
sounds suspiciously similar to jupyterhub/mybinder.org-deploy#1706 |
I think of two reasons for this happening:
I suspect this is caused by step 3. Googling my way onwards I conclude that they have a 10 minute cache control. See: https://webapps.stackexchange.com/a/119294 |
Thanks for keeping this separate, @consideRatio! I'd like us to consider also making a point release before we bump to k8s 1.17. That would make life easier for folks, since they wouldn't have to move to helm 3 and a k8s version bump at the same time. |
@yuvipanda 1.17 is now the default in GKE and users of 1.16 are now being automatically upgraded to 1.17. After considering this for a while I'd like to just get rid of old logic and reduce complexity sooner rather than later. The key point is that it would give me peace of mind when users report issues with the user-scheduler to know that if they use a specific version a specific user-scheduler implementation rather than one depending on the k8s version. There have been some issues with it lately as reported in #2025 for example and some before it also. Okay to merge this? |
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.
$ git grep 1\\.16
CHANGELOG.md:than 1.16.
CHANGELOG.md:- Fixed a compatibility issue with Kubernetes 1.16+
CHANGELOG.md:- Kubernetes 1.16 compatibility achieved
jupyterhub/templates/scheduling/user-scheduler/deployment.yaml: image: {{ .Values.scheduling.userScheduler.image.name }}:v1.16.15
jupyterhub/templates/scheduling/user-scheduler/rbac.yaml: # 1.16 and in 1.17, but unchanged in 1.18 and 1.19.
zero-to-jupyterhub-k8s/jupyterhub/templates/scheduling/user-scheduler/deployment.yaml
Line 57 in 35ca170
image: {{ .Values.scheduling.userScheduler.image.name }}:v1.16.15 |
is removed in #1995
Does the comment in
zero-to-jupyterhub-k8s/jupyterhub/templates/scheduling/user-scheduler/rbac.yaml
Lines 21 to 24 in 35ca170
# NOTE: These rules have been unchanged between 1.12 and 1.15, then changed in | |
# 1.16 and in 1.17, but unchanged in 1.18 and 1.19. | |
# | |
# ref: https://github.com/kubernetes/kubernetes/blob/v1.19.0/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/testdata/cluster-roles.yaml#L696-L829 |
need to be updated or removed? As it is I don't understand the it's significance.
Regardless, 👍 for dropping 1.16
Thanks for patiently waiting, @consideRatio! This is good to go now! |
jupyterhub/zero-to-jupyterhub-k8s#2005 Merge pull request #2005 from consideRatio/pr/k8s-1.17
By relying on k8s 1.17+, we can cut away a hard to maintain
user-scheduler implementation for k8s 1.16 and earlier that is different
from the implementation we use for k8s 1.17+. See #1995.
Action points
@yuvipanda suggested holding off until GKE's stable release channel defaults to k8s 1.17, which I think will be in a week or two.