Files
kubernetes/pkg
Kubernetes Submit Queue 92fc828d63 Merge pull request #67456 from Huang-Wei/pods-incresing-issue
Automatic merge from submit-queue (batch tested with PRs 65561, 67109, 67450, 67456, 67402). 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>.

fix an issue in NodeInfo.Clone()

- usedPorts is a map-in-map struct, add fix to ensure it's deep copied
- updated unit test

**What this PR does / why we need it**:

Due to PR "Refactor HostIP predicate algorithm #55910", internal `usedPorts` data structure was changed from "map[string]bool" to "map[string]map[ProtocolPort]struct{}".

However, it breaks behavior of `NodeInfo.Clone()`: in the before, one loop `for k, v := range usedPorts` worked fine because it's a safe assignment, but it's not safe any more for a map-in-map using original code. A similar go playground sample is here: https://play.golang.org/p/puqMN71cmSO.

**Which issue(s) this PR fixes**:
Fixes #67453 (_Might_ also related with #66568)

**Special notes for your reviewer**:
- No matter pod preemption is enabled or disabled, #67453 can be triggered.
- As #55910 was introduced in 1.10, this fix needs to back ported to 1.10 and 1.11 release branches.

**Release note**:
```release-note
Fix an issue that pods using hostNetwork keep increasing.
```
2018-08-15 18:15:16 -07:00
..
2018-07-06 10:55:17 -04:00
2018-07-30 15:56:39 +08:00
2018-08-09 19:35:03 +03:00
2018-06-22 16:22:57 -07:00
2018-02-12 10:54:33 -05:00
2018-06-22 16:22:57 -07:00
2018-06-27 14:21:27 +08:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-27 13:31:10 +02:00