-
Notifications
You must be signed in to change notification settings - Fork 13
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
Unclear behaviour of selector field in ExtendedDaemonSet/ExtendedDaemonSetReplicaSet #100
Comments
@clamoriniere sorry for bothering, can you have a look at this issue? |
It also looks like neither spec.template.spec.nodeSelector nor selector is considered when choosing canary nodes, so if you use labels to filter nodes to schedule EDS, you also explicitly need to put selector to spec.strategy.canary.nodeSelector: |
@clamoriniere I think I can do a PR fixing this but I need to know am I getting expected behaviour right? |
Hello @syndicut, thanks for your bug report, indeed something is not right with the usage of the let me answer your second question first.
To deploy on specific not only, you have 3 standards solution in kubernetes: For the 3 solutions it needs to be configured inside the PodTemplate
We are using the same logic than the native
I think we added the But you are right, we should not use this label Selector to list Node here. IMO we need remove it. Lucky us, we are not creating the ERS with it. so it prevent us from not selecting node that don't have the labels present in the You have also revealed a third bug about about the Node Canary selection, Indeed the way we select Node doesn't take into consideration the Fixes to make
I think you have properly, discover and understood the issues. Please let us know if you plan to work on it and thanks again for this great investigation 👍 |
Thanks for clarification, I plan to work on it |
Describe the bug
ExtendedDaemonSet has selector field: https://github.com/DataDog/extendeddaemonset/blob/main/api/v1alpha1/extendeddaemonset_types.go#L22 , which states:
This field is only used to initialize new ers:
https://github.com/DataDog/extendeddaemonset/blob/main/controllers/extendeddaemonset/controller.go#L528
In ers it is used to match with node (not pod) labels:
https://github.com/DataDog/extendeddaemonset/blob/main/controllers/extendeddaemonsetreplicaset/controller.go#L351
Not sure what the difference with specifying nodeSelector in spec.template.spec
It is also get printed in listing as "NODE SELECTOR":
https://github.com/DataDog/extendeddaemonset/blob/main/api/v1alpha1/extendeddaemonsetreplicaset_types.go#L118
Questions:
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Environment (please complete the following information):
The text was updated successfully, but these errors were encountered: