k3s/test/integration
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
..
apiserver Merge pull request #63927 from deads2k/cli-60-factory-prune 2018-05-17 13:40:19 -07:00
auth dynamic Kubelet config reconciles ConfigMap updates 2018-05-21 09:03:58 -07:00
benchmark/jsonify Autogenerated: hack/update-bazel.sh 2018-02-16 13:43:01 -08:00
client move old dynamic client to deprecated-client 2018-05-11 08:00:46 -04:00
configmap update tests to be specific about the versions they are testing instead of floating 2018-05-01 13:18:41 -04:00
daemonset Removed unused namespace in UT helper func. 2018-05-12 08:47:09 +08:00
defaulttolerationseconds update tests to be specific about the versions they are testing instead of floating 2018-05-01 13:18:41 -04:00
deployment Only check hash labels of non-adopted resources in integration tests 2018-03-26 17:08:31 -07:00
etcd Merge pull request #63100 from ravisantoshgudimetla/priority-beta-api 2018-05-14 14:35:21 -07:00
evictions Autogenerated: hack/update-bazel.sh 2018-02-16 13:43:01 -08:00
examples simplify api registration 2018-05-08 18:33:50 -04:00
framework simplify api registration 2018-05-08 18:33:50 -04:00
garbagecollector fix dynamic client name 2018-05-11 13:12:09 -04:00
ipamperf Merge pull request #63049 from andrewsykim/kcm-nodeipam 2018-05-11 11:07:12 -07:00
master add subresource support for the dynamic client 2018-05-11 08:00:03 -04:00
metrics update tests to be specific about the versions they are testing instead of floating 2018-05-01 13:18:41 -04:00
objectmeta update tests to be specific about the versions they are testing instead of floating 2018-05-01 13:18:41 -04:00
openshift remove kube-apiserver option that is always force to true 2018-04-02 12:19:34 -04:00
pods update tests to be specific about the versions they are testing instead of floating 2018-05-01 13:18:41 -04:00
quota update tests to be specific about the versions they are testing instead of floating 2018-05-01 13:18:41 -04:00
replicaset hack/update-bazel.sh 2018-03-20 11:15:36 -07:00
replicationcontroller Autogenerated: hack/update-bazel.sh 2018-02-16 13:43:01 -08:00
scale master count and lease endpoint tests 2018-04-27 13:03:31 -05:00
scheduler Merge pull request #63692 from msau42/debug-scheduler 2018-05-18 23:35:17 -07:00
scheduler_perf update tests to be specific about the versions they are testing instead of floating 2018-05-01 13:18:41 -04:00
secrets update tests to be specific about the versions they are testing instead of floating 2018-05-01 13:18:41 -04:00
serviceaccount update tests to be specific about the versions they are testing instead of floating 2018-05-01 13:18:41 -04:00
statefulset Adding integration tests for statefulset 2018-03-28 19:24:48 -04:00
storageclasses update tests to be specific about the versions they are testing instead of floating 2018-05-01 13:18:41 -04:00
tls master count and lease endpoint tests 2018-04-27 13:03:31 -05:00
ttlcontroller Autogenerated: hack/update-bazel.sh 2018-02-16 13:43:01 -08:00
util Disable pod preemption by config 2018-04-12 21:11:51 -07:00
volume update tests to be specific about the versions they are testing instead of floating 2018-05-01 13:18:41 -04:00
BUILD Adding integration tests for statefulset 2018-03-28 19:24:48 -04:00
benchmark-controller.json Use pause manifest image 2018-04-06 11:00:50 +05:30
doc.go
utils.go aesgcm - passing 2018-01-31 10:50:11 -08:00