k3s/test
Kubernetes Submit Queue 2a989c60ff
Merge pull request #63221 from mtaufen/dkcfg-live-configmap
Automatic merge from submit-queue (batch tested with PRs 63881, 64046, 63409, 63402, 63221). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Kubelet responds to ConfigMap mutations for dynamic Kubelet config

This PR makes dynamic Kubelet config easier to reason about by leaving less room for silent skew scenarios. The new behavior is as follows:
- ConfigMap does not exist: Kubelet reports error status due to missing source
- ConfigMap is created: Kubelet starts using it
- ConfigMap is updated: Kubelet respects the update (but we discourage this pattern, in favor of incrementally migrating to a new ConfigMap)
- ConfigMap is deleted: Kubelet keeps using the config (non-disruptive), but reports error status due to missing source
- ConfigMap is recreated: Kubelet respects any updates (but, again, we discourage this pattern)

This PR also makes a small change to the config checkpoint file tree structure, because ResourceVersion is now taken into account when saving checkpoints. The new structure is as follows:
```
- dir named by --dynamic-config-dir (root for managing dynamic config)
| - meta
  | - assigned (encoded kubeletconfig/v1beta1.SerializedNodeConfigSource object, indicating the assigned config)
  | - last-known-good (encoded kubeletconfig/v1beta1.SerializedNodeConfigSource object, indicating the last-known-good config)
| - checkpoints
  | - uid1 (dir for versions of object identified by uid1)
    | - resourceVersion1 (dir for unpacked files from resourceVersion1)
    | - ...
  | - ...
```


fixes: #61643

```release-note
The dynamic Kubelet config feature will now update config in the event of a ConfigMap mutation, which reduces the chance for silent config skew. Only name, namespace, and kubeletConfigKey may now be set in Node.Spec.ConfigSource.ConfigMap. The least disruptive pattern for config management is still to create a new ConfigMap and incrementally roll out a new Node.Spec.ConfigSource.
```
2018-05-21 17:05:42 -07:00
..
conformance Merge pull request #62657 from matthyx/master 2018-05-02 19:44:32 -07:00
e2e Merge pull request #63881 from luxas/disable_cadvisor_default 2018-05-21 17:05:27 -07:00
e2e_kubeadm Basic E2E tests for kubeadm 2018-05-10 12:54:25 -04:00
e2e_node Merge pull request #63221 from mtaufen/dkcfg-live-configmap 2018-05-21 17:05:42 -07:00
fixtures Merge pull request #62657 from matthyx/master 2018-05-02 19:44:32 -07:00
images Actually support service `publishNotReadyAddresses` 2018-05-14 14:19:54 -07:00
integration Merge pull request #63221 from mtaufen/dkcfg-live-configmap 2018-05-21 17:05:42 -07:00
kubemark Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
list Autogenerated: hack/update-bazel.sh 2018-02-16 13:43:01 -08:00
soak Autogenerated: hack/update-bazel.sh 2018-02-16 13:43:01 -08:00
typecheck Deduplicate identical typecheck errors between platforms. 2018-03-28 19:42:48 -07:00
utils Add way to request GPUs in tests via RCConfig 2018-05-10 20:17:40 +02:00
BUILD Generated artefacts 2018-04-30 10:00:13 -04:00
OWNERS Adding rramkumar1 and MrHohn as reviewer & approver to pkg/test 2018-03-21 11:53:18 -07:00
test_owners.csv Merge pull request #62662 from wangzhen127/runtime-default 2018-04-26 14:33:53 -07:00
test_owners.json Remove all traces of federation 2017-10-26 13:37:37 -07:00