-
Notifications
You must be signed in to change notification settings - Fork 219
checkpointer: ignore Affinity within podspec #1009
checkpointer: ignore Affinity within podspec #1009
Conversation
Kubernetes 1.12.x introduced new logic for Affinity [1]. In addition to new logic, the Pod contains a default affinity. The new default affinity gets serialized into the checkpoint file, and the 1.12.x kubelet does not restore the pod due to the affinity. This PR removes the affinity from the spec and documents that affinity's are not supported. ``` "affinity": { "nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": { "nodeSelectorTerms": [ { "matchExpressions": null } ] } } }, ``` [1] kubernetes/kubernetes#68173 [2] https://github.com/kubernetes/kubernetes/blob/e39b510726113581c6f6a9c2db1753d794aa9cce/pkg/controller/daemon/util/daemonset_util.go#L183-L196
@aaronlevy needs another lgtm /cc @dghubble |
coreosbot run e2e checkpointer |
Because this is changing checkpointer code, the normal e2e tests are not explicitly testing the new functionality (the cluster is launched with existing checkpointer pod) https://github.com/kubernetes-incubator/bootkube/blob/master/pkg/asset/images.go#L12. The checkpointer tests will build a new checkpointer image, then use that in the e2e tests. |
coreosbot run e2e checkpointer |
/lgtm |
coreosbot run e2e checkpointer |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: If they are not already assigned, you can assign the PR to them by writing The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
be13410
to
a7768df
Compare
coreosbot run e2e checkpointer |
* checkpointer test will have a modified asset file
coreosbot run e2e checkpointer |
3 similar comments
coreosbot run e2e checkpointer |
coreosbot run e2e checkpointer |
coreosbot run e2e checkpointer |
all tests are passing {bootkube-e2e-calico, bootkube-e2e-flannel, and e2e w/ checkpointer} |
@dghubble mind lgtm again? |
/lgtm |
Kubernetes 1.12.x introduced new logic for Affinity [1]. In addition to
new logic, the Pod contains a default affinity. The new default affinity
gets serialized into the checkpoint file, and the 1.12.x kubelet does
not restore the pod due to the affinity.
This PR removes the affinity from the spec and documents that affinity's
are not supported.
[1] kubernetes/kubernetes#68173
[2] https://github.com/kubernetes/kubernetes/blob/e39b510726113581c6f6a9c2db1753d794aa9cce/pkg/controller/daemon/util/daemonset_util.go#L183-L196