Commit Graph

8604 Commits

Author SHA1 Message Date
Ted Yu
5d1bb99fcd Log warning if config labels deletion returns false 2019-07-16 09:46:12 -07:00
Kubernetes Prow Robot
7c90f7d96c
Merge pull request #77686 from tedyu/preempt-qty
Break out of inner loop when newQuantity is negative in admissionRequirementList#subtract
2019-07-15 14:53:37 -07:00
Kubernetes Prow Robot
80537a9c5f
Merge pull request #77323 from tedyu/cgroup-mgr-linux
Check error return from Update
2019-07-15 14:53:24 -07:00
Arnav Sankaran
0c1d6d330f Run gofmt 2019-07-15 09:58:09 -07:00
Arnav Sankaran
82b6b19173 Add test for ContainerStats 2019-07-15 09:57:21 -07:00
Arnav Sankaran
cd8d8f2dce Add tracing to GetContainerStats 2019-07-15 09:56:55 -07:00
Arnav Sankaran
2cfc85c8b3 Fix compile on non windows linux systems 2019-07-15 09:04:22 -07:00
Arnav Sankaran
9ed8340306 Removed duplicate code 2019-07-15 08:41:06 -07:00
Arnav Sankaran
5a26fe5696 Rename unused variable 2019-07-15 08:26:49 -07:00
Arnav Sankaran
db8e47a965 Run gofmt 2019-07-15 08:24:51 -07:00
wojtekt
93d7feb8a2 Fix kubelet watches to propagate all options 2019-07-15 12:49:45 +02:00
Ted Yu
0ec1f85b47 Break out of inner loop when newQuantity is negative 2019-07-12 09:40:22 -07:00
Arnav Sankaran
0d907e015b Add ImageFSInfo, ContainerStats, and ListContainerStats impl for linux to dockershim 2019-07-12 08:44:54 -07:00
Kubernetes Prow Robot
642a06e552
Merge pull request #79554 from draveness/feature/remove-critical-pod-annotation
feat: cleanup pod critical pod annotations feature
2019-07-11 22:03:04 -07:00
Kubernetes Prow Robot
923f08e29b
Merge pull request #79900 from mikebrow/todo-cleanup-container-manager-linux
update code documentation to reflect change in status
2019-07-11 18:33:35 -07:00
Kubernetes Prow Robot
00fe158623
Merge pull request #78414 from tedyu/hdl-pod-addition
Check limits for resolve conf outside the loop
2019-07-11 18:33:22 -07:00
Kubernetes Prow Robot
fc9db7a042
Merge pull request #79681 from tedyu/clean-pods-param
Pass desiredPods to CleanupPods
2019-07-11 17:01:47 -07:00
Kubernetes Prow Robot
920ac08361
Merge pull request #76518 from haiyanmeng/limit
Limit the read length of ioutil.ReadAll in `pkg/kubelet` and `pkg/probe`
2019-07-11 17:01:07 -07:00
Kubernetes Prow Robot
1c99825adf
Merge pull request #79566 from sukeesh/auditlog
Cleanup: Audit log and error capitalization
2019-07-11 14:33:59 -07:00
Kubernetes Prow Robot
becf718143
Merge pull request #78368 from tedyu/evict-sandboxes
Call getKubeletSandboxes first in containerGC#evictSandboxes
2019-07-11 14:33:21 -07:00
Kubernetes Prow Robot
f0d1b10092
Merge pull request #77429 from tedyu/container-linux-err
Avoid unnecessary concatenation of errors
2019-07-11 14:33:08 -07:00
Haiyan Meng
1f270ef4e2
Limit the read length of ioutil.ReadAll in pkg/kubelet and pkg/probe
Signed-off-by: Haiyan Meng <haiyanmeng@google.com>
2019-07-11 13:18:06 -07:00
Kubernetes Prow Robot
d4d8daea73
Merge pull request #78558 from tedyu/policy-str
Remove unnecessary string()
2019-07-11 13:13:06 -07:00
Kubernetes Prow Robot
b168ab1f99
Merge pull request #79892 from mikebrow/todo-cleanup-status-manager
update code docs around old todo that is not going to happen
2019-07-10 21:39:33 -07:00
draveness
b6d41ee5cc feat: cleanup pod critical pod annotations feature 2019-07-11 08:54:19 +08:00
Brian Goff
45b0261290 Use EPOLL/O_CLOEXEC in evicition notifier
This prevents fd's from leaking to subprocesses.
2019-07-09 10:03:31 -07:00
Kubernetes Prow Robot
858fce1634
Merge pull request #79531 from odinuge/kubelet-dead-code
Remove unnecessary variable declaration
2019-07-08 14:28:01 -07:00
Kubernetes Prow Robot
2309b584ee
Merge pull request #79017 from sttts/sttts-apiserver-healthz-stack-trace
apiserver: don't log stack trace on /healthz error
2019-07-08 14:27:48 -07:00
Mike Brown
6da266784a update code documentation to reflect change in status
Signed-off-by: Mike Brown <brownwm@us.ibm.com>
2019-07-08 16:15:59 -05:00
Mike Brown
7b6bb58f3a update code docs around old todo that is not going to happen
Signed-off-by: Mike Brown <brownwm@us.ibm.com>
2019-07-08 09:24:50 -05:00
Sukeesh
346fdbccf0 Cleanup: Audit log and error capitalization 2019-07-08 20:20:12 +09:00
Kubernetes Prow Robot
8482582094
Merge pull request #79700 from khenidak/fix-downward
kubelet: fix ip reporting for downward api
2019-07-03 16:46:13 -07:00
Kubernetes Prow Robot
bbef01a202
Merge pull request #74411 from nolancon/topology-manager-flags-feature-gate
Add feature gate and kubelet flags for Topology Manager
2019-07-03 15:16:13 -07:00
tiffany jernigan
27a0d91f2d Remove lazy provide from credential provider and kubelet (#79674)
* Remove LazyProvide from kubelet

* Remove LazyProvide from cloud providers

* Remove LazyProvide from credential provider keyring and provider
2019-07-03 13:52:52 -07:00
Kubernetes Prow Robot
8f7bb1fe71
Merge pull request #79321 from shufanhao/fix_golint_issue_for_network
Fix golint failure in pkg/kubelet/dockershim/network/cni
2019-07-03 13:52:26 -07:00
Kubernetes Prow Robot
03aeab967a
Merge pull request #79306 from vllry/gogo-dep-tag
Updated github.com/gogo/protobuf from v0.5 SHA to v1.0.0 tag
2019-07-03 12:29:39 -07:00
Kubernetes Prow Robot
2a82853614
Merge pull request #72420 from Pingan2017/cleanup-outofdisk
clean up redundant conditiontype ‘OutOfDisk’
2019-07-03 09:12:33 -07:00
Pingan2017
e94d7b3802 clean up redundant conditiontype OutOfDisk 2019-07-03 14:34:52 +08:00
Khaled Henidak(Kal)
491804001c kubelet: fix ip reporting for downward api 2019-07-03 05:12:39 +00:00
fanhao01
24a95a6c3e Fix golint failure in pkg/kubelet/dockershim/network/cni 2019-07-03 12:57:24 +08:00
Vallery Lancey
fe59ee8aaf Updated github.com/gogo/protobuf from SHA to nearest-pinnable tag (v1.0.0), as part of dependency management cleanup: #79234 2019-07-02 21:44:06 -07:00
Kubernetes Prow Robot
c8cee54240
Merge pull request #79391 from danwinship/nodeaddresses-update-fix
Don't use strategic merge patch on Node.Status.Addresses
2019-07-02 21:08:29 -07:00
Kubernetes Prow Robot
090e5233f2
Merge pull request #72974 from sjenning/sysctl-kubeconfig
kubelet: add allowed sysctl to KubeletConfiguration
2019-07-02 19:58:29 -07:00
Ted Yu
2242e396d4 Pass desiredPods to CleanupPods 2019-07-03 10:35:13 +08:00
Dan Winship
05a9634fb3 Hack PatchNodeStatus() to override the patch type on Status.Addresses 2019-07-02 19:16:30 -04:00
Khaled Henidak(Kal)
dba434c4ba kubenet for ipv6 dualstack 2019-07-02 22:26:25 +00:00
Seth Jennings
0c7ce5a7d7 kubelet: add allowed sysctl to KubeletConfiguration 2019-07-02 12:19:47 -05:00
nolancon
705f97e171 Enable feature gate and kubelet flags for Topology Manager
Nit: remove capitalization of preferred
Remove line from kubelet and add to separate PR for easier merge

nit: dependency added to separate PR

Add check to ensure strict policy cannot be set without feature gate enabled

Topology Manager runs "none" policy by default.

Added constants for policies and updated documentation.
2019-07-02 06:50:17 +01:00
Kubernetes Prow Robot
6f73ab2219
Merge pull request #78908 from dcbw/cni-0.7.1-snapshot
vendor: bump CNI to v0.7.1 snapshot
2019-07-01 21:33:21 -07:00
Kubernetes Prow Robot
cdddcf9b48
Merge pull request #71170 from atlassian/rand-cleanup2
Cleanup math/rand package usage
2019-07-01 21:33:08 -07:00
Kubernetes Prow Robot
dcd57c9e5e
Merge pull request #79076 from draveness/feature/read-nodes-from-scheduler-cache
fix: predicates read nodes from scheduler cache
2019-07-01 15:09:33 -07:00
Aaron Brown
d1066ead3f
quote container name in container already use error matching
https://github.com/moby/moby/pull/27510 switched the container already
in use message from a bare string to a quoted string, so the
auto-deletion of "in use" containers no longer works in Docker > 17.04.
2019-07-01 17:37:35 -04:00
Dan Williams
8739ade3fa kubelet: add CNI cache dir option and plumb through to CNI and kubenet
libcni 0.7.0 caches ADD operation results and allows the runtime to
retrieve these from the cache. In case the user wants a different
cache directory than the defaul, plumb that through like we do
for --cni-bin-dir and --cni-conf-dir.
2019-07-01 12:14:07 -05:00
Alexey Perevalov
a2ea2996f3 move to libcni 0.7.0
Previous commit "Use ip address from CNI output" introduces
ability to run pod which can havn't eth0. But also it
add problem: after kubelet restart, if we have already started
pod w/o eth0, kubelet can't find proper interface (it's
normal for vhostuser type of cni plugin when eth0 doesn't exist)
and kubelet restarts "broken" pod.
Fix of this issue requeres new feature of libcni - caching
results.

Looks like new libcni requires cniVersion in CNI output.
This patch specifies version both for CNI conf and CNI output.

Signed-off-by: Alexey Perevalov <a.perevalov@samsung.com>
2019-07-01 12:14:06 -05:00
Cezar Sa Espinola
d96c2f63e9
kubelet: ensure stable order for images in node status
By using the image ID as part of the sort function we ensure a stable
order even for images with the same size.
2019-07-01 11:23:24 -03:00
Kubernetes Prow Robot
6a2d0f67d1
Merge pull request #79527 from wojtek-t/cleanup_etcd_dir_1
Cleanup etcd code
2019-06-29 07:37:22 -07:00
wojtekt
cba13eb9ad Autogenerate code 2019-06-29 15:26:09 +02:00
Kubernetes Prow Robot
ca6113fb8b
Merge pull request #78495 from odinuge/cgroups-hugetlb
Fix cgroup hugetlb size prefix for kB
2019-06-28 16:09:29 -07:00
Kubernetes Prow Robot
2501a9083d
Merge pull request #68513 from codenrhoden/mount-refactor
Refactor util/mount interface in prep for moving out of k/k
2019-06-28 13:57:28 -07:00
Odin Ugedal
4ee5fe23e8
Fix cgroup hugetlb size prefix for kB
Use the exported list from runc that uses "KB" and not "kB".

This issue breaks kubelet on AArch64 (arm 64).

var HugePageSizeUnitList = []string{"B", "KB", "MB", "GB", "TB", "PB"}

The hugetlb cgroup control files (introduced here in 2012:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=abb8206cb0773)
use "KB" and not "kB"
(https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/mm/hugetlb_cgroup.c?h=v5.0#n349).

The behavior in the kernel has not changed since the introduction, and
the current code using "kB" will therefore fail on devices with huge
pages smaller than 1MiB. This is the case for AArch64.

As seen from the code in "mem_fmt" inside hugetlb_cgroup.c, only "KB",
"MB" and "GB" are used, so the others may be removed as well.

Here is a real world example of the files inside the
"/sys/kernel/mm/hugepages/" directory:
- "hugepages-64kB"
- "hugepages-2048kB"
- "hugepages-32768kB"
- "hugepages-1048576kB"

And the corresponding cgroup files:
- "hugetlb.64KB._____"
- "hugetlb.2MB._____"
- "hugetlb.32MB._____"
- "hugetlb.1GB._____"

Signed-off-by: Odin Ugedal <odin@ugedal.com>
2019-06-28 21:28:26 +02:00
Odin Ugedal
2bcdb944f0
Update dependency opencontainer/runc 2019-06-28 21:23:05 +02:00
wojtekt
fd819f8fdc Move APIObjectVersioner 2019-06-28 21:16:49 +02:00
draveness
30b0f8bf3b fix: predicates read nodes from scheduler cache 2019-06-29 02:34:08 +08:00
Odin Ugedal
9c2aa843bd Remove unnecessary variable declaration 2019-06-28 18:03:23 +02:00
Kubernetes Prow Robot
dfb7748542
Merge pull request #78347 from obitech/fix_golint_pkg_kubelet_prober
Fix golint issues in pkg/kubelet/{prober,secret}
2019-06-27 17:43:21 -07:00
Kubernetes Prow Robot
f3a03f71af
Merge pull request #79473 from wojtek-t/coordination_v1
Use coordination v1 API
2019-06-27 15:30:14 -07:00
Kubernetes Prow Robot
b51f62186a
Merge pull request #79451 from yujuhong/fix-pod-restarts
kubelet: retry pod sandbox creation when containers were never created
2019-06-27 15:30:01 -07:00
wojtekt
e8ca50c43c Use coordination v1 API 2019-06-27 18:08:40 +02:00
Kubernetes Prow Robot
f20876908f
Merge pull request #79341 from krzysied/kubelet_lease_fix
Handling OptimisticLockError in kubelet node lease controller
2019-06-27 05:53:24 -07:00
Krzysztof Siedlecki
d45197a8b0 handling OptimisticLockError in kubelet 2019-06-27 13:44:09 +02:00
Yu-Ju Hong
3fac48f86a kubelet: retry pod sandbox creation when containers were never created
If kubelet never gets past sandbox creation (i.e., never attempted to
create containers for a pod), it should retry the sandbox creation on
failure, regardless of the restart policy of the pod.
2019-06-26 18:19:27 -07:00
Dr. Stefan Schimanski
e848eaa566 apiserver: store httplog in context 2019-06-26 18:33:19 +02:00
Kubernetes Prow Robot
c64f81d082
Merge pull request #78653 from sjenning/add-sjenning-owners
kubelet: add sjenning to kubelet subdirectory owners files
2019-06-25 14:47:15 -07:00
nolancon
2d7ac702d6 Add Policy None for Topology Manager
Update naming of test functions.
2019-06-25 03:24:31 +01:00
Kubernetes Prow Robot
231033bd15
Merge pull request #79148 from RobertKrawitz/mirror-pod-delete-loop-fix
Issue 79147: Do not delete an incorrect pod when replacing a mirror pod
2019-06-24 11:24:02 -07:00
Kubernetes Prow Robot
2a366773e9
Merge pull request #76281 from zgfh/patch-5
fix typo: "inidvidual"-> "individual"
2019-06-24 11:23:50 -07:00
Kubernetes Prow Robot
2109c1a7a3
Merge pull request #79310 from draveness/feature/cleanup-KubeletPluginsWatcher-feature-gates
feat: cleanup feature gates for KubeletPluginsWatcher
2019-06-23 23:04:09 -07:00
Kubernetes Prow Robot
8ce45b642e
Merge pull request #79262 from draveness/feature/graduate-pod-priority-to-ga
feat: cleanup PodPriority features gate
2019-06-23 02:45:54 -07:00
draveness
35bc5dc6b6 feat: cleanup feature gates for KubeletPluginsWatcher 2019-06-23 16:59:36 +08:00
draveness
ca6003bc75 feat: cleanup PodPriority features gate 2019-06-23 11:57:24 +08:00
Kubernetes Prow Robot
caf6b67ce2
Merge pull request #79073 from rafatio/cgroup-pid-not-required
Ignore cgroup pid support if related feature gates are disabled
2019-06-21 18:52:50 -07:00
Kubernetes Prow Robot
5c61d51a32
Merge pull request #79104 from avorima/refactor_vol_resize_unit_tests
Refactor online volume resize unit tests
2019-06-21 12:16:52 -07:00
Robert Krawitz
12713b3ee4 Do not delete an incorrect pod when replacing a mirror pod 2019-06-20 23:02:16 -04:00
obitech
cbdfccc9f8 Fix golint issues in pkg/kubelet/secret 2019-06-20 19:56:29 +02:00
obitech
b767b1b250 Fix golint issues in pkg/kubelet/prober/results 2019-06-20 19:55:15 +02:00
obitech
897e8c0de6 Fix golint issues in pkg/kubelet/prober 2019-06-20 19:55:14 +02:00
Kubernetes Prow Robot
40a2927bcc
Merge pull request #78031 from mattjmcnaughton/mattjmcnaughton/cleanup-probe-http
Code cleanup for for probe/http
2019-06-19 18:36:48 -07:00
Kubernetes Prow Robot
9988239125
Merge pull request #79011 from cwdsuzhou/June/remove_useless_returned_value
Remove returned value of func handleCreateEvent
2019-06-18 06:04:20 -07:00
Mario Valderrama
a44b754405 Refactor online volume resize unit tests 2019-06-17 18:24:22 +02:00
Kubernetes Prow Robot
2dc0c01068
Merge pull request #78222 from humblec/volume_stats
Fix nil pointer dereference in metrics value calculator.
2019-06-17 04:36:11 -07:00
Kubernetes Prow Robot
08b4d4b371
Merge pull request #78335 from mysunshine92/remove-unused-events
remove unused events in event.go
2019-06-15 22:54:09 -07:00
rafatio
08c258add9 Ignore cgroup pid support if related feature gates are disabled 2019-06-15 18:45:27 -03:00
mattjmcnaughton
46267759bc
Code cleanup for for probe/http
Two small code cleanup changes for `probe/http`.

- Tests name the `followNonLocalRedirects` variable before passing to
`New`, so its clear what the boolean flag in the construct impacts.
- Change import name from `httprobe` to `httpprobe` when used by
`pkg/kubelet/prober/prober.go`. Establishes consistency with other uses
in the repo.
2019-06-15 12:09:00 -04:00
Kubernetes Prow Robot
6602f61596
Merge pull request #79002 from jiayingz/add-cadvisor-metrics
Enable cadvisor ProcessMetrics collecting.
2019-06-15 08:53:04 -07:00
Kubernetes Prow Robot
480457994d
Merge pull request #78015 from SataQiu/fix-golint-kubelet-20190517
Fix golint failures of pkg/kubelet/configmap pkg/kubelet/custommetrics
2019-06-15 00:46:09 -07:00
Kubernetes Prow Robot
ec02afb46e
Merge pull request #78777 from tedyu/preempt-bench
Use no-priority best-effort pod as the preemptor in BenchmarkGetPodsToPreempt
2019-06-14 16:51:00 -07:00
Kubernetes Prow Robot
145232c1a0
Merge pull request #78673 from tedyu/threshold-min-reclaim
Remove inner loop for finding MinReclaim in ParseThresholdConfig
2019-06-14 13:27:02 -07:00
Kubernetes Prow Robot
51164f11ae
Merge pull request #78603 from Random-Liu/fix-image-status
Fix image status
2019-06-14 13:26:22 -07:00
Travis Rhoden
be7da5052f Refactor pkg/util/mount to be more reusable
This patch refactors pkg/util/mount to be more usable outside of
Kubernetes. This is done by refactoring mount.Interface to only contain
methods that are not K8s specific. Methods that are not relevant to
basic mount activities but still have OS-specific implementations are
now found in a mount.HostUtils interface.
2019-06-14 09:35:18 -06:00
Kubernetes Prow Robot
11abb58a5b
Merge pull request #78626 from tedyu/img-cache-mutex
Use Mutex for synchronization in imageCache
2019-06-14 07:59:18 -07:00
Kubernetes Prow Robot
3fc21aff76
Merge pull request #78624 from tedyu/evict-mgr-threshold
Iterate through thresholds in managerImpl#synchronize
2019-06-14 07:59:05 -07:00
Kubernetes Prow Robot
a08084d475
Merge pull request #78571 from SataQiu/fix-golint-kubelet-20190531
Fix golint failures of pkg/kubelet/prober pkg/kubelet/secret
2019-06-14 05:32:51 -07:00
Kubernetes Prow Robot
2bfcdc6601
Merge pull request #78559 from mysunshine92/fix-typo-retrieve
fix typo in /pkg/kubelet/container/cache.go
2019-06-14 05:32:38 -07:00
Kubernetes Prow Robot
b2be0753dd
Merge pull request #78493 from tedyu/ignore-pod-kill-err
Continue admitting the pod regardless of return value from killPodFunc
2019-06-14 04:09:00 -07:00
Kubernetes Prow Robot
d30fbab4b8
Merge pull request #77915 from SataQiu/fix-golint-util-20190515
Fix golint failures of pkg/util/parsers pkg/util/sysctl pkg/util/system
2019-06-14 00:29:00 -07:00
caiweidong
017aad3b60 Remove returned value of func handleCreateEvent 2019-06-14 15:27:59 +08:00
Jiaying Zhang
edcfdc4cbf Enable cadvisor ProcessMetrics collecting. 2019-06-13 16:21:24 -07:00
mattjmcnaughton
5539e61032
Fix reserved cgroup systemd
Fix an issue in which, when trying to specify the `--kube-reserved-cgroup`
(or `--system-reserved-cgroup`) with `--cgroup-driver=systemd`, we will
not properly convert the `systemd` cgroup name into the internal cgroup
name that k8s expects. Without this change, specifying
`--kube-reserved-cgroup=/test.slice --cgroup-driver=systemd` will fail,
and only `--kube-reserved-cgroup=/test --crgroup-driver=systemd` will succeed,
even if the actual cgroup existing on the host is `/test.slice`.

Additionally, add light unit testing of our process from converting to a
systemd cgroup name to kubernetes internal cgroup name.
2019-06-07 10:48:42 -04:00
Ted Yu
22556aed17 Use no-priority best-effort pod as the preemptor in BenchmarkGetPodsToPreempt 2019-06-06 14:51:53 -07:00
goodluckbot
8a7aaad6bd Fix log level for runtime error in kubelet.go 2019-06-05 16:41:08 +08:00
David Ashpole
80ed28b15b disable kubelet local endpoints on windows 2019-06-04 14:07:10 -07:00
Lantao Liu
e27b263f37 Support image status by ID. 2019-06-04 11:34:38 -07:00
Ted Yu
f7d9e037d9 Remove inner loop for finding MinReclaim in ParseThresholdConfig 2019-06-03 19:20:19 -07:00
Kubernetes Prow Robot
e0ae55059d
Merge pull request #78592 from tedyu/plugin-mgr
Use read lock for reconciler#getHandlers and clean up for the pluginmanager
2019-06-03 18:17:14 -07:00
Ted Yu
19c91a59ab Iterate through thresholds in managerImpl#synchronize 2019-06-03 13:16:09 -07:00
qingsenLi
94e4f27725 Delete the redundant define test 2019-06-04 01:13:09 +08:00
Hemant Kumar
0f62e3fbe8 Make language of error msgs and func names consistent: ExpandVolumeInUse
change feature flag
Fix the e2e test for online and offline expansion
2019-06-03 12:26:56 -04:00
Seth Jennings
89dc2c65e4 kubelet: add sjenning to kubelet subdirectory owners files 2019-06-03 08:26:24 -05:00
Kubernetes Prow Robot
acb321e614
Merge pull request #78594 from benmoss/windows-kubelet-memory-leak
Fix memory leak from not closing hcs containers
2019-06-03 04:40:20 -07:00
Ben Moss
1fcad1b4ab Fix memory leak from not closing hcs container handles 2019-06-02 10:52:07 -04:00
Ted Yu
f6edee0fe1 Use Mutex for synchronization in imageCache 2019-06-01 15:48:55 -07:00
Alexander Kanevskiy
89481f8c27 Use go standard library for common bit operations
PR#72913 introduced own versions of the bit operations that are
less efficient than ones from standard library.
2019-06-01 19:54:38 +03:00
Kubernetes Prow Robot
9ac58bae56
Merge pull request #78515 from klueska/upstream-socketmask-updates
Updates to the SocketMask abstraction for the TopologyManager
2019-06-01 09:50:16 -07:00
Kubernetes Prow Robot
46c74629cf
Merge pull request #78516 from klueska/upstream-topology-manager-interface-updates
Update the TopologyManager interfaces
2019-06-01 08:00:19 -07:00
Kubernetes Prow Robot
6b6bdc760a
Merge pull request #78504 from dashpole/deprecate_cadvisor_json
Add kubelet flag to disable cadvisor json apis, and mark it deprecrated
2019-06-01 04:44:55 -07:00
Kubernetes Prow Robot
162912e12a
Merge pull request #78496 from dashpole/dashpole_owners
Add dashpole to kubelet subdirectory owners files
2019-06-01 02:55:07 -07:00
Kubernetes Prow Robot
408735e9da
Merge pull request #77975 from logicalhan/process-metrics
add process start time metric to metric probes since they use counters
2019-05-31 20:45:01 -07:00
Kubernetes Prow Robot
89ae84d478
Merge pull request #75479 from pivotal-k8s/windows-portforward
Implement port forwarding for windows
2019-05-31 19:22:20 -07:00
Kubernetes Prow Robot
fc005789c1
Merge pull request #77274 from RenaudWasTaken/kubeletpodresources-beta
Graduate 3rd party device monitoring plugins to beta!
2019-05-31 10:58:26 -07:00
Ted Yu
ff83754a6b Use read lock for reconciler#getHandlers 2019-05-31 10:39:14 -07:00
Kubernetes Prow Robot
fe37733a12
Merge pull request #73891 from taragu/plugin-manager
Add kubelet plugin manager
2019-05-31 07:12:29 -07:00
Ben Moss
202841dfe3 Implement port forwarding for windows
On Windows the only way to access the container's network interfaces is
by running another process in the pod from which we can use a
netcat-like program to proxy the TCP stream

Proposed wincat.exe can be found here: https://github.com/benmoss/wincat
2019-05-31 09:20:27 -04:00
yameiwang
abda563ce2 fix typo in /pkg/kubelet/container 2019-05-31 18:50:39 +08:00
SataQiu
c6a0f820d8 fix golint failures of pkg/kubelet/prober pkg/kubelet/secret 2019-05-31 17:08:53 +08:00
Kubernetes Prow Robot
f49fe2a750
Merge pull request #72787 from dashpole/cadvisor_prefix_whitelist
Only collect metrics for cgroups required by the summary API
2019-05-31 00:28:26 -07:00
Kubernetes Prow Robot
cf76868b34
Merge pull request #66928 from RobertKrawitz/ephemeral-storage-quota-exp
Ephemeral storage monitoring via filesystem quotas
2019-05-30 20:44:26 -07:00
Ted Yu
1a755d13a6 Remove unnecessary string() 2019-05-30 19:48:26 -07:00
Tara Gu
5e18554442 Implement plugin manager - a controller that manages plugin registration/unregistration 2019-05-30 19:00:59 -04:00
Ted Yu
4979686a81 Check limits for resolve conf outside the loop 2019-05-30 13:51:36 -07:00
Renaud Gaubert
a03d2d4d4e Fix improper cleanup when creating a unix socket 2019-05-30 13:21:37 -07:00
Ted Yu
132556e13a Continue admitting the pod regardless of return value from killPodFunc 2019-05-30 11:36:34 -07:00
David Ashpole
785d40923a add kubelet flag to disable cadvisor json apis, and mark it deprecrated 2019-05-30 10:39:45 -07:00
yameiwang
91b5af0608 remove unused events in event.go 2019-05-30 22:01:19 +08:00
Kevin Klues
0a43d21c26 Add IsNarrowerThan() function to socketmask abstraction 2019-05-30 06:00:22 -07:00
Kevin Klues
617a1fa394 Update the TopologyManager interfaces
These updates are based on discussions had about the preferred semantics
of the TopologyManager and will be reflected in changes to an upcoming
PR that adds the actual TopologyManager implementation.
2019-05-30 05:52:11 -07:00
Kevin Klues
cdb59d3c7a Fix incorrect names for tests in socketmask 2019-05-30 04:16:53 -07:00
nolancon
0244c0e658 remove dependency on implementation from policy preferred and strict
update build
2019-05-30 05:57:39 +01:00
nolancon
ef9baf313d Update unit tests for TopologyHints - Topology Manager Policies 2019-05-30 05:44:01 +01:00
nolancon
e82fa41fb2 More Intuitive TopologyHints - topology manager policies 2019-05-30 05:44:01 +01:00
Sreemanti Ghosh
4e503597b8 Unit test for Topology Manager policy_strict and policy_preferred 2019-05-30 05:44:01 +01:00
nolancon
eff568e496 Add Policies Strict and Preferred for Topology Manager 2019-05-30 05:44:01 +01:00
Kubernetes Prow Robot
68f728a89e
Merge pull request #78375 from mysunshine92/remove-unused-events-2
delete unused events
2019-05-29 21:29:08 -07:00
Ted Yu
c46ec66a1f Avoid unnecessary concatenation of errors 2019-05-29 17:25:53 -07:00
David Ashpole
a95cf017e1 add dashpole to kubelet owners files 2019-05-29 13:33:48 -07:00
Robert Krawitz
38753efcc7 Set sizeLimit to the smaller of the ephemeral storage limit and the emptydir limit (if set) 2019-05-29 15:17:47 -04:00
Robert Krawitz
f8661d6240 Use xfs_quota command to apply quotas 2019-05-29 15:12:28 -04:00
Robert Krawitz
448e0c44c6 Apply quotas via syscalls using cgo. 2019-05-29 15:12:28 -04:00
Robert Krawitz
5b97b2860d Change fsGroup to mounterArgs in volume.SetUp() to allow for future extension. 2019-05-29 15:12:28 -04:00
Kubernetes Prow Robot
38468e4338
Merge pull request #70536 from mysunshine92/golint-hostpath
fix golint for pkg/volume/host_path
2019-05-29 11:25:46 -07:00
Kubernetes Prow Robot
9ca472da03
Merge pull request #72885 from lmdaly/topology-manager-interfaces
Add Topology Manager Interfaces
2019-05-29 09:44:25 -07:00
Kubernetes Prow Robot
f0812288a9
Merge pull request #78303 from mysunshine92/fix-typo-0524
fix some spelling error
2019-05-29 05:33:42 -07:00
lmdaly
c1a4457573 Update Bazel files to include SocketMask 2019-05-29 02:21:51 +01:00
Conor Nolan
d99bac12e6 Update Remove/AddPod to Container (#26)
More intuitive TopologyHints
2019-05-29 02:11:15 +01:00
lmdaly
e64c558a11 Added BUILD files and updates to Boilerplates 2019-05-29 02:11:15 +01:00
lmdaly
71bbc6d538 Add Topology Manager Interfaces
*Topology Manager
*Policy
2019-05-29 02:10:46 +01:00
yameiwang
af24f2a507 delete unused events 2019-05-29 06:52:11 +08:00
Kubernetes Prow Robot
3b4473f45a
Merge pull request #72913 from nolancon/topology-manager-socket-mask
Add Socket Mask for Topology Manager
2019-05-28 10:58:41 -07:00
Ted Yu
3f043dd8a0 Sort init container statuses using non-nested loop 2019-05-28 07:51:30 -07:00
nolancon
b7f6b8f8f1 Updated unit test for socketmask 2019-05-28 05:00:04 +01:00
obitech
5efe2c1bb7 Fix golint issues in pkg/kubelet/stats/log_metrics_provider.go 2019-05-27 22:03:21 +02:00
obitech
16d64d6925 Fix golint issues in pkg/kubelet/client
Add comments to exported functions in `pkg/kubelet/client/client.go`

In `KubeletClientConfig` rename `EnableHttps` to `EnableHTTPS`. This requires
renaming it in `pkg/kubelet/client/client_test.go`
2019-05-27 22:03:21 +02:00
Humble Chirammal
cada0270fe Fix nil pointer dereference in metrics value calculator.
The metrics structure passed to volume stat calculator
can contain real stats on subset of metrics fields. For example,
the metrics structure filled by a CSI driver can have
either INODES or BYTES filled, IOW it a valid return.
In such cases the volume stat calculator panic with below
trace:

0516 21:36:19.013143   14452 runtime.go:69] Observed a panic: "invalid memory address or nil pointer dereference" (runtime error: invalid memory address or nil pointer dereference)
/home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:76
/home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:65
/home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:51
/usr/local/go/src/runtime/panic.go:522
/usr/local/go/src/runtime/panic.go:82
/usr/local/go/src/runtime/signal_unix.go:390
/home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/api/resource/quantity.go:697
/home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/api/resource/quantity.go:685
/home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/kubelet/server/stats/volume_stat_calculator.go:144
/home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/kubelet/server/stats/volume_stat_calculator.go:125
/home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/kubelet/server/stats/volume_stat_calculator.go:65
/home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:152
/home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:153
/usr/local/go/src/runtime/asm_amd64.s:1337

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-05-27 16:36:39 +05:30
nolancon
283dff9335 Update SocketMask based on feedback
TODO: Unit tests to be updated
2019-05-27 07:19:03 +01:00
Ted Yu
58dfe186d8 Call getKubeletSandboxes first in containerGC#evictSandboxes 2019-05-26 14:40:11 -07:00
Kubernetes Prow Robot
eaece39c86
Merge pull request #78323 from tallclair/docker
Add a special-cased runtime handler for dockershim
2019-05-25 09:01:50 -07:00
yameiwang
23b7d5e606 fix some spelling error 2019-05-25 06:51:31 +08:00
Tim Allclair
19a588eeda Add a special-cased runtime handler for dockershim 2019-05-24 15:30:34 -07:00
Mikhail Mazurskiy
4ce1fb7d40
Cleanup math/rand package usage 2019-05-24 09:25:04 +10:00
Tim Allclair
91e593546c Revert "Use consistent imageRef during container startup"
This reverts commit 26e3c8674e.
2019-05-23 11:36:32 -07:00
Kubernetes Prow Robot
585fa3acc8
Merge pull request #78073 from mattjmcnaughton/mattjmcnaughton/fix-housekeeping-typos
Standardize housekeeping capitalization
2019-05-22 18:44:37 -07:00
Kubernetes Prow Robot
4f33b5f421
Merge pull request #77820 from dims/charrywanganthony-pr-71835-delete-kubelet-security-controls
Remove deprecated Kubelet security controls
2019-05-22 13:52:25 -07:00
Kubernetes Prow Robot
43b4d218b0
Merge pull request #75053 from RobertKrawitz/pid-limit-comment-typo
Fix typo in comments on SystemReserved and KubeReserved
2019-05-21 18:44:07 -07:00
Kubernetes Prow Robot
3517197bcb
Merge pull request #77699 from chardch/reset-extended
Reset extended resources only when node is recreated.
2019-05-21 17:02:08 -07:00
Kubernetes Prow Robot
b7b8addd62
Merge pull request #77068 from monstercy/nodeStatusReportFrequency
fix comment about nodeStatusReportFrequency in kubelet.go
2019-05-21 14:30:10 -07:00
Richard Chen
c9f1b57b5b Reset extended resources only when node is recreated. 2019-05-21 14:16:54 -07:00
Kubernetes Prow Robot
ae2a1628f6
Merge pull request #75459 from wk8/wk8/gmsa_beta
Kubelet & API changes for Windows GMSA support
2019-05-21 11:40:08 -07:00
Rong Gao
2d5020e3b6 enrich oom event message info 2019-05-21 21:24:59 +08:00
Kubernetes Prow Robot
e476a60ccb
Merge pull request #73241 from vikaschoudhary16/selinux-label
Add correct selinux label at plugin socket directory
2019-05-20 11:07:17 -07:00
SataQiu
80bee6d965 fix golint failures of pkg/kubelet/configmap pkg/kubelet/custommetrics 2019-05-20 09:56:19 +08:00
mattjmcnaughton
c68690c640
Standardize housekeeping capitalization
Previously, the code base had both `housekeeping` and `houseKeeping`,
which made case sensitive search in vim difficult. Standardize on
`housekeeping`, which was by far the most popular.
2019-05-18 11:30:47 -04:00
vikaschoudhary16
58d1b4d564 Add correct selinux label at plugin socket directory 2019-05-18 12:35:17 +05:30
Andrew Sy Kim
0d8861114d kubelet: lookup node address for external provider if none is set
Signed-off-by: Andrew Sy Kim <kiman@vmware.com>
2019-05-17 11:06:38 -04:00
Kubernetes Prow Robot
a6b546eb72
Merge pull request #77936 from liggitt/shorten-cert-wait
Interrupt WaitForCertificate if desired kubelet serving cert changes
2019-05-17 00:26:19 -07:00
Kubernetes Prow Robot
3c02a38fdc
Merge pull request #77609 from tedyu/union-all-test
Add test for CPUSet#UnionAll
2019-05-16 20:39:26 -07:00
Jean Rouge
b39d8f4777 Kubelet & implementation changes for Windows GMSA support
This patch comprises the kubelet changes outlined in the Windows GMSA KEP
(https://github.com/kubernetes/enhancements/blob/master/keps/sig-windows/20181221-windows-group-managed-service-accounts-for-container-identity.md)
to add GMSA support to Windows workloads.

Updated tests.

Signed-off-by: Jean Rouge <rougej+github@gmail.com>
2019-05-16 22:07:03 -04:00
Kubernetes Prow Robot
b276043051
Merge pull request #77421 from tedyu/cpu-free-no-sort
Obtain unsorted slice in cpuAccumulator#freeCores
2019-05-16 16:26:53 -07:00
Jean Rouge
181706b0f0 Auto-generated changes for Windows GMSA support
This patch comprises the auto-generated changes for the API changes outlined in
the Windows GMSA KEP
(https://github.com/kubernetes/enhancements/blob/master/keps/sig-windows/20181221-windows-group-managed-service-accounts-for-container-identity.md)
to add GMSA support to Windows workloads.

Signed-off-by: Jean Rouge <rougej+github@gmail.com>
2019-05-16 15:34:22 -07:00
Jordan Liggitt
739a75fc32 Interrupt WaitForCertificate if desired kubelet serving cert changes 2019-05-16 15:14:47 -04:00
Ted Yu
52f797188f Add test for CPUSet#UnionAll
Signed-off-by: Ted Yu <yute@vmware.com>
2019-05-16 12:13:33 -07:00
chaowang
9ba0d47465
Remove deprecated Kubelet security controls
Change-Id: I9f770e6780b60e881092690f6f177d726f474fe3
2019-05-16 13:33:52 -04:00
Han Kang
2d48b3e81e add process start time metric to metric probes since they use counters 2019-05-16 08:19:29 -07:00
Kubernetes Prow Robot
066549b4b5
Merge pull request #77892 from mikedanese/pluginwatcher
simplify pluginwatcher close by removing waitgroup
2019-05-16 06:06:26 -07:00
Kubernetes Prow Robot
ce3ce9a57a
Merge pull request #77023 from obitech/fix_golint_issues_in_kubelet_packages_oom
Fix golint issues in pkg/kubelet/oom
2019-05-15 22:56:21 -07:00
Kubernetes Prow Robot
37281a400d
Merge pull request #76442 from viegasdom/fix-golint-utils-bandwith
Fix golint failures of util/bandwith/*.go
2019-05-15 22:56:08 -07:00
Kubernetes Prow Robot
c50ff35a55
Merge pull request #77839 from mcrute/migrate-fake-cp
Staging legacy fake cloud provider
2019-05-15 12:32:23 -07:00
SataQiu
b36d8d431f fix golint failures of pkg/util/parsers pkg/util/sysctl pkg/util/system 2019-05-15 23:19:47 +08:00
Kubernetes Prow Robot
adf6fa6987
Merge pull request #77888 from tallclair/standalone
Don't create a RuntimeClassManager without a KubeClient
2019-05-15 00:04:48 -07:00
Kubernetes Prow Robot
116f06e96e
Merge pull request #77661 from mfpierre/fix-static-pods-kubelet-status
Kubelet status manager sync the status of local Pods
2019-05-14 20:36:28 -07:00
Mike Danese
531a50c776 simplify pluginwatcher closing 2019-05-14 18:55:13 -07:00
Kubernetes Prow Robot
032b4d39c6
Merge pull request #77304 from cwdsuzhou/fix_leak_when_stop_error
Bugfix: fix chan leak when stop error
2019-05-14 18:24:55 -07:00
Tim Allclair
41ccf4c77e Don't create a RuntimeClassManager without a KubeClient 2019-05-14 16:41:50 -07:00
Mike Crute
7d62316f8f Migrate fake cloud provider to staging 2019-05-14 13:32:18 -07:00
Kubernetes Prow Robot
2525ab8572
Merge pull request #77759 from haiyanmeng/host
Remove the `host` label from the kubelet http traffic metrics
2019-05-13 13:15:36 -07:00
Kubernetes Prow Robot
0252a32342
Merge pull request #77788 from mysunshine92/wym-0510
fix typos
2019-05-13 11:52:31 -07:00
nolancon
e8566caa3f Update to unit test and comment bug fixed 2019-05-13 06:41:44 +01:00
yameiwang
503ac59abe fix typo in kuberuntime_manager.go 2019-05-13 08:35:01 +08:00
Kubernetes Prow Robot
ace60e8acb
Merge pull request #77684 from tedyu/pre-empt
Correct CriticalPodAdmissionHandler in godoc
2019-05-12 02:24:09 -07:00
Haiyan Meng
4751f40319
Remove the host label from the kubelet http traffic metrics
Signed-off-by: Haiyan Meng <haiyanmeng@google.com>
2019-05-10 13:46:35 -07:00
David Ashpole
f8dff6bd5b only collect metrics for cgroups required by the summary API 2019-05-10 12:12:41 -07:00
Kubernetes Prow Robot
ef9e794a36
Merge pull request #77656 from yastij/check-cstat-mem
check if Memory is not nil for container stats
2019-05-09 17:52:23 -07:00
Kubernetes Prow Robot
b7dc0124a0
Merge pull request #77379 from tedyu/http-stat-map
Use map to check whether stack trace is needed
2019-05-09 14:13:34 -07:00
Ted Yu
0a9bf0d05e Correct CriticalPodAdmissionHandler in godoc 2019-05-09 10:51:46 -07:00
JulienBalestra
27cccad822 Kubelet provides an updated and complete status of local-static Pods 2019-05-09 14:56:31 +02:00
Yassine TIJANI
f6087365e9 check if Memory is not nil for container stats 2019-05-09 14:53:38 +02:00
Kubernetes Prow Robot
60a4c3c003
Merge pull request #76603 from changyaowei/generic_ut_fix
fix  TestEventChannelFull random fail
2019-05-08 17:14:47 -07:00
Ted Yu
85fc089855 Use map to check whether stack trace is needed
Signed-off-by: Ted Yu <yute@vmware.com>
2019-05-08 14:31:50 -07:00
Kubernetes Prow Robot
09c4e10333
Merge pull request #74021 from andrewsykim/move-features-component-base
Move feature gate package from k8s.io/apiserver to k8s.io/component-base
2019-05-08 13:06:34 -07:00
Daniel (Shijun) Qian
5268f69405 fix duplicated imports of k8s code (#77484)
* fix duplicated imports of api/core/v1

* fix duplicated imports of client-go/kubernetes

* fix duplicated imports of rest code

* change import name to more reasonable
2019-05-08 10:12:47 -07:00
Andrew Kim
c919139245 update import of generic featuregate code from k8s.io/apiserver/pkg/util/feature -> k8s.io/component-base/featuregate 2019-05-08 10:01:50 -04:00
nolancon
7c525ffaa8 More intuitive TopologyHints - socketmask.go 2019-05-08 04:22:39 +01:00
Kubernetes Prow Robot
946087b422
Merge pull request #77426 from Random-Liu/remove-terminated-pod
Remove terminated pod from summary api.
2019-05-07 15:55:23 -07:00
Kubernetes Prow Robot
caad1635ce
Merge pull request #77409 from gnufied/add-volume-manager-approvers
Add jan and msau42 as approver for volumemanager
2019-05-07 15:54:59 -07:00
Kubernetes Prow Robot
b4211dea98
Merge pull request #77422 from tedyu/policy-set-union
Union all CPUSets in one round
2019-05-06 14:02:05 -07:00
caiweidong
a01f0b4e5e Bugfix: fix channel leak when stop error 2019-05-05 23:06:13 +08:00
Lantao Liu
11cd4242f6 Remove terminated pod from summary api.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-05-03 18:34:54 -07:00
Ted Yu
e967c37068 Union all CPUSets in one round 2019-05-03 14:40:33 -07:00
Ted Yu
f83bac61a4 Obtain unsorted slice in cpuAccumulator#freeCores 2019-05-03 14:07:47 -07:00
Hemant Kumar
15e2421f90 Add jan and msau42 as approver for volumemanager 2019-05-03 13:34:50 -04:00
Kubernetes Prow Robot
6a8a368291
Merge pull request #77287 from tedyu/kube-long-running
Use map to check for long-running request
2019-05-02 16:23:09 -07:00
Ted Yu
89c8a91c0f Check error return from Update
Signed-off-by: Ted Yu <yute@vmware.com>
2019-05-02 09:56:40 -07:00
Kubernetes Prow Robot
98c4c1e2d8
Merge pull request #77291 from tedyu/cpu-pod-stat
Query pod status outside loop over containers
2019-05-01 23:28:56 -07:00
Kubernetes Prow Robot
a5a70b4de3
Merge pull request #74859 from ahadas/static_policy
kubelet/cm: code optimization for the static policy
2019-05-01 23:28:19 -07:00
Kubernetes Prow Robot
7d14d53999
Merge pull request #77162 from klueska/upstream-cpu-manager-find-init-containers
Add ability to find init Container IDs in cpumanager reconcileState()
2019-05-01 18:42:30 -07:00
Ted Yu
3fc16a7e82 Log pod name when pod status cannot be queried 2019-05-01 15:01:56 -07:00
Kubernetes Prow Robot
d457a5d214
Merge pull request #77157 from tedyu/kubelet-node-addr-read
Utilize read lock for getLastObservedNodeAddresses
2019-05-01 14:32:42 -07:00
Kubernetes Prow Robot
b219272a76
Merge pull request #77165 from mattjmcnaughton/mattjmcnaughton/77138-increase-max-msg-size-dockershim
Increase maxMsgSize for dockershim
2019-04-30 20:50:56 -07:00
Ted Yu
66ce52578a Query pod status outside loop over containers 2019-04-30 19:35:32 -07:00
Ted Yu
fe6e50df3d Use map to check for long-running request
Signed-off-by: Ted Yu <yute@vmware.com>
2019-04-30 19:32:35 -07:00
Jan Safranek
96c41f8a1e Fix message of failed sync
From:
MountVolume.SetUp failed for volume "secret-prometheus-k8s-proxy" :
couldn't propagate object cache: timed out waiting for the condition

To:
MountVolume.SetUp failed for volume "secret-prometheus-k8s-proxy" : failed
to sync secret cache: timed out waiting for the condition
2019-04-30 13:05:07 +02:00
Kubernetes Prow Robot
16085784bc
Merge pull request #75110 from bertinatto/fix_race_watcher
Send events before adding watchers in traversePluginDir
2019-04-29 17:19:38 -07:00
mattjmcnaughton
0547167ad0
Increase maxMsgSize for dockershim
Increase the grpc max message size to be the same as the value defined
in `pkg/kubelet/remote/utils.go`.

Increase the limit because, `ListPodSandbox` (and possibly other) calls
are hitting the limit. Long term, the best solution to this issue is to
use pagination, but that is not currently available.
2019-04-27 13:26:31 -04:00
Kevin Klues
ef27f5f1a5 Add ability to find init Container IDs in cpumanager reconcileState()
The cpumanager loops through all init Containers and app Containers when
reconciling its state. However, the current implementation of
findContainerIDByName(), which is call by the reconciler, does not
resolve for init Containers.

This patch updates findContainerIDByName() to account for init
Containers and adds a regression test that fails before the change and
succeeds after.
2019-04-27 06:18:55 -07:00
obitech
9e35d3d709 Fix golint issues in pkg/kubelet/oom 2019-04-27 10:00:07 +02:00
Ted Yu
1be83c9d4d Utilize read lock for getLastObservedNodeAddresses 2019-04-26 20:05:49 -07:00
changyaowei
850f4bbd36 modify random failure 2019-04-27 08:04:58 +08:00
Kubernetes Prow Robot
5b43333291
Merge pull request #76884 from SataQiu/fix-golint-pkg/kubelet/pod
Fix golint failures of pkg/kubelet/pod
2019-04-25 13:37:06 -07:00
Kubernetes Prow Robot
f4937619a2
Merge pull request #75442 from mars1024/bugfix/bandwidth_unit
change bandwidth units from Kb to b
2019-04-25 13:36:54 -07:00
Kubernetes Prow Robot
3bbd0e92e8
Merge pull request #75228 from haiyanmeng/kubelet
Add metrics to monitor the kubelet http server
2019-04-25 13:36:31 -07:00
Kubernetes Prow Robot
40a7a2370b
Merge pull request #76940 from cwdsuzhou/use_locked_func
fix: use locked func to replace the raw one to avoid concurrent read
2019-04-25 12:04:08 -07:00
Yu Cao
e8b60b1d8d fix comment about nodeStatusReportFrequency in kubelet.go 2019-04-25 19:49:48 +08:00
SataQiu
1581055c3a fix golint failures of pkg/kubelet/pod 2019-04-25 11:54:14 +08:00
SataQiu
bf37c8a217 fix golint failures of pkg/kubelet/checkpointmanager/checksum 2019-04-25 09:56:43 +08:00
yameiwang
f130e48deb fix golint errors in pkg/volume/host_path 2019-04-25 06:46:47 +08:00
Kubernetes Prow Robot
5c4a59f9af
Merge pull request #76690 from SataQiu/fix-golint-kubelet-20190417
Fix some golint failures of pkg/kubelet
2019-04-24 12:24:51 -07:00
Kubernetes Prow Robot
8ec6167f61
Merge pull request #74942 from WanLinghao/event_replace
Migrate oom watcher not relying on cAdviosr's API any more
2019-04-24 05:50:05 -07:00
Kubernetes Prow Robot
5a790bce3b
Merge pull request #76763 from SataQiu/ifx-golint-kubelet-20190419
Fix golint failures of pkg/kubelet/apis
2019-04-24 01:24:14 -07:00
Kubernetes Prow Robot
ea38af74a9
Merge pull request #76925 from SataQiu/fix-golint-kubelet-2019042302
Fix golint failures of pkg/kubelet/dockershim/cm
2019-04-23 23:50:50 -07:00
Kubernetes Prow Robot
970e5929fe
Merge pull request #76806 from SataQiu/fix-kubelet-golint-20190419
Fix golint failures of pkg/kubelet/checkpoint
2019-04-23 22:10:11 -07:00
SataQiu
828125c725 fix golint failures of pkg/kubelet/apis 2019-04-24 12:56:28 +08:00
Fabio Bertinatto
f56455753b Remove unnecessary in-line function 2019-04-23 22:24:33 +02:00
Fabio Bertinatto
817c9ca953 Process plugins found before the ones watched
Currently, the method `pluginwatcher.traversePluginDir` descends into
a directory adding filesystem watchers and creating synthetic `create`
events when it finds sockets files. However, a race condition might
happen when a recently-added watcher observes a `delete` event in a
socket file before `pluginwatcher.traversePlugindir` itself notices
this file.

This patch changes this behavior by registering watchers on
directories, enqueueing and processing `create` events from sockets
found, and only then processing the events from the registered watchers.
2019-04-23 22:24:33 +02:00
caiweidong
2fe823ba46 fix: use locked func to replace the raw one to avoid concurrent read 2019-04-23 21:00:13 +08:00
SataQiu
423e8f0292 fix golint failures of pkg/kubelet/dockershim/cm 2019-04-23 12:59:13 +08:00
Kubernetes Prow Robot
4ec29a1a2b
Merge pull request #76889 from SataQiu/fix-golint-kubelet-util-20190422
Fix golint failures of pkg/kubelet/util
2019-04-22 20:44:25 -07:00
Tim Allclair
c12b053390 Reregister cAdvisor cloud info providers in Kubelet 2019-04-22 15:43:45 -07:00
SataQiu
cd6828bae0 fix golint failures of pkg/kubelet/util 2019-04-22 15:23:07 +08:00
SataQiu
f5736f3fd1 fix some golint failures of pkg/kubelet 2019-04-22 10:40:51 +08:00
Davanum Srinivas
7b8c9acc09
remove unused code
Change-Id: If821920ec8872e326b7d85437ad8d2620807799d
2019-04-19 08:36:31 -04:00
SataQiu
0e1956b762 fix golint failures of pkg/kubelet/checkpoint 2019-04-19 18:27:32 +08:00
Kubernetes Prow Robot
1192ca09f0
Merge pull request #76634 from xichengliudui/addConsts
Using const() defines constants together
2019-04-18 01:50:10 -07:00
Kubernetes Prow Robot
6bc42d5bc0
Merge pull request #75869 from WanLinghao/cm_log_fix
Fix a log info error
2019-04-17 21:14:01 -07:00
Kubernetes Prow Robot
32a49828fe
Merge pull request #76456 from codenrhoden/mv-exec-mounter
Move ExecMount to pkg/volume/util/exec
2019-04-17 12:16:20 -07:00
Kubernetes Prow Robot
aff3f0c61c
Merge pull request #76665 from tallclair/imageref
Use consistent imageRef during container startup
2019-04-16 19:14:34 -07:00
Kubernetes Prow Robot
dffbae622a
Merge pull request #76633 from xichengliudui/little-bug
Small bug: Comments and function names do not match
2019-04-16 17:48:34 -07:00
Yu-Ju Hong
903f635ab3 dockershim: Fix negotiating docker API version
API version negotiation needs to happen before any meaningful docker
calls, including simple commands such as "/version".
2019-04-15 15:25:06 -07:00
changyaowei
123d1a925f modify random failure 2019-04-15 20:26:00 +08:00
viegasdom
9d3d7a7b51 Changes another usage of the BandwidthShaper to Shaper 2019-04-12 17:24:57 +01:00
Kubernetes Prow Robot
097d58523a
Merge pull request #75278 from Nessex/updatecontainerresources-label-fix
Fix label on UpdateContainerResources operation
2019-04-12 08:44:48 -07:00
Kubernetes Prow Robot
78f571dcfc
Merge pull request #76291 from dims/update-to-latest-cadvisor-remove-mesos-rkt
Update to latest cadvisor - cleanup mesos/rkt
2019-04-12 06:15:00 -07:00
Kubernetes Prow Robot
b7858e31d4
Merge pull request #76074 from danielqsj/probe
change kubelet probe metrics to counter
2019-04-12 03:23:04 -07:00
Kubernetes Prow Robot
c6338979ff
Merge pull request #75843 from alok87/update-dep-docker-docker-18.09.3
Update docker/docker dependency to release 18.09.4
2019-04-12 03:22:48 -07:00
Haiyan Meng
538cd87864
Add metrics to monitor the kubelet http server
Signed-off-by: Haiyan Meng <haiyanmeng@google.com>
2019-04-11 14:16:57 -07:00
Davanum Srinivas
1707144b0d
Adjust our use of cadvisor to pull in just runtimes we need
- We drop mesos and rkt support in cadvisor

Change-Id: Id4dcafdecc97802b2def95a572e67842e7507f7b
2019-04-11 14:59:48 -04:00
Davanum Srinivas
70d562a6ac
Update to latest cadvisor - cleanup mesos/rkt
Change-Id: Ib5ae0cb13b93f8c87bb74e3ba33040df5f3d6a6f
2019-04-11 14:49:23 -04:00
Travis Rhoden
f38d4938be Move ExecMount to pkg/volume/util/exec
This patch moves the ExecMounter found in pkg/util/mount to
pkg/volume/util/exec. This is done in preparation for pkg/util/mount to
move out of tree. This specific implemention of mount.Interface is only
used internally to K8s and does not need to move out of tree.
2019-04-11 12:19:55 -06:00
viegasdom
80578d5bf1 Changes code that still used BandWidthShaper instead of Shaper 2019-04-11 18:50:32 +01:00
Alok Kumar Singh
5b3a44fd56 Use docker api IsErrNotFound(). String handling is not required anymore
Why? https://github.com/kubernetes/kubernetes/pull/75843#discussion_r273785877
Moby support: https://github.com/moby/moby/pull/38689
Moby def: 053c6f097a/client/errors.go (L44-L49)
2019-04-11 20:52:57 +05:30
aaa
bad985dc3a Using const() defines constants together 2019-04-10 17:41:29 -04:00
aaa
49a2b1fd8f Small bug: Comments and function names do not match
add a function
2019-04-10 17:37:24 -04:00
Tim Allclair
26e3c8674e Use consistent imageRef during container startup 2019-04-10 12:06:42 -07:00
Kubernetes Prow Robot
98104e44f3
Merge pull request #76020 from qingsenLi/k8s190402-fix-healty
fix typo  healty
2019-04-09 15:18:45 -07:00
Kubernetes Prow Robot
c2acec5c77
Merge pull request #71679 from RobertKrawitz/logspam-cleanup
Clean up PR #71617
2019-04-09 11:20:48 -07:00
Alan
b00911a920
fix typo: "inidvidual"-> "individual"
fix typo: "inidvidual"-> "individual"
2019-04-09 03:02:50 +08:00
Daniel Mueller
9050c510e6 Remove unused variables from computePodPhase
The initialized and failed variables in the computePodPhase function are
effectively write only. Remove them.
2019-04-08 09:09:09 -07:00
Robert Krawitz
022f7c2cd7 Clean up PR #71617 2019-04-08 10:34:40 -04:00
Xing Yang
000ab86788 Move CSIDriver Lister to the controller 2019-04-05 12:20:11 -07:00
Kubernetes Prow Robot
a727bddc5e
Merge pull request #75523 from freehan/bug-fix
reconcile pod ready condition when message is not expected
2019-04-04 23:53:19 -07:00
Kubernetes Prow Robot
28295b0e78
Merge pull request #76098 from smarterclayton/move_direct_encoder
Move DirectEncoder to runtime, rename, add .WithoutConversion() on CodecFactory
2019-04-04 21:07:55 -07:00
Kubernetes Prow Robot
dc1ff116dc
Merge pull request #74220 from tedyu/master
Aggregate errors for kube runtime GC
2019-04-04 17:47:19 -07:00
danielqsj
6d041abba7 remove metrics prober_probe_result 2019-04-04 17:03:11 +08:00
Clayton Coleman
7f9dfe58f4
Use CodecFactory.WithoutConversion() everywhere
Clarifies that requesting no conversion is part of the codec factory, and
future refactors will make the codec factory less opionated about conversion.
2019-04-03 22:19:13 -04:00
Dr. Stefan Schimanski
37046e3028 Handle feature gate errors 2019-04-03 16:52:05 +02:00
danielqsj
295d672d54 change kubelet probe metrics to counter type 2019-04-03 17:44:17 +08:00
qingsenLi
4db2227629 fix typo healty 2019-04-03 03:29:22 +08:00
Giuseppe Scrivano
a561196bfe
logs: consume all file until EOF on exited container
If the container is not found, do not stop reading the log file
immediately but wait until we reach again EOF.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-03-30 17:42:21 +01:00
Giuseppe Scrivano
8f68b281e4
kubelet: force checking the log file every second
it seems fsnotify can miss some read events, blocking the kubelet to
receive more data from the log file.

If we end up waiting for events with fsnotify, force a read from the
log file every second so that are sure to not miss new data for longer
than that.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-03-30 17:42:20 +01:00
Giuseppe Scrivano
341c2c0d1f
kubelet: handle recreated log files
if the runtime is configured to rotate the log file, we might end up
watching the old fd where there are no more writes.

When a fsnotify event other than Write is received, reopen the log
file and recreate the watcher.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-03-30 17:42:20 +01:00
Giuseppe Scrivano
2c30eee92f
kubelet: read immediately after creating the watcher
if some events happen between the Read and while we set the watcher,
we might miss them.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-03-30 17:42:11 +01:00
Kubernetes Prow Robot
dabeb20a1a
Merge pull request #75587 from tiffanyfay/cred-provider
Refactor AWS credential provider
2019-03-29 14:48:47 -07:00
WanLinghao
62d8081eda Fix a log info error 2019-03-29 13:27:10 +08:00
Kubernetes Prow Robot
4b3eb60081
Merge pull request #75531 from dims/add-new-staging-repository-for-cri-api
New staging repository for cri-api
2019-03-26 18:10:49 -07:00
tiffany jernigan
847cb24aa1 Credential provider Provide takes image (general) 2019-03-27 01:00:26 +00:00
Davanum Srinivas
33081c1f07
New staging repository for cri-api
Change-Id: I2160b0b0ec4b9870a2d4452b428e395bbe12afbb
2019-03-26 18:21:04 -04:00
Kubernetes Prow Robot
531dbd409f
Merge pull request #75445 from shinytang6/enhance/fmt
Replace all time.Now().Sub with time.Since
2019-03-26 13:55:17 -07:00
Kubernetes Prow Robot
428a8e04d4
Merge pull request #75458 from jingxu97/March/raceofActualDesiredState
Fix race condition between actual and desired state in kublet volume manager
2019-03-25 13:24:51 -07:00
Clayton Coleman
b28e82ad4a
Avoid using %#v for errors when using only a portion of the object
`%#v` may have significant performance costs in frequently invoked code.
2019-03-21 22:52:09 -04:00
shinytang6
5c9f4d9dc6 replace time.Now().Sub with time.Since 2019-03-21 18:02:55 +08:00
Minhan Xia
47bc948fe3 reconcile pod ready condition when message is not expected 2019-03-20 14:05:40 -07:00
Kubernetes Prow Robot
26fea2361a
Merge pull request #75166 from qingsenLi/k8s190308-fix-heatbeat
spelling error 'heatbeat'
2019-03-20 13:30:59 -07:00
Kubernetes Prow Robot
795c96aa9d
Merge pull request #71822 from houjun41544/20181207-event
Remove unused kubelet event reasons
2019-03-20 11:07:47 -07:00
Kubernetes Prow Robot
155688b2f3
Merge pull request #75309 from cwdsuzhou/remove_unused_variable
Remove the unused variabe: syncDuration in volumemanager
2019-03-20 07:42:08 -07:00
Kubernetes Prow Robot
16b5f7d3c5
Merge pull request #67487 from tianshapjq/validate-system-kube-reserved
validate systemReservedCgroup and kubeReservedCgroup
2019-03-19 21:26:22 -07:00
Kubernetes Prow Robot
046dcbd1ed
Merge pull request #73917 from droslean/cleanup
replace loops with go idiomatic.
2019-03-19 19:01:04 -07:00
Jing Xu
7cb5df6728 Fix race condition between actual and desired state in kublet volume
manager

This PR fixes the issue #75345. This fix modified the checking volume in
actual state when validating whether volume can be removed from desired state or not. Only if volume status is already mounted in actual state, it can be removed from desired state.
For the case of mounting fails always, it can still work because the
check also validate whether pod still exist in pod manager. In case of
mount fails, pod should be able to removed from pod manager so that
volume can also be removed from desired state.
2019-03-18 17:08:48 -07:00
Bruce Ma
183247ca5c change bandwidth units from Kb to b
Signed-off-by: Bruce Ma <brucema19901024@gmail.com>
2019-03-18 21:22:34 +08:00
Kubernetes Prow Robot
1a24040447
Merge pull request #74781 from liggitt/http2-watch
kubelet watch-manager test, restore watch-based manager default
2019-03-16 12:52:56 -07:00
Kubernetes Prow Robot
3512757882
Merge pull request #75416 from tallclair/local-redirects
Don't follow non-local redirects from HTTP probes
2019-03-16 09:14:57 -07:00
Kubernetes Prow Robot
0f6196878d
Merge pull request #75367 from feiskyer/fix-dockershim-panic
Fix panic when removing docker images
2019-03-16 01:08:56 -07:00
Tim Allclair
e6ea4f0538 Don't follow non-local redirects for http probes 2019-03-15 11:04:30 -07:00
caiweidong
92aee22646 Remove the unused variabe: syncDuration in volumemanager 2019-03-15 10:04:41 +08:00
Kubernetes Prow Robot
b3ec6c17f1
Merge pull request #75144 from Huang-Wei/followup-74222
kubelet: updated logic of verifying a static critical pod
2019-03-14 14:41:00 -07:00
Pengfei Ni
a304297c99 Fix panic when removing docker images 2019-03-14 18:53:02 +08:00
Jordan Liggitt
f2a0c0342c Revert "Revert kubelet to default to ttl cache secret/configmap behavior"
This reverts commit cd1c9f9018.
2019-03-13 15:12:26 -07:00
Wei Huang
d67e7fd47f
kubelet: updated logic of verifying a static critical pod
- check if a pod is static by its static pod info
- meanwhile, check if a pod is critical by its corresponding mirror pod info
2019-03-12 23:40:20 -07:00
Nathan Essex
394c581a56 Fix label on UpdateContainerResources operation 2019-03-12 14:18:53 +09:00
Kubernetes Prow Robot
243e740885
Merge pull request #74809 from oxddr/secrets-and-maps
Fix secret/configmap management for terminated pods
2019-03-11 16:42:36 -07:00
Lantao Liu
0ac651bfc3 Include pod logs in the pod ephemeral storage.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-03-08 16:42:14 -08:00
Lantao Liu
f14c6c95d6 New pod log directory /var/log/pods/NAMESPACE_NAME_UID.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-03-08 16:42:14 -08:00
qingsenLi
147666f10f spelling error 'heatbeat' 2019-03-09 00:22:06 +08:00
Hemant Kumar
89d1de9eb9 Rename ExandFS to NodeExpand
Handle resize error in online resizing
Use NodeExpandable plugin to mark volumes that require node expansion
2019-03-08 09:21:44 -05:00
Kubernetes Prow Robot
535064773a
Merge pull request #73946 from dashpole/prometheus_core_metrics
Add kubelet resource metrics v1alpha1 endpoint
2019-03-07 22:43:28 -08:00
Kubernetes Prow Robot
183e6cc190
Merge pull request #74433 from tallclair/runtimeclass-internal
Migrate RuntimeClass from a CRD to an internal API
2019-03-07 21:19:30 -08:00
Kubernetes Prow Robot
ad27abde62
Merge pull request #74835 from davidz627/feature/adcFallback
Add logic for initializing CSINode on Node startup for CSI Migration [Replaces #70909]
2019-03-07 18:39:25 -08:00
David Zhu
41b3579345 Address review comments 2019-03-07 17:17:09 -08:00
Kubernetes Prow Robot
a6d8dbcaef
Merge pull request #74913 from yastij/explicit-restart-policy
explicit the restartPolicy on the dockershim
2019-03-07 16:12:39 -08:00
Kubernetes Prow Robot
fbc5150c7d
Merge pull request #74788 from feiskyer/windows-network-stats
Add network stats for Windows nodes and containers
2019-03-07 16:12:24 -08:00
David Ashpole
6051664c0f add kubelet prometheus resource metrics endpoint 2019-03-07 15:39:37 -08:00
David Zhu
34d9ee5b9b Add CSINode initialization for CSIMigration on node startup before pod ready 2019-03-07 14:47:38 -08:00
Tim Allclair
428e9fa329 generated files 2019-03-07 11:57:12 -08:00
Tim Allclair
222988bdda Migrate to internal node.k8s.io client 2019-03-07 11:57:12 -08:00
Arik Hadas
4a47148afe kubelet/cm: fix test description
Signed-off-by: Arik Hadas <ahadas@redhat.com>
2019-03-07 21:23:15 +02:00
Arik Hadas
26e1c1cee7 kubelet/cm: code optimization for the static policy
Minor optimization in the code that attempts to assign whole
sockets/cores in case the number of CPUs requested is higher
than CPUs-per-socket/core: check if the number of requested
CPUs is higher than CPUs-per-socket/core before retrieving
and iterating the free sockets/cores, and break the loops
when that is no longer the case.

Signed-off-by: Arik Hadas <ahadas@redhat.com>
2019-03-07 21:23:15 +02:00
Wei Huang
c5a96b63f4
Revert "kubelet: return mirror pod in GetActivePods()"
This reverts commit c0c93f4a52.
2019-03-07 11:22:27 -08:00
Janek Łukaszewicz
52913c59d1 Test with 2 pods, to make it more reliable. 2019-03-07 17:02:51 +01:00
Kubernetes Prow Robot
8dd60281ff
Merge pull request #74653 from cofyc/fix74650-CheckVolumeExistenceOperation
Distinguish between volume path and mount path
2019-03-06 20:35:40 -08:00
Kubernetes Prow Robot
752d18d2b0
Merge pull request #74510 from SataQiu/fix-golint-2019022502
Fix some golint failures for pkg/kubelet/apis/...
2019-03-06 17:59:25 -08:00
Pengfei Ni
d690037571 Run hack/update-bazel.sh 2019-03-07 09:55:58 +08:00
Pengfei Ni
1220025e86 Add network stats for node interfaces 2019-03-07 09:55:39 +08:00
Pengfei Ni
84a7f48cf7 Add network stats for Windows containers 2019-03-07 09:54:50 +08:00
Robert Krawitz
9fe4efea03 Fix typo in comments on SystemReserved and KubeReserved 2019-03-06 14:22:46 -05:00
Kubernetes Prow Robot
752f5668cc
Merge pull request #74737 from wk8/wk8/gmsa_bug_fix
Fixing a small bug with GMSA support
2019-03-06 11:20:49 -08:00
WanLinghao
611563c913 golint fix 2019-03-06 19:47:54 +08:00
Kubernetes Prow Robot
4d1b830578
Merge pull request #74933 from yujuhong/fix-cpu-nano-cores
Fix computing of cpu nano core usage
2019-03-05 14:54:34 -08:00
Kubernetes Prow Robot
98fa2c7d32
Merge pull request #74222 from Huang-Wei/kubelet-mirrorpod
kubelet: return mirror pod in GetActivePods()
2019-03-05 13:22:02 -08:00
Kubernetes Prow Robot
0a4308f641
Merge pull request #74529 from liggitt/kubelet-service-links-error
Kubelet service links error
2019-03-05 09:49:59 -08:00
Yu-Ju Hong
191666d6a3 Fix computing of cpu nano core usage
CRI runtimes do not supply cpu nano core usage as it is not part of CRI
stats. However, there are upstream components that still rely on such
stats to function. The previous fix was faulty because the multiple
callers could compete and update the stats, causing
inconsistent/incoherent metrics. This change, instead, creates a
separate call for updating the usage, and rely on eviction manager,
which runs periodically, to trigger the updates. The caveat is that if
eviction manager is completley turned off, no one would compute the
usage.
2019-03-05 09:25:40 -08:00
WanLinghao
c16d9193c1 bazel fix 2019-03-05 17:22:35 +08:00
WanLinghao
b2ce446a88 Migrate oom watcher not relying on cAdviosr any more, it is part of plan
of removing cAdvisor from k8s.
For more informations about this plan, please refer:
https://github.com/kubernetes/kubernetes/issues/68522
2019-03-05 17:06:34 +08:00
Sreemanti-Ghosh
ce56956409 Socket mask unit test (#4) 2019-03-05 08:00:04 +00:00
nolancon
a273333f1f Add BUILD files and Boilerplates
Updates based on comments
* Export comments added
* glog changed to klog
* Other small edits
2019-03-05 07:59:51 +00:00
Xing Yang
6265f4f78c CSINodeInfo/CSIDriver controller changes
This is the 2nd PR to move CSINodeInfo/CSIDriver APIs to
v1beta1 core storage APIs. It includes controller side changes.
It depends on the PR with API changes:
https://github.com/kubernetes/kubernetes/pull/73883
2019-03-04 16:41:58 -08:00
Yassine TIJANI
5f7c60859c explicit the restartPolicy on the dockershim
This change explicits the restart policy, as on some docker version
(e.g. 11.07-ce) the default for this field is "". which seems to be not
respected by dockerd
2019-03-04 23:11:20 +01:00
Kubernetes Prow Robot
d8d260a09d
Merge pull request #74755 from liggitt/kubelet-watch
Revert kubelet to default to ttl cache secret/configmap behavior
2019-03-01 19:14:14 -08:00
Kubernetes Prow Robot
9b8c58644a
Merge pull request #74418 from danielqsj/duration
convert latency/latencies in metrics name to duration
2019-03-01 17:58:12 -08:00
Jean Rouge
5e3f3b35e0 Review comments
Signed-off-by: Jean Rouge <rougej+github@gmail.com>
2019-03-01 17:57:39 -08:00
Lubomir I. Ivanov
e29c6e1b38 go-1.12: fix 'go vet' failures 2019-03-01 18:48:17 +02:00
nolancon
f10e76962f Add Socket Mask for Topology Manager 2019-03-01 07:20:47 +00:00
Kubernetes Prow Robot
4f01eb528e
Merge pull request #74336 from littleroad/exited_container
cri_stats_provider: Implement removeTerminatedContainer correctly
2019-02-28 19:12:07 -08:00
Jordan Liggitt
cd1c9f9018 Revert kubelet to default to ttl cache secret/configmap behavior 2019-02-28 17:54:22 -05:00
Jean Rouge
1908a0ce04 Fixing a small bug with GMSA support
A previous PR (https://github.com/kubernetes/kubernetes/pull/73726)
added GMSA support to the dockershim. Unfortunately, there was a
bug in there: the registry keys used to pass the cred specs down
to Docker were being cleaned up too early, right after the containers'
creation - before Docker would ever try to read them, when trying to
actually start the container.

This patch fixes this.

An e2e test is also provided in a separate PR.

Signed-off-by: Jean Rouge <rougej+github@gmail.com>
2019-02-28 10:26:54 -08:00
wojtekt
6dce4d87a3 Fix secret/configmap management for terminated pods 2019-02-28 18:59:53 +01:00
Fabio Bertinatto
32c0af42e6 Remove last pieces of mount propagation gate 2019-02-28 13:05:02 +01:00
Kubernetes Prow Robot
4b1282d925
Merge pull request #74016 from ahadas/topology_cleanup
Cleanup in topology.go
2019-02-27 22:49:24 -08:00
Lu Fengqi
3f8eda37ce cri_stats_provider: overload nil as 0 for exited containers stats
Always report 0 cpu/memory usage for exited containers to make
metrics-server work as expect.

Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
2019-02-28 10:41:15 +08:00
Kubernetes Prow Robot
84dce4d119
Merge pull request #74393 from codenrhoden/refactor-subpath
Refactor subpath out of pkg/util/mount
2019-02-27 15:54:36 -08:00
Yecheng Fu
8940976602 Distinguish volume path with mount path 2019-02-27 19:31:26 +08:00
Travis Rhoden
2c4d748bed Refactor subpath out of pkg/util/mount
This patch moves subpath functionality out of pkg/util/mount and into a
new package pkg/volume/util/subpath. NSEnter funtionality is maintained.
2019-02-26 19:59:53 -07:00
Lantao Liu
f9b8d27cef Lower the log level for non-exist cadvisor stats.
For exited container, it is quite normal that cri stats
are returned, but there is no corresponding cadvisor stats.
2019-02-26 16:43:42 -08:00
Kubernetes Prow Robot
cf24d24e66
Merge pull request #70647 from vshn/imagegc_multi_repo_image_removal
Always run untag when removing docker image
2019-02-26 11:04:58 -08:00
Kubernetes Prow Robot
44d13d3b77
Merge pull request #73726 from wk8/wk8/gmsa_alpha
Kubelet changes for Windows GMSA support
2019-02-25 21:48:21 -08:00
Kubernetes Prow Robot
272d78f1d9
Merge pull request #73966 from alculquicondor/fix/lint-kubelet-server
Fix lint on pkg/kubelet/server/...
2019-02-25 20:27:48 -08:00
Jean Rouge
0d392ffcef Udpated Bazel files
Signed-off-by: Jean Rouge <rougej+github@gmail.com>
2019-02-26 03:02:09 +00:00
Kubernetes Prow Robot
77cf7c7b86
Merge pull request #73703 from rphillips/fixes/kubelet_file_fsnotify
kubelet: upgrade sourceFile to use fsnotify
2019-02-25 15:15:08 -08:00
Jean Rouge
f1bdfa93f9 Review comments
Signed-off-by: Jean Rouge <rougej+github@gmail.com>
2019-02-25 10:59:23 -08:00
Jordan Liggitt
4ac08be206 prevent panic on nil pod.spec.enableServiceLinks 2019-02-25 10:43:29 -05:00
Jordan Liggitt
9788d401e2 Revert "bug: fix segfault when EnableServiceLinks is nil"
This reverts commit e9f1700512.
2019-02-25 10:35:48 -05:00
SataQiu
7181c44230 fix some golint failures for pkg/cloudprovider/providers/vsphere/vclib and pkg/kubelet/apis/... 2019-02-25 18:01:41 +08:00
Kubernetes Prow Robot
8993fbc543
Merge pull request #74328 from daixiang0/delete-blank
delete all duplicate empty blanks
2019-02-23 01:43:58 -08:00
Kubernetes Prow Robot
b5566c7818
Merge pull request #71896 from awly/client-go-keyutil
client-go: extract new keyutil package from util/cert
2019-02-23 01:43:16 -08:00
qingsenLi
8086b8f71d fix syntactic error in kuberuntime_manager.go-2 2019-02-23 10:51:17 +08:00
Xiang Dai
36065c6dd7 delete all duplicate empty blanks
Signed-off-by: Xiang Dai <764524258@qq.com>
2019-02-23 10:28:04 +08:00
Kubernetes Prow Robot
b77e4e2417
Merge pull request #74389 from answer1991/sync-cni-config-in-goroutine
sync CNI config in goroutine
2019-02-22 17:58:54 -08:00
Kubernetes Prow Robot
95856e30c4
Merge pull request #73820 from haiyanmeng/runtimeclass
Fit RuntimeClass metrics to prometheus conventions
2019-02-22 16:14:59 -08:00
Kubernetes Prow Robot
2f2945732b
Merge pull request #69099 from ehashman/issue-66790
Rename cadvisor metric labels to match instrumentation guidelines
2019-02-22 14:56:01 -08:00
danielqsj
f7b437cae0 convert latency in mertics name to duration 2019-02-22 21:40:13 +08:00
chenjun.cj
4fe13c2a99 sync CNI config in goroutine 2019-02-22 16:26:49 +08:00
Aldo Culquicondor
e61cd68bf3 Fix lint on pkg/kubelet/server/... 2019-02-21 10:31:41 -05:00
Kubernetes Prow Robot
5bfea15e7b
Merge pull request #71351 from HotelsDotCom/kep/VolumeSubpathEnvExpansion
kep/VolumeSubpathEnvExpansion
2019-02-20 14:05:20 -08:00
Kubernetes Prow Robot
a2a5bd03fd
Merge pull request #71119 from Chenditang/typo
Fix typos.
2019-02-20 12:54:30 -08:00
Kubernetes Prow Robot
78573805a7
Merge pull request #66228 from liucimin/fix_cniplugin_get_expose_hostip
fix_the_checkpoint_no_hostip_bug
2019-02-20 12:51:14 -08:00
Kevin Taylor
a64b854137 Implementation of KEP Feature Gate VolumeSubpathEnvExpansion 2019-02-20 01:37:16 +00:00
Jean Rouge
a09031dbbd Typo in comment
Signed-off-by: Jean Rouge <rougej+github@gmail.com>
2019-02-19 13:10:23 -08:00
haiyanmeng
ec18200f8b Fit RuntimeClass metrics to prometheus conventions
1) Add suffix (`seconds` or `total`) to metric name
2) Switch Summary metric to Histogram metric (Summary metrics are not
supported completely by prometheus-to-sd and can't be aggregated.)
2019-02-19 12:46:37 -08:00
Andrew Lytvynov
18458392ca Extract new keyutil package from client-go/util/cert
This package contains public/private key utilities copied directly from
client-go/util/cert. All imports were updated.

Future PRs will actually refactor the libraries.

Updates #71004
2019-02-19 09:48:59 -08:00
Kubernetes Prow Robot
d61e878533
Merge pull request #73997 from xichengliudui/fixlintcode
Fix golint failures
2019-02-19 01:44:48 -08:00
Ted Yu
dae6950f04 Aggregate errors for kube runtime GC
Signed-off-by: Ted Yu <yute@vmware.com>
2019-02-18 13:29:22 -08:00
Wei Huang
c0c93f4a52
kubelet: return mirror pod in GetActivePods() 2019-02-18 12:06:43 -08:00
danielqsj
79a3eb816c rename latency to duration in metrics 2019-02-18 17:40:04 +08:00
danielqsj
0bfe4c26b1 add default buckets for histogram metrics 2019-02-18 14:07:30 +08:00
danielqsj
4fa0ee7805 Mark deprecated in related kubelet metrics 2019-02-18 14:03:44 +08:00
danielqsj
0e9515c709 Move kubelet metrics to histogram metrics 2019-02-18 14:03:44 +08:00
danielqsj
9fd99a48f5 Change kubelet metrics to conform guideline 2019-02-18 14:01:58 +08:00
Jean Rouge
b1ea622359 Review from @yujuhong
Signed-off-by: Jean Rouge <rougej+github@gmail.com>
2019-02-16 07:55:43 -08:00
Kubernetes Prow Robot
c88dcee3e9
Merge pull request #73824 from jiayingz/reallocate
Checks whether we have cached runtime state before starting a container
2019-02-15 20:35:30 -08:00
Kubernetes Prow Robot
063e7ff358
Merge pull request #73833 from haiyanmeng/cri_runtimeclass
Add `runtime_handler` into PodSandbox and PodSandboxStatus
2019-02-15 18:02:46 -08:00
Kubernetes Prow Robot
3e748958dc
Merge pull request #73333 from yujuhong/os-arch-labels
kubelet: promote OS & arch labels to GA
2019-02-15 16:45:57 -08:00
Kubernetes Prow Robot
fbee96d733
Merge pull request #73699 from pivotal-k8s/doc-links
Update deprecated and broken links
2019-02-15 14:05:09 -08:00
Kubernetes Prow Robot
6310f9681e
Merge pull request #74114 from feiskyer/revert-70121
Revert #70121: Add network stats for Windows containers #70121
2019-02-15 12:44:06 -08:00
Ben Moss
34ac4d9ee9 Update deprecated links 2019-02-15 09:13:07 -05:00
Kubernetes Prow Robot
bf20886f4e
Merge pull request #73990 from xichengliudui/fixlinterror
Fix golint failures pkg/kubelet/util/cache
2019-02-14 22:43:15 -08:00
Pengfei Ni
0d03672e02 Revert "Add network stats for windows node"
This reverts commit f9fa1c6a38.
2019-02-15 12:20:41 +08:00
Pengfei Ni
2449b0997c Revert "Add network stats for Windows containers"
This reverts commit 9cf38de44b.
2019-02-15 12:20:23 +08:00
sunxiaofei03
91e6dab9f8 rm unused judgement 2019-02-15 10:57:42 +08:00
Kubernetes Prow Robot
6a9902deee
Merge pull request #73802 from Random-Liu/handle-unknown-state
Stop container in unknown state before recreate or remove.
2019-02-14 15:50:12 -08:00
Jean Rouge
b435dbf718 Merge branch 'master' into wk8/gmsa_alpha
Signed-off-by: Jean Rouge <rougej+github@gmail.com>
2019-02-14 15:38:25 -08:00
Arik Hadas
c3a533e5b2 Cleanup in topology.go
1. Find the minimal thread number within a core using a
single loop rather than by sorting the thread numbers.

2. Inline getUniqueCoreID#err and Discover#numCPUs variables.

3. Narrow the scope of Discover#coreID and Discover#err variables.

Signed-off-by: Arik Hadas <ahadas@redhat.com>
2019-02-14 16:55:37 +02:00
Lantao Liu
de8ee94d14 Stop container in unknown state before recreate or remove. 2019-02-14 02:31:17 -08:00
Yu-Ju Hong
5fd27c38da Move beta OS/Arch labels back to the kubelet package
These labels are being deprecated
2019-02-13 18:09:49 -08:00
Kubernetes Prow Robot
888ff4097a
Merge pull request #73651 from RobertKrawitz/node_pids_limit
Support total process ID limiting for nodes
2019-02-13 17:31:18 -08:00
Robert Krawitz
2597a1d97e Implement SupportNodePidsLimit, hand-tested 2019-02-13 14:56:17 -05:00
Kubernetes Prow Robot
289a60ad71
Merge pull request #72709 from changyaowei/pleg_relist
When pleg channel is full, discard events and record its count
2019-02-13 01:44:48 -08:00
changyaowei
19f73899fc modify test case 2019-02-13 16:27:15 +08:00
Kubernetes Prow Robot
19e57c616c
Merge pull request #73892 from smarterclayton/fix_container_message
Make container create, start, and stop events consistent
2019-02-12 20:01:36 -08:00
Kubernetes Prow Robot
a684bd5eb1
Merge pull request #73556 from msau42/triage-72931
Mark volume as in use even when node status didn't change
2019-02-12 17:29:05 -08:00
Michelle Au
80a2698a02 Add unit tests for volumesinuse during node status update 2019-02-12 13:46:30 -08:00
Michelle Au
62f874b19b Mark volume as in use even when node status didn't change 2019-02-12 13:46:29 -08:00
xichengliudui
4c42d542dc Fix golint failures
update pull request

update pull request
2019-02-12 13:01:49 -05:00
xichengliudui
d1d54f81ec update pull request
update pull request
2019-02-12 12:13:19 -05:00
Ryan Phillips
4000ef006c kubelet: upgrade sourceFile to use fsnotify
Mitigate some flakes for deleted watch directories and use the
maintained fsnotify package.
2019-02-12 08:00:56 -06:00
xichengliudui
5aa58efe07 Fix golint failures
update pull request
2019-02-12 07:14:57 -05:00
Kubernetes Prow Robot
0480214903
Merge pull request #73804 from Random-Liu/remove-unused-functions
Remove unused function from the legacy runtime interface.
2019-02-11 22:56:00 -08:00
xichengliudui
5dd26ecab5 Fix function comment to consistent with its name
update pull request

update pull request
2019-02-12 01:37:20 -05:00
Kubernetes Prow Robot
c9964aa519
Merge pull request #73342 from szuecs/fix/period-not-reset-if-gate-not-set
cpuPeriod was not reset
2019-02-11 19:58:07 -08:00
Yu-Ju Hong
04575f01b0 kubelet: promote OS & arch labels to GA
kubelet now applies both the beta and the GA labels to ensure backward
compatibility.
2019-02-11 11:24:58 -08:00
Nikolaos Moraitis
6e820cdcaf replace loops with go idiomatic. 2019-02-11 11:21:52 +01:00
Clayton Coleman
49250c6efc
Make container create, start, and stop events consistent
The messages for container lifecycle events are subtly inconsistent
and should be unified.

First, the field format for containers is hard to parse for a human,
so include the container name directly in the message for create
and start, and for kill remove the container runtime prefix.

Second, the pulling image event has inconsistent capitalization, fix
that to be sentence without punctuation.

Third, the kill container event was unnecessarily wordy and inconsistent
with the create and start events. Make the following changes:

* Use 'Stopping' instead of 'Killing' since kill is usually reserved for
  when we decide to hard stop a container
* Send the event before we dispatch the prestop hook, since this is an
  "in-progress" style event vs a "already completed" type event
* Remove the 'cri-o://' / 'docker://' prefix by printing the container
  name instead of id (we already do that replacement at the lower level
  to prevent high cardinality events)
* Use 'message' instead of 'reason' as the argument name since this is a
  string for humans field, not a string for machines field
* Remove the hash values on the container spec changed event because no
  human will ever be able to do anything with the hash value
* Use 'Stopping container %s(, explanation)?' form without periods to
  follow event conventions

The end result is a more pleasant message for humans:

```
35m         Normal    Created                       Pod    Created container
35m         Normal    Started                       Pod    Started container
10m         Normal    Killing                       Pod    Killing container cri-o://installer:Need to kill Pod
10m         Normal    Pulling                       Pod    pulling image "registry.svc.ci.openshift.org/openshift/origin-v4.0-2019-02-10-172026@sha256:3da5303d4384d24691721c1cf2333584ba60e8f82c9e782f593623ce8f83ddc5"
```

becomes

```
35m         Normal    Created                       Pod    Created container installer
35m         Normal    Started                       Pod    Started container installer
10m         Normal    Killing                       Pod    Stopping container installer
10m         Normal    Pulling                       Pod    Pulling image "registry.svc.ci.openshift.org/openshift/origin-v4.0-2019-02-10-172026@sha256:3da5303d4384d24691721c1cf2333584ba60e8f82c9e782f593623ce8f83ddc5"
```
2019-02-10 16:39:42 -05:00
Kubernetes Prow Robot
ee44e24cd3
Merge pull request #73659 from feiskyer/usage-nano-cores
Kubelet: add usageNanoCores from CRI stats provider
2019-02-08 19:26:21 -08:00
Kubernetes Prow Robot
5b7a790d35
Merge pull request #72185 from dcbw/owners-label-sig-network
OWNERS: add label:sig/network to a bunch of places
2019-02-08 10:36:16 -08:00
Kubernetes Prow Robot
5bedff6625
Merge pull request #73836 from Random-Liu/clarify-hostname-in-cri
Clarify hostname emptiness in CRI.
2019-02-08 09:06:27 -08:00
Kubernetes Prow Robot
b50c643be0
Merge pull request #73540 from rlenferink/patch-5
Updated OWNERS files to include link to docs
2019-02-08 09:05:56 -08:00
Kubernetes Prow Robot
eac19a3ab9
Merge pull request #73616 from dims/move-part-of-kubelet-apis-well-known-lables
move pkg/kubelet/apis/well_known_labels.go to staging/src/k8s.io/api/core/v1/
2019-02-07 19:44:34 -08:00
Lantao Liu
5b86ee1c82 Clarify hostname emptiness in CRI. 2019-02-07 18:37:59 -08:00
Lantao Liu
1a92e218e0 Remove unused function from the legacy runtime interface.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-02-07 16:57:19 -08:00
haiyanmeng
c35335808c Add runtime_handler into PodSandbox and PodSandboxStatus 2019-02-07 15:52:09 -08:00
Jiaying Zhang
00b88c14b0 Checks whether we have cached runtime state before starting a container
that requests any device plugin resource. If not, re-issue Allocate
grpc calls. This allows us to handle the edge case that a pod got
assigned to a node even before it populates its extended resource
capacity.
2019-02-07 11:12:36 -08:00
Pengfei Ni
01fbca29cb Kubelet: add usageNanoCores from CRI stats provider 2019-02-07 22:31:30 +08:00
Kubernetes Prow Robot
6796645672
Merge pull request #73758 from sjenning/priority-based-oom-score-adj
kubelet: set low oom_score_adj for containers in critical pods
2019-02-06 21:13:55 -08:00
Kubernetes Prow Robot
ae45068688
Merge pull request #72323 from danielqsj/dockershim
Change docker metrics to conform metrics guidelines
2019-02-06 09:30:54 -08:00
Jean Rouge
c4806186d4 Review comments
* value names are now purely random
* cleaning up leaked registry keys at Kubelet init
* fixing a small bug masking create errors

Signed-off-by: Jean Rouge <rougej+github@gmail.com>
2019-02-05 16:53:17 -08:00
Kubernetes Prow Robot
459e509f94
Merge pull request #73549 from haiyanmeng/runtimeclass
Add monitoring for RuntimeClass
2019-02-05 15:14:38 -08:00
Kubernetes Prow Robot
a20cd49d6d
Merge pull request #72910 from danielqsj/kn
Add kubelet_node_name metrics
2019-02-05 15:14:06 -08:00
Kubernetes Prow Robot
dc1244c6cd
Merge pull request #72785 from derekwaynecarr/hugepages-ga
Graduate HugePages feature to GA
2019-02-05 13:56:51 -08:00
Seth Jennings
7dcf1fe5f8 kubelet: set low oom_score_adj for containers in critical pods 2019-02-05 14:28:36 -06:00
Davanum Srinivas
274c9976d2
DefaultFailureDomains does not need to be global
Change-Id: I5ccfe8b836133b0db402a37a6974fc011aa6335e
2019-02-05 13:39:07 -05:00
Davanum Srinivas
b975573385
move pkg/kubelet/apis/well_known_labels.go to staging/src/k8s.io/api/core/v1/
Co-Authored-By: Weibin Lin <linweibin1@huawei.com>

Change-Id: I163b2f2833e6b8767f72e2c815dcacd0f4e504ea
2019-02-05 13:39:07 -05:00
Jean Rouge
3f5675880d Kubelet changes for Windows GMSA support
This patch comprises the kubelet changes outlined in the GMSA KEP
(https://github.com/kubernetes/enhancements/blob/master/keps/sig-windows/20181221-windows-group-managed-service-accounts-for-container-identity.md)
to add GMSA support to Windows workloads.

More precisely, it includes the logic proposed in the KEP to resolve
which GMSA spec should be applied to which containers, and changes
`dockershim` to copy the relevant GMSA credential specs to Windows
registry values prior to creating the container, passing them down
to docker itself, and finally removing the values from the registry
afterwards; both these changes need to be activated with the `WindowsGMSA`
feature gate.

Includes unit tests.

Signed-off-by: Jean Rouge <rougej+github@gmail.com>
2019-02-05 09:17:46 -08:00
Kubernetes Prow Robot
6a149864fb
Merge pull request #73285 from tallclair/typed-runtimeclass
Migrate RuntimeClass support to the generated typed client
2019-02-04 16:13:30 -08:00
haiyanmeng
18bcdcecce Add monitoring for RuntimeClass 2019-02-04 16:01:29 -08:00
Roy Lenferink
b43c04452f Updated OWNERS files to include link to docs 2019-02-04 22:33:12 +01:00
Kubernetes Prow Robot
9d6ebf6c78
Merge pull request #73467 from ashishranjan738/newpackage
Refactor to use k8s.io/utils/net/ package instead of kubernetes/pkg/util/net/sets
2019-02-04 11:43:14 -08:00
Kubernetes Prow Robot
f52713515b
Merge pull request #73413 from joejulian/enableservicelinks_segfault
bug: fix segfault when EnableServiceLinks is nil
2019-02-04 09:36:31 -08:00
Kubernetes Prow Robot
ca1336957e
Merge pull request #73404 from tsmetana/fix-kubelet-volume-test
Kubelet: Fix volumemanager test race
2019-02-04 06:21:11 -08:00
Ashish Ranjan
7be223e798 Refactor to use k8s.io/utils/net/ package instead of kubernetes/pkg/util/net/sets
Signed-off-by: Ashish Ranjan <ashishranjan738@gmail.com>
2019-02-04 10:34:53 +05:30
Kubernetes Prow Robot
c2570acc0c
Merge pull request #70936 from yanghaichao12/dev1112
correct some spelling wrong in DevicePlugin files
2019-02-03 13:10:25 -08:00
Kubernetes Prow Robot
6fb69d3967
Merge pull request #71648 from houjun41544/20181203-volume
Fix an error in comment
2019-02-03 12:02:45 -08:00
Kubernetes Prow Robot
03b434c9d4
Merge pull request #58122 from tianshapjq/nit-int-is-enough
Len() is already int
2019-02-03 12:02:24 -08:00
Derek Carr
deae071d78 Graduate HugePages feature to GA 2019-02-02 00:21:10 -05:00
Kubernetes Prow Robot
235b32e8ad
Merge pull request #72832 from MrHohn/pod-dns-config-ga
Graduate CustomPodDNS feature to GA
2019-02-01 18:29:17 -08:00
Kubernetes Prow Robot
4331660fcd
Merge pull request #73445 from danielqsj/fix-exec
migrate the rest reference of pkg/util/exec to k8s.io/utils/exec
2019-02-01 17:14:15 -08:00
Kubernetes Prow Robot
ae2b176439
Merge pull request #71727 from mikedanese/fixcrm
pkg/kubelet/cloudresource: fallback to old addresses if sync loop fails
2019-02-01 14:31:52 -08:00
Kubernetes Prow Robot
53a7601e6a
Merge pull request #64648 from dcbw/remove-unused-param
kubelet: remove unused parameter from runtime's SyncPod()
2019-02-01 09:03:45 -08:00
Sandor Szücs
fd0cff9c77
fix #73264 cpuPeriod was not reset, but used as it is if alpha gate is disabled
Signed-off-by: Sandor Szücs <sandor.szuecs@zalando.de>
2019-02-01 16:45:43 +01:00
Kubernetes Prow Robot
c0457488b6
Merge pull request #63901 from weipeng1213/branch-3
fix typo: writeable->writable
2019-02-01 07:44:26 -08:00
Kubernetes Prow Robot
91d2bd3951
Merge pull request #73306 from Pingan2017/args-type-statusmanager
correct the type in status_manager.go
2019-01-31 16:05:44 -08:00
Kubernetes Prow Robot
7b7f18c6c8
Merge pull request #70978 from Pingan2017/gracePeriod
correct log output when specifed delete gracePeriod < minimumGracePer…
2019-01-31 16:05:33 -08:00
Kubernetes Prow Robot
a5ade16abd
Merge pull request #73603 from sjenning/fix-kubelet-test
TestCreatePodSandbox_RuntimeClass should not expect RunPodSandbox when runtime class is not found
2019-01-31 14:10:30 -08:00
Joe Julian
e9f1700512
bug: fix segfault when EnableServiceLinks is nil
When upgrading to 1.13, pods that were created prior to the upgrade have
no pod.Spec.EnableServiceLinks set. This causes a segfault and prevents
the pod from ever starting.

Check and set to the default if nil.

Fixes #71749
2019-01-31 11:07:32 -08:00
Seth Jennings
6b51d48c4f TestCreatePodSandbox_RuntimeClass should not expect RunPodSandbox when runtime class is not found 2019-01-31 12:55:56 -06:00
danielqsj
cf1fb8a1cd fix format issue 2019-01-31 22:01:13 +08:00
Daniel (Shijun) Qian
e72b32558c
Merge branch 'master' into keymutex 2019-01-31 20:50:57 +08:00
changyaowei
c70ee4272b delete prometheus in unit testing 2019-01-31 12:18:02 +08:00
changyaowei
b52afc350f when pleg channel is full, discard events and record how many events discard 2019-01-30 20:43:54 +08:00
danielqsj
657a1a1a34 change import alias of utils/strings 2019-01-30 10:44:09 +08:00
danielqsj
093328e57f migrate to k8s.io/utils/strings 2019-01-30 10:24:00 +08:00
Andrew Kim
84191eb99b replace pkg/util/file with k8s.io/utils/path 2019-01-29 15:20:13 -05:00
Mike Danese
bf99565fbb fallback to previously collected addresses if a sync loop fails 2019-01-29 11:05:27 -08:00
Mike Danese
33fc5b354b remove artificial sleeps that made tests passes 2019-01-29 10:34:25 -08:00
Mike Danese
9ece24c33f remove custom timeout in test that is never exercised
and misc cleanup
2019-01-29 10:34:25 -08:00
Kubernetes Prow Robot
b2d2432291
Merge pull request #73234 from baltendo/master
Fix golint failures
2019-01-29 01:21:03 -08:00
Kubernetes Prow Robot
cc1be28943
Merge pull request #72624 from danielqsj/clean_unmount
Cleanup callers of deprecated functions in volume/util
2019-01-28 23:06:20 -08:00
danielqsj
c7a012f033 migrate the rest reference of pkg/util/exec to k8s.io/utils/exec 2019-01-29 10:55:10 +08:00
Elana Hashman
3539e89af2 Rename labels to match instrumentation guidelines
For the next release, we include both sets of labels for pods and
containers: "container_name" and "container", "pod_name" and "pod".
In future releases, the "*_name" metrics will be deprecated.
2019-01-28 12:36:20 -05:00
Tomas Smetana
45464f0349 Kubelet: Fix volumemanager test race 2019-01-28 15:05:26 +01:00
Kubernetes Prow Robot
697c2316fa
Merge pull request #70121 from feiskyer/win-net-stats3
Add network stats for Windows containers
2019-01-25 14:12:34 -08:00
Pingan2017
fddaf257af correct the type in status_manager.go 2019-01-25 14:34:11 +08:00
Andrew Kim
0bc5508aca replace client-go/util/integer with k8s.io/utils/integer 2019-01-24 15:34:21 -05:00
Tim Allclair
954f43a10d Migrate RuntimeClass E2E to typed client 2019-01-24 11:08:30 -08:00
Tim Allclair
aab3523e0e Migrate RuntimeClass support to the generated typed client 2019-01-24 11:08:30 -08:00
Pengfei Ni
9cf38de44b Add network stats for Windows containers 2019-01-24 14:20:30 +08:00
Pengfei Ni
f9fa1c6a38 Add network stats for windows node 2019-01-24 14:17:54 +08:00
Bernhard Altendorfer
736f35ec29 Fix golint failures 2019-01-24 00:14:25 +01:00
Kubernetes Prow Robot
cb09d4d317
Merge pull request #72507 from dixudx/remove_stale_OutOfDisk
remove stale OutOfDisk condition from kubelet side
2019-01-18 19:14:04 -08:00
Kubernetes Prow Robot
76961c517e
Merge pull request #73048 from yujuhong/labels-ga
kubelet: promote OS & arch labels to GA
2019-01-18 05:17:24 -08:00
Kubernetes Prow Robot
54c4428eb4
Merge pull request #71276 from jingxu97/Oct/uncertain
Handle failed attach operation leave uncertain volume attach state
2019-01-17 22:52:57 -08:00
Kubernetes Prow Robot
b1b6cb8cb4
Merge pull request #73034 from dashpole/fix_allocatable_e2e
[Text Fix] Fix panic in NodeAllocatable node e2e test
2019-01-17 17:11:59 -08:00
Yu-Ju Hong
00d93f0cc3 kubelet: promote OS & arch labels to GA
kubelet now applies both the beta and the GA labels to ensure backward
compatibility.
2019-01-17 14:57:43 -08:00
David Ashpole
2b8bc85f75 fix panic in NodeAllocatable node e2e test 2019-01-17 10:57:09 -08:00
Marek Counts
1739e343a8 autogen files
all the autogen files that got updated due to the changes to move logs.
2019-01-17 09:16:36 -05:00
Marek Counts
ba81a5409a move logs into component-base
all the code changes to move move /apiserver/pkg/util/logs into /component-base/logs
2019-01-17 09:16:21 -05:00
Kubernetes Prow Robot
5d19fda5e8
Merge pull request #72844 from dashpole/fork_bomb_test
Fix PidPressure, and add fork-bomb e2e-node test
2019-01-16 15:59:01 -08:00
Kubernetes Prow Robot
5818be6205
Merge pull request #68619 from ailusazh/CleanContainersInReconcileStateOfCpuManager
clean containers in reconcileState of cpuManager
2019-01-16 11:34:04 -08:00
Kubernetes Prow Robot
56e88f5b47
Merge pull request #70805 from danwinship/cloud-node-ip
Fix a CloudProvider-vs-nodeIP edge case
2019-01-16 09:04:54 -08:00
Kubernetes Prow Robot
ce19aad22b
Merge pull request #70527 from qingsenLi/git181101
remove repetitive word in annotation
2019-01-15 20:19:09 -08:00
Kubernetes Prow Robot
591ef236e0
Merge pull request #72705 from WanLinghao/cadvisor_test_improve
Improve pkg/kubelet/cadvisor package
2019-01-15 17:32:30 -08:00
danielqsj
1d73c7daed Add kubelet_node_name metrics 2019-01-15 18:01:04 +08:00
ailusazh
10995f661d clean containers in reconcileState of cpuManager 2019-01-15 16:09:28 +08:00
David Ashpole
8b440c6424 Fix PidPressure, make it evict by priority, and add fork-bomb node e2e test 2019-01-14 09:41:36 -08:00
WanLinghao
ce7003262f Improve pkg/kubelet/cadvisor package:
1. Perfect unit test code
2. Clean unused function&&test file
2019-01-14 09:39:22 +08:00
Kubernetes Prow Robot
dc6f3d645d
Merge pull request #72831 from yujuhong/bump-docker-version
Bump minimum docker version to 1.13.1
2019-01-11 15:54:11 -08:00
Zihong Zheng
f2750dd043 Graduate CustomPodDNS feature to GA 2019-01-11 11:28:26 -08:00
Yu-Ju Hong
f62cc81934 Bump minimum docker version to 1.13.1 2019-01-11 10:21:38 -08:00
Kubernetes Prow Robot
d2d9a3aba4
Merge pull request #72659 from jsturtevant/fix-windows-kernal-version-output
Remove newline from kernel version on windows node
2019-01-11 08:10:26 -08:00
Kubernetes Prow Robot
0ab3972a08
Merge pull request #72791 from yujuhong/no-rkt
Remove the rkt deprecation warning
2019-01-10 17:09:04 -08:00
Kubernetes Prow Robot
68909b5683
Merge pull request #70784 from gaorong/typo-fix
fix some typos
2019-01-10 17:08:43 -08:00
Kubernetes Prow Robot
b92756e85d
Merge pull request #72340 from makocchi-git/cadvisor_crisocket
kubelet: fixes cadvisor internal error
2019-01-10 14:42:30 -08:00
Yu-Ju Hong
f8ab673b8f Remove the rkt deprecation warning
The feature was deprecated 1.10. Remove the warning.
2019-01-10 13:27:23 -08:00
Kubernetes Prow Robot
a6d7527ac3
Merge pull request #72280 from verb/kubelet-no-containertype
Remove container type from kubelet runtime labels
2019-01-10 01:18:41 -08:00
Kubernetes Prow Robot
0dbc99719a
Merge pull request #72076 from derekwaynecarr/pid-limiting
SupportPodPidsLimit feature beta with tests
2019-01-10 01:18:30 -08:00
Kubernetes Prow Robot
d88994cf9f
Merge pull request #71306 from ping035627/k8s-181121
fix some typos
2019-01-09 09:06:31 -08:00
Derek Carr
bce9d5f204 SupportPodPidsLimit feature beta with tests 2019-01-09 10:50:59 -05:00
Jeff Grafton
11f248fd35 Remove deprecated automanaged tag from some go rules 2019-01-08 14:40:57 -08:00
Kubernetes Prow Robot
a1e46a9d43
Merge pull request #71560 from appvia/hostname-change-noop
Don't log a warning to override hostname if there's no change.
2019-01-08 13:41:42 -08:00
danielqsj
8092904e3c Cleanup PathExists callers 2019-01-08 22:16:11 +08:00
danielqsj
7aef2efe5b Mark deprecated in related dockershim metrics 2019-01-08 15:24:44 +08:00
gaorong
545aca3d18 fix some typos 2019-01-08 12:46:05 +08:00
Kubernetes Prow Robot
998167767f
Merge pull request #71764 from linxiulei/fix_cri_pullimage
Pass PodSandboxConfig to PullImage method in CRI
2019-01-07 15:24:48 -08:00
James Sturtevant
c6777f9009 Remove newline from kernal version on windows node 2019-01-07 21:20:26 +00:00
Di Xu
e1a854b839 remove stale OutOfDisk condition from kubelet side 2019-01-06 21:37:52 +08:00
Kubernetes Prow Robot
89efdb4173
Merge pull request #71889 from WanLinghao/function_clean_kubelet
Clean unused function in pkg/kubelet/kubelet.go
2019-01-02 23:35:38 -08:00
Kubernetes Prow Robot
d582682b7f
Merge pull request #72312 from Pingan2017/correct-ready-condition
correctly update pod ready condition
2019-01-02 16:51:50 -08:00
Kubernetes Prow Robot
e76322eab4
Merge pull request #70826 from kolyshkin/shareable-ipc-sandbox
Use shareable IPC for sandbox container
2018-12-31 21:18:23 -08:00
Kubernetes Prow Robot
710b87617c
Merge pull request #71797 from SenXuDC/SenXuDC-patch-1
fix typo replacee -> replace
2018-12-31 07:19:12 -08:00
Kubernetes Prow Robot
68451f301b
Merge pull request #72291 from msau42/fix-subpath-orphan
Fix subpath issues with orphaned pod cleanup
2018-12-26 19:48:27 -08:00
Michelle Au
8724b46623 Check for volume-subpaths directory in orpahaned pod cleanup 2018-12-26 10:49:28 -08:00
makocchi-git
4fe1b6f33f
Add "unix://" prefix for CrioSocket 2018-12-26 23:08:41 +09:00
danielqsj
65aec219c8 Move docker metrics to histogram metrics 2018-12-26 16:00:38 +08:00
danielqsj
94d1050303 Change docker metrics to conform guideline 2018-12-26 15:58:04 +08:00
Pingan2017
1148ecfaf6 correctly update pod ready condition 2018-12-25 09:36:37 +08:00
Lee Verberne
f6084f7eab Remove container type from kubelet runtime labels
We've changed the Ephemeral Containers API, and container type will no
longer be required. Since this is the only feature using it, remove it.

This reverts commit ba6f31a6c6.
2018-12-21 15:47:47 +01:00
wangqingcan
b82a1d4600 Move predicate types from algorithm to predicates 2018-12-21 22:26:47 +08:00
Kubernetes Prow Robot
ea6acb34d1
Merge pull request #65132 from stewart-yu/stewart-removeunusedtodo
remove unuse todo
2018-12-19 06:51:29 -08:00
Kubernetes Prow Robot
cd02e752bf
Merge pull request #71509 from cofyc/fix71438
Fix device mountable volume names in DSW
2018-12-19 00:51:52 -08:00
Dan Williams
2e339188ed OWNERS: add label:sig/network to a bunch of places 2018-12-19 00:00:02 -06:00
Kubernetes Prow Robot
5554a446a9
Merge pull request #65632 from cofyc/vendor
Vendor github.com/prometheus/client_golang/prometheus/testutil package
2018-12-18 21:27:38 -08:00
Kubernetes Prow Robot
f039076116
Merge pull request #72135 from tallclair/rc-logs
Surface selected pod RuntimeHandler in Kubelet logs
2018-12-18 19:10:25 -08:00
Kubernetes Prow Robot
4e8bea4bb7
Merge pull request #71194 from yanghaichao12/dev1119-1
Fix comment error of 'cpuManagerStateFileName'
2018-12-17 20:28:19 -08:00
Tim Allclair
e27f7ef151 Surface selected pod RuntimeHandler in Kubelet logs 2018-12-17 16:36:47 -08:00
Kubernetes Prow Robot
2791fb7dc5
Merge pull request #72067 from dashpole/pod_start_time
Use Pod.Status.StartTime as pod's cgroup start time in summary API
2018-12-14 15:47:01 -08:00
David Ashpole
70a7fdda02 use Pod.Status.StartTime as pod's cgroup start time in summary API 2018-12-14 14:26:55 -08:00
Kubernetes Prow Robot
61ed586bb9
Merge pull request #71297 from Pingan2017/event-kill-container
correct the event msg of kill container
2018-12-13 18:18:58 -08:00
Kubernetes Prow Robot
ed73acdc98
Merge pull request #71029 from yanghaichao12/dev1114
Fix comment error of the struct 'UserDefinedMetric'
2018-12-12 17:18:54 -08:00
Yecheng Fu
67552a8f6e Add unit test to verify generated volume names. 2018-12-12 13:03:21 +08:00
yuexiao-wang
7b6f60f085 modify BUILD
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2018-12-11 11:22:06 +08:00
yuexiao-wang
f3353c358d [scheduler cleanup phase 2]: Rename to
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2018-12-11 11:21:12 +08:00
WanLinghao
ea456bb365 Clean unused function in pkg/kubelet/kublet.go 2018-12-09 14:30:36 +08:00
Eric Lin
5e2ed11cf7 Pass PodSandboxConfig to PullImage method in CRI
Fix #71745
2018-12-07 10:10:22 +08:00
houjun
a437b797ec Remove two kubelet event reasons 2018-12-07 09:29:02 +08:00
SenXuDC
48c715515e
Update fsstore.go 2018-12-06 23:01:52 +08:00
Kubernetes Prow Robot
1bafa3922f
Merge pull request #71687 from WanLinghao/cadvisor_comment_remove
Update a comment in cadvisor boot function
2018-12-05 20:31:41 -08:00
David Ashpole
54e581930c fix node and kubelet start times 2018-12-05 15:07:52 -08:00
Kubernetes Prow Robot
33a37702a6
Merge pull request #64280 from dashpole/eviction_pod_metrics
Use memory metrics from the pod cgroup for eviction ranking
2018-12-04 08:26:03 -08:00
Kubernetes Prow Robot
6cea9266dc
Merge pull request #71116 from xichengliudui/fix18111602
Fix typo: trus->true
2018-12-03 21:27:08 -08:00
WanLinghao
08a4ee006e Update a comment in cadvisor boot function 2018-12-04 11:29:58 +08:00
Kubernetes Prow Robot
c7598e8844
Merge pull request #71617 from RobertKrawitz/branch-issue71614
Issue 71614: Protect log message maps
2018-12-03 14:03:38 -08:00
Kubernetes Prow Robot
dc9261bc3b
Merge pull request #71174 from smarterclayton/debug_kubeadm
Restore bootstrap in the background with fix to preserve kubeadm behavior
2018-12-03 05:49:57 -08:00
houjun
5c6eb3a153 Fix an error in comment 2018-12-03 11:35:07 +08:00
Yecheng Fu
ccb66066a9 vendor github.com/prometheus/client_golang/prometheus/testutil package 2018-12-02 10:25:50 +08:00
Yecheng Fu
5ada29ac16 Rename GetUniqueVolumeNameForNonAttachableVolume to GetUniqueVolumeNameFromSpecWithPod 2018-12-01 12:25:32 +08:00
Yecheng Fu
f5642bbe88 Fix device mountable volume names in DSW 2018-12-01 12:25:14 +08:00
Robert Krawitz
bc091be66a Issue 71614: Protect log message maps 2018-11-30 18:04:08 -05:00
k8s-ci-robot
96516bd961
Merge pull request #71263 from ZYecho/fix-spellings
fix typo: namspace -> namespace
2018-11-30 06:33:50 -08:00
k8s-ci-robot
79e5cb2cb7
Merge pull request #71302 from liggitt/verify-unit-test-feature-gates
Split mutable and read-only access to feature gates, limit tests to readonly access
2018-11-29 21:45:12 -08:00
k8s-ci-robot
af6bf1e436
Merge pull request #70645 from changyaowei/node_ephemeral-storage
Fix bug: when kubelet restart, the ephemeral-storage in node status upgrade to 0
2018-11-29 21:44:53 -08:00
stewart-yu
5f11d089b7 remove unused todo in kubelet_pods.go 2018-11-30 12:51:46 +08:00
k8s-ci-robot
409bfc4337
Merge pull request #71047 from pivotal-k8s/bump-k8s-utils
Bump k8s.io/uitls to 8e7ff06
2018-11-29 11:17:08 -08:00
Kashif Saadat
8974b4f00b Don't log a warning to override hostname if there's no change. 2018-11-29 11:41:43 +00:00
k8s-ci-robot
7ae97bcd0b
Merge pull request #66308 from RobertKrawitz/bug-1581483
Reduce logspam for crash looping containers
2018-11-29 02:00:54 -08:00
k8s-ci-robot
e5326f22ea
Merge pull request #70471 from xichengliudui/fix181031
Fix some typos
2018-11-29 00:48:16 -08:00
k8s-ci-robot
d0ac922996
Merge pull request #70440 from nikhita/add-license-headers
Add license header to non-generated proto files
2018-11-29 00:48:05 -08:00
Kir Kolyshkin
1dca64fffd Use shareable IPC for sandbox container
Currently, Docker make IPC of every container shareable by default,
which means other containers can join it's IPC namespace. This is
implemented by creating a tmpfs mount on the host, and then
bind-mounting it to a container's /dev/shm. Other containers
that want to share the same IPC (and the same /dev/shm) can also
bind-mount the very same host's mount.

Now, since https://github.com/moby/moby/commit/7120976d7
(https://github.com/moby/moby/pull/34087) there is a possiblity
to have per-daemon default of having "private" IPC mode,
meaning all the containers created will have non-shareable
/dev/shm.

For shared IPC to work in the above scenario, we need to
explicitly make the "pause" container's IPC mode as "shareable",
which is what this commit does.

To test: add "default-ipc-mode: private" to /etc/docker/daemon.json,
try using kube as usual, there should be no errors.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2018-11-28 11:11:10 -08:00
Robert Krawitz
3373fcf0fc Reduce logspam for crash looping containers 2018-11-28 10:48:52 -05:00
Vladimir Vivien
e86bdc7989 Forces fsnotify CREATE and REMOVE to occur serially 2018-11-26 22:11:47 -05:00
k8s-ci-robot
205eaee0e5
Merge pull request #71145 from gnufied/test-mounted-detach
Fix volume detach while mount in progress
2018-11-22 23:27:48 -08:00
k8s-ci-robot
12e5eb7dc9
Merge pull request #71011 from sigma/pr/fix-inotify
replace golang.org/x/exp/inotify with standalone library
2018-11-22 18:07:51 -08:00
saad-ali
a7c5582bba Permit use of deprecated dir in device plugin. 2018-11-21 18:37:31 -08:00
saad-ali
8f666d9e41 Modify kubelet watcher to support old versions
Modify kubelet plugin watcher to support older CSI drivers that use an
the old plugins directory for socket registration.
Also modify CSI plugin registration to support multiple versions of CSI
registering with the same name.
2018-11-21 18:37:31 -08:00
PingWang
9d541911bb fix some typos
Signed-off-by: PingWang <wang.ping5@zte.com.cn>

fix typo

Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2018-11-22 08:27:14 +08:00
Jordan Liggitt
2498ca7606 drop VerifyFeatureGatesUnchanged 2018-11-21 11:51:33 -05:00
Jordan Liggitt
70ad4dff48 Fix unit tests calling SetFeatureGateDuringTest incorrectly 2018-11-21 11:51:33 -05:00
Jordan Liggitt
4dca07ef7e Fixup incorrect use of DefaultFeatureGate.Set in tests 2018-11-21 11:51:33 -05:00
Pingan2017
75d9a7bebd correct the event msg of kill container 2018-11-21 10:59:21 +08:00
Hemant Kumar
d2b6e30143 Fix bug with volume getting marked as not in-use with pending op
Add test for verifying volume detach
2018-11-20 11:58:47 -05:00
zhangyue
596a20ca8a fix typo: namspace -> namespace
Signed-off-by: zhangyue <zy675793960@yeah.net>
2018-11-20 21:47:27 +08:00
Jing Xu
562d0fea53 Handle failed attach operation leave uncertain volume attach state
This commit adds the unit tests for the PR. It also includes some files
that are affected by the function name changes.
2018-11-19 17:21:49 -08:00
yanghaichao12
982d1778f8 Fix comment error of 'cpuManagerStateFileName' 2018-11-19 08:07:04 -05:00
Clayton Coleman
fde87329cb
bootstrap: Use kubeconfig contents as seed for cert dir if necessary
kubeadm uses certificate rotation to replace the initial high-power
cert provided in --kubeconfig with a less powerful certificate on
the masters. This requires that we pass the contents of the client
config certData and keyData down into the cert store to populate
the initial client.

Add better comments to describe why the flow is required. Add a test
that verifies initial cert contents are written to disk. Change
the cert manager to not use MustRegister for prometheus so that
it can be tested.
2018-11-17 19:52:12 -05:00
Clayton Coleman
486577df17 Restore "Make bootstrap client cert loading part of rotation""
This reverts the revert of commit 3464222267.
2018-11-17 13:44:58 -05:00
Clayton Coleman
3464222267
Revert "Make bootstrap client cert loading part of rotation"
This reverts commit 0af19875ad.

Revert "Ensure the bootstrap rotation code is tested by forcing rotation"

This reverts commit de293b2d7d.
2018-11-17 10:24:39 -05:00
k8s-ci-robot
e3420cc46f
Merge pull request #70494 from RenaudWasTaken/pluginwatcher
Ignore non socket files in the kubelet plugin watcher
2018-11-16 22:46:42 -08:00
k8s-ci-robot
3be3510814
Merge pull request #69890 from smarterclayton/bootstrap_retry
Make bootstrap client cert loading part of rotation
2018-11-16 22:46:33 -08:00
k8s-ci-robot
ec2e767e59
Merge pull request #71167 from msau42/block-beta
Promote raw block volume support to beta
2018-11-16 20:28:03 -08:00
k8s-ci-robot
df8ad8eae1
Merge pull request #71166 from Random-Liu/fix-kubelet-panic
Fix kubelet panic.
2018-11-16 20:27:53 -08:00
Clayton Coleman
de293b2d7d
Ensure the bootstrap rotation code is tested by forcing rotation
Expose both a Stop() method (for cleanup) and a method to force
cert rotation, but only expose Stop() on the interface.

Verify that we choose the correct client.
2018-11-16 21:50:52 -05:00
Clayton Coleman
0af19875ad
Make bootstrap client cert loading part of rotation
Ensure that bootstrap+clientcert-rotation in the Kubelet can:

1. happen in the background so that static pods aren't blocked by bootstrap
2. collapse down to a single call path for requesting a CSR
3. reorganize the code to allow future flexibility in retrieving bootstrap creds

Fetching the first certificate and later certificates when the kubelet
is using client rotation and bootstrapping should share the same code
path. We also want to start the Kubelet static pod loop before
bootstrapping completes. Finally, we want to take an incremental step
towards improving how the bootstrap credentials are loaded from disk
(potentially allowing for a CLI call to get credentials, or a remote
plugin that better integrates with cloud providers or KSMs).

Reorganize how the kubelet client config is determined. If rotation is
off, simplify the code path. If rotation is on, load the config
from disk, and then pass that into the cert manager. The cert manager
creates a client each time it tries to request a new cert.

Preserve existing behavior where:

1. bootstrap kubeconfig is used if the current kubeconfig is invalid/expired
2. we create the kubeconfig file based on the bootstrap kubeconfig, pointing to
   the location that new client certs will be placed
3. the newest client cert is used once it has been loaded
2018-11-16 21:50:26 -05:00
k8s-ci-robot
f877b2257a
Merge pull request #71074 from jsafrane/volume-manager-races
Fix race between MountVolume and UnmountDevice
2018-11-16 18:22:14 -08:00
Renaud Gaubert
1a3fbf1f13 Update e2e tests to include CSI 2018-11-17 01:52:57 +01:00
Renaud Gaubert
229418f261 Update pluginwatcher to ignore CSI metadata dir and non socket files 2018-11-17 01:51:00 +01:00
Lantao Liu
59e80cdac3 Fix kubelet panic.
Signed-off-by: Lantao Liu <lantaol@google.com>
2018-11-16 16:21:57 -08:00
Matthew Wong
dd517c9ff2 Update all tests to account for BlockVolume enabled by default 2018-11-16 13:38:59 -05:00
Jordan Liggitt
733dd9dfd7 Add tests to ensure feature gate changes don't escape kubelet/scheduler packages 2018-11-16 10:52:53 -05:00
Jordan Liggitt
de8bf9b63d fix scheduler and kubelet unit tests leaking feature flag changes 2018-11-16 10:52:53 -05:00
Jordan Liggitt
248d661327 Add tests to ensure storage feature gate changes don't escape packages 2018-11-16 10:52:53 -05:00
Michelle Au
fd64c08240 Fix storage feature gate test setting 2018-11-16 10:49:40 -05:00
k8s-ci-robot
92fe9d9491
Merge pull request #71081 from vladimirvivien/kubelet-plugin-watcher-ga-fix
Kubelet Plugin Registration GA migration fix
2018-11-16 05:13:18 -08:00
Jan Safranek
5283537401 Fixed clearing of devicePath after UnmountDevice
UnmountDevice must not clear devicepath, because such devicePath
may come from node.status (e.g. on AWS) and subsequent MountDevice
operation (that may be already enqueued) needs it.
2018-11-16 13:24:42 +01:00
chendt.fnst
c76a34bd25 Fix typos.
**What type of PR is this?**
/kind cleanup

**What this PR does / why we need it**:
Fix typos for stats_provider_test.go

**Which issue(s) this PR fixes** *(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged)*:

**Special notes for your reviewer**:

**Release note**:
```
NONE
```
2018-11-16 17:03:11 +08:00
k8s-ci-robot
e4ee887121
Merge pull request #69303 from appian/host_aliases_on_same_line
Write HostAliases aliases on same line per host IP
2018-11-15 14:59:52 -08:00
Vladimir Vivien
b195396154 Kubelet Plugin Registration v1 update fix 2018-11-15 17:40:35 -05:00
k8s-ci-robot
7b4d4bc8ac
Merge pull request #70508 from dashpole/pod_resources_socket
Add socket-based kubelet pod resources API.
2018-11-15 13:43:44 -08:00
k8s-ci-robot
504466c4e6
Merge pull request #68267 from liggitt/node-label-update
Limit kubelets from updating their own labels when NodeRestriction is enabled
2018-11-15 11:11:02 -08:00
David Ashpole
630cb53f82 add kubelet grpc server for pod-resources service 2018-11-15 09:43:20 -08:00
David Ashpole
aa9ba976ac generate go client for kubelet podresources API 2018-11-15 09:38:59 -08:00
David Ashpole
3ece501f6b add kubelet pod-resources API definition 2018-11-15 09:38:59 -08:00
Hannes Hörl
0d4b5c98f8 Bump k8s.io/uitls to 8e7ff06
The reason for the bump is the new functionality of the
k8s.io/utils/exec package which allows
- to get a hold of the process' std{out,err} as `io.Reader`s
- to `Start` a process and `Wait` for it

This should help on addressing #70890 by allowing to wrap std{out,err}
of the process to be wrapped with a `io.limitedReader`.

It also updates
- k8s.io/kubernetes/pkg/probe/exec.FakeCmd
- k8s.io/kubernetes/pkg/kubelet/prober.execInContainer
- k8s.io/kubernetes/cmd/kubeadm/app/phases/kubelet.fakeCmd
to implement the changed interface.

The dependency on 'k8s.io/utils/pointer' to the new version has also
been bumped in some staging repos:
- apiserver
- kube-controller-manager
- kube-scheduler
2018-11-15 13:25:12 +00:00
xichengliudui
68f9dacabf Fix typo: trus->true 2018-11-15 01:36:15 -05:00
k8s-ci-robot
843a67b215
Merge pull request #70559 from vladimirvivien/kubelet-plugin-watcher-ga
Graduate Kubelet plugin registration/watcher to GA
2018-11-14 20:35:08 -08:00
k8s-ci-robot
68fb529ec1
Merge pull request #70969 from awly/node-csr-move
Move csr.RequestNodeCertificate into kubelet bootstrap package
2018-11-14 11:37:58 -08:00
yanghaichao12
529d5a5c50 Fix comment error of the struct 'UserDefinedMetric' 2018-11-14 11:05:06 -05:00
Vladimir Vivien
f16d3c56f6 Kubelet plugin watcher update to v1 2018-11-14 05:46:27 -05:00
Vladimir Vivien
668c532dda Pluginregistration package updat to v1 2018-11-14 05:46:19 -05:00
Jordan Liggitt
9fb2dcad5e Limit kubelets from updating their own labels 2018-11-13 23:48:47 -05:00
k8s-ci-robot
d3a21cf5a2
Merge pull request #70848 from cofyc/fix64590
Improve usability of CSI plugin metrics
2018-11-13 19:45:43 -08:00
Yann Hodique
4d9c01d747 replace golang.org/x/exp/inotify with standalone library
The inotify code was removed from golang.org/x/exp several years ago. Therefore
importing it from that path prevents downstream consumers from using any module
that makes use of more recent features of golang.org/x/exp.

This change is a followup to google/cadvisor#2060 which was merged with #70889

This fixes #68478
2018-11-13 14:51:40 -08:00
Andrew Lytvynov
5c073abfe1 Move csr.RequestNodeCertificate into kubelet bootstrap package
This func is only used by the kubelet and there's no need to pollute
client-go API with it.
2018-11-13 10:27:51 -08:00
Pingan2017
fae9bae1aa correct log output when specifed delete gracePeriod < minimumGracePeriodInSeconds 2018-11-13 15:20:24 +08:00
Frederic Branczyk
4724fca678
pkg/kubelet/stats: Add container log size metric 2018-11-12 22:04:50 +01:00
yanghaichao12
70c418035f correct some spelling wrong in DevicePlugin files 2018-11-12 04:44:51 -05:00
liucimin
5b78dc8b67 fix_the_checkpoint_no_hostip_bug 2018-11-12 14:41:04 +08:00
Bill Warshaw
ab507dfc1f Write HostAliases aliases on same line per host IP
* change HostAliases to put all aliases for an IP
  on the same line in /etc/hosts rather than writing
  one line per IP-alias pair
* having multiple entries in /etc/hosts for the same IP
  causes issues with DNS resolution for some software
* https://unix.stackexchange.com/questions/102660/hosts-file-is-it-incorrect-to-have-the-same-ip-address-on-multiple-lines
2018-11-11 20:54:52 -05:00
Yecheng Fu
dfe0a08f05 Improve usability of CSI plugin metrics
Use full qualified plugin name if volume spec is present.
2018-11-12 09:21:49 +08:00
Davanum Srinivas
e558e291d1
s/glog/klog/ - keep up with master
Change-Id: I27ff0545bc456ed8c0900cfeb90555f9ab7ae235
2018-11-10 07:57:01 -05:00
Davanum Srinivas
954996e231
Move from glog to klog
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
  * github.com/kubernetes/repo-infra
  * k8s.io/gengo/
  * k8s.io/kube-openapi/
  * github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods

Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135
2018-11-10 07:50:31 -05:00
k8s-ci-robot
be71fbe511
Merge pull request #70034 from wangzhen127/cleanup-node-lease
Delete node lease if the corresponding node is deleted
2018-11-09 23:01:05 -08:00
k8s-ci-robot
bb4fbc2770
Merge pull request #70821 from RenaudWasTaken/fix-pluginwatcher-panic
Pluginwatcher: Fix panic on failed startup
2018-11-09 20:25:41 -08:00
Michael Taufen
1089cb629f Don't compare interface values in dynamic config controller
This previously caused a panic when moving lastKnownGood between two
non-nil values, because we were comparing the interface wrapper instead
of comparing the NodeConfigSources. The case of moving from one non-nil
lastKnownGood config to another doesn't appear to be tested by the e2e
node tests. I added a unit test and an e2e node test to help catch bugs
with this case in the future.
2018-11-09 10:45:12 -08:00
Renaud Gaubert
11fef8ba3b Pluginwatcher should prevent kubelet from starting if we cannot watch the plugin root 2018-11-09 00:20:22 +00:00
Renaud Gaubert
3a467ff44b Pluginwatcher: log error when walking fs rather than fail 2018-11-08 23:22:07 +00:00
Renaud Gaubert
3f5039a2d1 Fix pluginwatcher panic on failed startup 2018-11-08 23:22:07 +00:00
Dan Winship
863c6ca241 Fix a CloudProvider-vs-nodeIP edge case 2018-11-08 10:34:00 -05:00
Zhen Wang
b8b12796fc Delete node lease if the corresponding node is deleted 2018-11-07 20:31:47 -08:00
k8s-ci-robot
16d0992534
Merge pull request #69753 from wangzhen127/diff-node-status
Update kubelet node status report logic with node lease feature
2018-11-07 20:26:45 -08:00
Zhen Wang
98fc4a107a Update kubelet node status report logic with node lease feature
When node lease feature is enabled, kubelet reports node status to api server
only if there is some change or it didn't report over last report interval.
2018-11-07 11:59:42 -08:00
k8s-ci-robot
f1bf9bef5c
Merge pull request #70678 from dashpole/fix_cgroup_manager
Fix slice sharing bug in cgroup manager
2018-11-07 11:36:41 -08:00
k8s-ci-robot
0aba557741
Merge pull request #70600 from liggitt/sig-auth-subprojects
Add owners/approvers aliases for sig-auth subprojects
2018-11-06 17:55:07 -08:00
Christian Haeusler
9e8df0f82a Be more persistent when removing images 2018-11-06 17:01:51 +01:00
Christian Haeusler
5f904044eb Use test table for TestRemoveImage 2018-11-06 14:37:52 +01:00
Christian Haeusler
8f266af060 Assert call details in docker remove image tests 2018-11-06 14:32:39 +01:00
k8s-ci-robot
f40a5d1155
Merge pull request #67435 from feiskyer/dns-cap
Add dns capabilities for Windows CNI plugins
2018-11-06 02:54:22 -08:00
Jordan Liggitt
360a890c58 serviceaccount subproject approvers/reviewers 2018-11-06 00:57:39 -05:00
Jordan Liggitt
4ebe084376 certificates subproject approvers/reviewers 2018-11-06 00:57:38 -05:00
k8s-ci-robot
160ebd3af2
Merge pull request #70162 from MIBc/commenting-error
Replace resyncTicker with syncTicker in comment
2018-11-05 19:04:25 -08:00
David Ashpole
d4f6ae3615 fix slice sharing bug in cgroup manager 2018-11-05 17:42:42 -08:00
changyaowei
3f422d9784 if ephemeral-storage not exist in initialCapacity, don't upgrade ephemeral-storage in node status 2018-11-05 17:32:34 +08:00
k8s-ci-robot
bb07b9b410
Merge pull request #70465 from krmayankk/runasgroup
add more ut for runasuser/runasusername
2018-11-02 16:44:01 -07:00
k8s-ci-robot
69f5f5eff2
Merge pull request #67978 from WanLinghao/token_controller_improve
remove idle tokens in kubelet token manager
2018-11-02 12:28:47 -07:00
k8s-ci-robot
77fd16e0e7
Merge pull request #69266 from SataQiu/fix-20180930
Remove the redundant space
2018-11-02 08:38:37 -07:00
k8s-ci-robot
08351b6d6d
Merge pull request #68230 from bertinatto/remove_mount_propagation_gate
Remove mount propagation feature gate
2018-11-02 01:13:43 -07:00
SataQiu
c9bc625428 Remove the redundant space 2018-11-02 15:45:11 +08:00
k8s-ci-robot
610bcbb55e
Merge pull request #70149 from anfernee/fix-70014
cni: rate and limit must be both set
2018-11-01 22:16:26 -07:00
k8s-ci-robot
3b66adb8bc
Merge pull request #68562 from RenaudWasTaken/pluginwatcher-doc
Update pluginwatcher doc
2018-11-01 17:31:29 -07:00
qingsenLi
3ac9b27b2a remove repetitive word in annotation 2018-11-02 00:54:41 +08:00
Pengfei Ni
32cf0a90c6 Update bazel build 2018-11-01 14:15:55 +08:00
Pengfei Ni
946aff8847 Add dns capabilities to CNI for windows containers 2018-11-01 13:31:45 +08:00
k8s-ci-robot
ede4388000
Merge pull request #69313 from sjenning/crio-socket-update
kubelet: fix cri-o when using unix prefix
2018-10-31 11:50:13 -07:00
Fabio Bertinatto
6c9b854542 Remove mount propagation feature gate logic 2018-10-31 15:51:37 +01:00
xichengliudui
8477389e7c Fix some types
Fix some typos
2018-10-31 04:05:25 -04:00
Mayank Kumar
8d6624042c add more ut for runasuser/runasusername 2018-10-30 22:59:11 -07:00
k8s-ci-robot
5a8f831964
Merge pull request #69960 from feiskyer/win-allocatable
Enable allocatable support for Windows nodes
2018-10-30 21:07:41 -07:00
k8s-ci-robot
63a7e06eb5
Merge pull request #69484 from ddebroy/ddebroy-winpipe1
Correctly handle named pipe host mounts for Windows
2018-10-30 16:15:57 -07:00
k8s-ci-robot
45f6845a59
Merge pull request #69008 from sjenning/better-pleg-msg
improve pleg error msg when it has never been successful
2018-10-30 16:15:43 -07:00
Nikhita Raghunath
6285db6576 Add license header to non-generated proto files 2018-10-30 22:29:07 +05:30
Pengfei Ni
856c83e637 Enable allocatable support for Windows nodes 2018-10-30 11:17:23 +08:00
k8s-ci-robot
628e44647f
Merge pull request #70111 from Pingan2017/OOD-node
remove OutOfDisk condition in kubelet
2018-10-29 14:38:32 -07:00
Deep Debroy
5da66fd65f Address code review comments
Signed-off-by: Deep Debroy <ddebroy@docker.com>
2018-10-27 00:31:16 -07:00
Deep Debroy
119e2a1d43 Address CR comments and add more tests
Signed-off-by: Deep Debroy <ddebroy@docker.com>
2018-10-26 00:29:27 -07:00
Deep Debroy
2e19f70922 Improve comments for when hostPath in Windows needs to be transformed
Signed-off-by: Deep Debroy <ddebroy@docker.com>
2018-10-25 13:58:16 -07:00
Lv Jiawei
06a3391b0c
Replace resyncTicker with syncTicker in commenting
The variable resyncTicker in commenting is out of date. It is replaced with syncTicker.
2018-10-24 10:47:55 +08:00
k8s-ci-robot
c0974d7399
Merge pull request #69516 from feiskyer/win-npipe
Switch windows runtime endpoints to npipe
2018-10-23 16:44:41 -07:00
Yongkun Gui
b573cce595 cni: rate and limit must be both set
Fix #70014
2018-10-23 16:44:07 -07:00
k8s-ci-robot
dad07683b1
Merge pull request #69013 from ibrasho-forks/switch-to-http.Error
Update usages of http.ResponseWriter.WriteHeader to use http.Error
2018-10-23 15:31:55 -07:00
k8s-ci-robot
fcf11b47fc
Merge pull request #69677 from knightXun/patch-8
remove unnecessary time type
2018-10-22 23:59:14 -07:00
Pingan2017
36997bae77 remove OutOfDisk condition in kubelet 2018-10-23 11:01:26 +08:00
WanLinghao
060f3a84d9 trivial fix 2018-10-23 10:23:31 +08:00
Mike Danese
e5227216c0 rebase authenticators onto new interface. 2018-10-22 10:16:59 -07:00
Pengfei Ni
053b71d5d2 Switch windows runtime endpoints to npipe 2018-10-22 21:28:36 +08:00
WanLinghao
7df1078d6f Currently, kubelet token mamanger only clean tokens who are expired. For tokens with long expiration, if the pod who creates them got killed or evicted, those tokens may stay in kubelet's memory until they are expired. It's bad for kubelet and node itself. After this patch, each time a pod was deleted, token manager would clean related tokens. 2018-10-22 09:32:59 +08:00
k8s-ci-robot
4339a70dfa
Merge pull request #68841 from krzysztof-jastrzebski/cpuandmemeory2
Optimizes calculating stats when only CPU and Memory stats are returned from Kubelet stats/summary http endpoint.
2018-10-18 16:41:07 -07:00
k8s-ci-robot
30a06af453
Merge pull request #69671 from mooncak/fix_kubelet
Delete duplicated words in logs
2018-10-17 11:57:12 -07:00
k8s-ci-robot
e85cb406eb
Merge pull request #65567 from ceshihao/pod_status_after_eviction
Pod status should contain ContainerStatuses if deadline exceeded
2018-10-17 11:56:41 -07:00
k8s-ci-robot
c68ee22156
Merge pull request #69613 from Pingan2017/runtimeError
improve err msg for runtimeError when the uptime of runtime never update
2018-10-15 13:52:51 -07:00
Ibrahim AshShohail
2fb3ba71f1
Update usages of http.ResponseWriter.WriteHeader to use http.Error
Signed-off-by: Ibrahim AshShohail <me@ibrasho.com>
2018-10-14 05:58:00 +03:00
Deep Debroy
f8a69f1086 Broaden scope of host path types to skip processing in Windows
Signed-off-by: Deep Debroy <ddebroy@docker.com>
2018-10-12 19:57:08 -07:00
tanshanshan
b7c7966b9f Move pkg/scheduler/algorithm/well_known_labels.go out 2018-10-13 09:10:00 +08:00
knight
5ed6da9d9e
remove unnecessary time type
remove unnecessary time type, improve volume_manager.go
2018-10-11 21:06:46 +08:00
mooncake
1e6602d6d8 Fixup log
Signed-off-by: mooncake <xcoder@tenxcloud.com>
2018-10-11 19:14:36 +08:00
k8s-ci-robot
a8c7a3fd5e
Merge pull request #69322 from jpbetz/etcd-client-3.3.9
Update etcd client to 3.3 for 1.13
2018-10-10 17:56:46 -07:00
Pingan2017
a5824043be improve err msg for runtimeError 2018-10-10 15:19:48 +08:00
k8s-ci-robot
85a8f97cb1
Merge pull request #68582 from jonfriesen/master
Fixes golint for pkg/probe
2018-10-09 21:14:46 -07:00
k8s-ci-robot
9ba74cb5b5
Merge pull request #69251 from yue9944882/bugfix/pass-handler-context-to-nodegetter
Pass server handler context to storage nodeGetter
2018-10-09 02:14:51 -07:00
Joe Betz
4263c75211 Update etcd client to 3.3.9 2018-10-08 13:34:34 -07:00
k8s-ci-robot
0f17e9ade6
Merge pull request #69386 from cblecker/go-1.11
Update to go1.11.1
2018-10-05 17:35:51 -07:00
Deep Debroy
b4bb5dd430 Correctly handle named pipe host mounts for Windows
Signed-off-by: Deep Debroy <ddebroy@docker.com>
2018-10-05 16:46:04 -07:00
Christoph Blecker
0d63b55944
fix vet error in pkg/kubelet/kubelet_test.go
pkg/kubelet/kubelet_test.go:1573: *k8s.io/kubernetes/pkg/kubelet/container/testing.FakePod composite literal uses unkeyed fields
2018-10-05 15:52:44 -07:00
Christoph Blecker
97b2992dc1
Update gofmt for go1.11 2018-10-05 12:59:38 -07:00
Walter Fender
f3f46d5f5a Moving the cloudprovider interface to staging.
Individual implementations are not yet being moved.
Fixed all dependencies which call the interface.
Fixed golint exceptions to reflect the move.
Added project info as per @dims and
https://github.com/kubernetes/kubernetes-template-project.
Added dims to the security contacts.
Fixed minor issues.
Added missing template files.
Copied ControllerClientBuilder interface to cp.
This allows us to break the only dependency on K8s/K8s.
Added TODO to ControllerClientBuilder.
Fixed GoDeps.
Factored in feedback from JustinSB.
2018-10-04 14:41:20 -07:00
k8s-ci-robot
e03886c34a
Merge pull request #68297 from leakingtapan/golint-fix-gce-pd
fix golint for pkg/volume/gce_pd
2018-10-03 13:01:34 -07:00
k8s-ci-robot
823fca1d93
Merge pull request #69159 from dcbw/cni-log-messages
network/cni: more informative log messages
2018-10-02 19:24:49 -07:00
Dan Williams
6cfe116375 network/cni: more informative log messages
Log details about the pod name, namespace, sandbox ID, and result.
Remove some useless messages that are now redundant.
2018-10-01 21:01:40 -05:00
Seth Jennings
7a12ac10be fix cri-o when using unix prefix 2018-10-01 17:07:56 -05:00
Seth Jennings
5eab76934b improve pleg error msg when it has never been successful 2018-10-01 16:41:01 -05:00
k8s-ci-robot
3cef522c9a
Merge pull request #69258 from chestack/gclog
Fix the confusing kubelet logs about imageGC
2018-10-01 13:27:31 -07:00
Cheng Pan
7d68fd00e6 fix golint for pkg/volume/gce_pd 2018-10-01 18:58:30 +00:00
zuoxiu.jm
3370907fe5 pass handler ctx to node rest nodegetter 2018-10-01 09:27:18 -04:00
k8s-ci-robot
c847a1f04b
Merge pull request #68462 from knightXun/dns
refactor kubelet/network/dns
2018-10-01 00:30:04 -07:00
chestack
613f572caf Fix the confusing kubelet logs about imageGC 2018-09-29 18:09:37 +08:00
k8s-ci-robot
165faaaddf
Merge pull request #68602 from Pingan2017/internalerr
remove internalError in runtimeStates , not set anywhere
2018-09-28 15:47:06 -07:00
k8s-ci-robot
6c1688712d
Merge pull request #68181 from Pingan2017/golint
fix golint failures - some packages under /pkg/kubelet
2018-09-28 01:56:26 -07:00
Derek Carr
5f473bc8e1 Kubelet should not create a new pod sandbox if all containers are done 2018-09-27 14:21:50 -04:00
k8s-ci-robot
05196d752b
Merge pull request #69043 from deads2k/auth-01-logging
make sure that log includes user information
2018-09-27 07:18:31 -07:00
k8s-ci-robot
12787275f4
Merge pull request #68929 from FengyunPan2/fix-memoryLimit
Configure resource-only container with memory limit
2018-09-27 06:06:39 -07:00
k8s-ci-robot
3fe21e5433
Merge pull request #68922 from BenTheElder/version-staging
move pkg/util/version to staging
2018-09-26 22:59:42 -07:00
k8s-ci-robot
08ed1631ac
Merge pull request #68879 from Pingan2017/typo-timeout
fix a small typo
2018-09-26 20:37:38 -07:00
k8s-ci-robot
0ca25b8db7
Merge pull request #68816 from FengyunPan2/cgroup-info
Add helpful log for checking cgrop path
2018-09-26 18:10:46 -07:00
k8s-ci-robot
109b67c291
Merge pull request #66516 from tallclair/redirect
Add verification to apiserver redirect following
2018-09-26 15:53:09 -07:00
k8s-ci-robot
f263993b80
Merge pull request #67829 from krzysztof-jastrzebski/cpuandmemory
Add "only_cpu_and_memory" GET parameter to /stats/summary http handler in kubele
2018-09-26 14:42:24 -07:00
k8s-ci-robot
4404cda7ad
Merge pull request #68752 from krzysztof-jastrzebski/pod_sync
Start synchronizing pods after network is ready.
2018-09-26 04:56:48 -07:00
Tim Allclair
4ee9f007cb
Only allow apiserver to follow redriects to the same host 2018-09-25 17:18:55 -07:00
k8s-ci-robot
2285a7dd66
Merge pull request #68423 from smarterclayton/break_docker_types_on_credential_providre
Remove dependency on docker daemon for core credential types
2018-09-25 17:00:07 -07:00
k8s-ci-robot
a3e30269dc
Merge pull request #68116 from krmayankk/read-dns-code
add validation for etc resolve parsing
2018-09-25 14:40:32 -07:00
k8s-ci-robot
5401f9458b
Merge pull request #67877 from tianshapjq/podprefix-used
use podPrefix as it's defined
2018-09-25 13:29:17 -07:00
David Eads
c76f8f194c make sure that log includes user information 2018-09-25 14:10:09 -04:00
k8s-ci-robot
a8e8e891f2
Merge pull request #68289 from denkensk/fix-simple-pkg-kubelet
Simple code fixed in in pkg/kubelet
2018-09-25 06:14:03 -07:00
k8s-ci-robot
c16691037d
Merge pull request #68255 from leakingtapan/golint-fix-ebs
Fix golint for pkg/volume/aws_ebs
2018-09-25 06:13:33 -07:00
Mayank Kumar
ef976f1f70 add validation for etc resolve parsing 2018-09-24 21:01:59 -07:00
FengyunPan2
34a8b1fd9f Add helpful log for checking cgrop path
Currently I just get 'xxx cgroup does not exist', but I don't know
which path has missed. Let's add log for it.
2018-09-25 10:10:12 +08:00
k8s-ci-robot
8346631860
Merge pull request #68053 from Pingan2017/rmifblock
clean up unneeded else block
2018-09-24 17:17:29 -07:00
Benjamin Elder
8b56eb8588 hack/update-gofmt.sh 2018-09-24 12:21:29 -07:00
Benjamin Elder
f828c6f662 hack/update-bazel.sh 2018-09-24 12:03:24 -07:00
Benjamin Elder
088cf3c37b find & replace version import 2018-09-24 12:03:24 -07:00
k8s-ci-robot
170dcc2ea0
Merge pull request #68754 from bradhoekstra/optional-service-env-variables
kubelet: Make service environment variables optional
2018-09-24 10:59:32 -07:00
Renaud Gaubert
79056292aa Update pluginwatcher doc 2018-09-24 15:11:21 +02:00
Cheng Pan
000e30086b fix golint for pkg/volume/aws_ebs 2018-09-22 05:56:05 +00:00
Brad Hoekstra
69551689d5 Fix spelling 2018-09-22 00:07:08 -04:00
Brad Hoekstra
42da186b62 Address review comments 2018-09-21 20:06:32 -04:00
Brad Hoekstra
c4ec40eca8 Update comment to reflect the new logic 2018-09-21 16:26:37 -04:00
Renaud Gaubert
63436ab4a3 Renamed pluginwatcher README to README.md 2018-09-21 16:25:33 +02:00
FengyunPan2
6af9e97fa5 Configure resource-only container with memory limit
Fixed: #68928
The docker memory limit should base on the memory capacity of
machine. Currently CgroupManager specify wrong memory limit.
2018-09-21 17:50:54 +08:00
Krzysztof Jastrzebski
ad330f7dbe Start synchronizing pods after network is ready. 2018-09-21 10:12:49 +02:00
k8s-ci-robot
fb50b3cb32
Merge pull request #67793 from fisherxu/use_ctx
Refactor grpc dial with dialcontext
2018-09-20 20:35:36 -07:00
Krzysztof Jastrzebski
3b21995c95 Process only CPU and memory stats when Kubelete stats API is called with
only_cpu_and_memory parameter. Before all stats were processed and
removed before returning.
2018-09-20 12:35:56 +02:00
Pingan2017
5de6ada98f fix a small typo 2018-09-20 16:04:12 +08:00
k8s-ci-robot
3429b9aca4
Merge pull request #62544 from astefanutti/56297
Init Kubelet runtime cache before dependent stats provider
2018-09-19 08:38:16 -07:00
Davanum Srinivas
02489f8988
Avoid setting Masked/ReadOnly paths when pod is privileged
In the recent PR on adding ProcMount, we introduced a regression when
pods are privileged. This shows up in 18.06 docker with kubeadm in the
kube-proxy container.

The kube-proxy container is privilged, but we end up setting the
`/proc/sys` to Read-Only which causes failures when running kube-proxy
as a pod. This shows up as a failure when using sysctl to set various
network things.

Change-Id: Ic61c4c9c961843a4e064e783fab0b54350762a8d
2018-09-18 17:46:16 -04:00
Brad Hoekstra
e8366c8e99 Fix to inject KUBERNETES_ env vars when enableServiceLinks is
false and the pod is in the master namespace.
2018-09-17 16:28:49 -04:00
Brad Hoekstra
ac8799a80d kubelet: Make service environment variables optional 2018-09-17 16:27:36 -04:00
Pingan2017
158552ff35 fix golint failures - /pkg/kubelet/images 2018-09-17 10:52:25 +08:00
k8s-ci-robot
fb79943553
Merge pull request #67951 from liggitt/remove-deprecated-flags
Remove deprecated feature flags
2018-09-15 14:50:11 -07:00
Pingan2017
2f2c4ebc14 del internalError 2018-09-13 11:25:26 +08:00
k8s-ci-robot
9b8b6571a2
Merge pull request #68521 from yujuhong/nil-client
kubelet: skip initializing/using the RuntimeClass in standalone mode
2018-09-12 15:05:12 -07:00
k8s-ci-robot
37ef6eeb6d
Merge pull request #68431 from dashpole/cadvisor_godep_update
Update cAdvisor godeps to v0.31.0
2018-09-12 15:04:53 -07:00
Jon Friesen
b971c3e200 Fix golint for pkg/probe
This change adds comments to exported things and renames the tcp,
http, and exec probe interfaces to just be Prober within their
namespace.

Issue #68026
2018-09-12 14:18:16 -07:00
tianshapjq
362f7e2a09 validate if systemReservedCgroup and kubeReservedCgroup compliance with enforNodeAllocatable 2018-09-12 15:17:03 +08:00
Yu-Ju Hong
a1f7ae7ab3 kubelet: skip initializing/using the RuntimeClass in standalone mode
In standalone mode, kubelet will not be configured to talk to an
apiserver. The RuntimeClass manager should be disabled in this case.
2018-09-11 13:21:53 -07:00
k8s-ci-robot
25cbd1c753
Merge pull request #67781 from dashpole/fix_priority_tests
Fix priority tests
2018-09-10 12:48:05 -07:00
David Ashpole
788196e45b update cadvisor to v0.31.0 2018-09-10 10:31:56 -07:00
knight
a578c707c3 refactor kubelet/network/dns 2018-09-10 17:32:28 +08:00
Kubernetes Submit Queue
60ec6bf359
Merge pull request #64867 from dixudx/missing_container_ready_ltt
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

add missing LastTransitionTime of ContainerReady condition

**What this PR does / why we need it**:
add missing LastTransitionTime of ContainerReady condition

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
xref #64646

**Special notes for your reviewer**:
/cc freehan yujuhong

**Release note**:

```release-note
add missing LastTransitionTime of ContainerReady condition
```
2018-09-08 17:22:30 -07:00
fisherxu
89f3fa3d62 use dailcontext 2018-09-08 16:07:38 +08:00
David Ashpole
90f58c1157 critical pod test should not rely on feature gate set in framework; non-critical pods are always preemptable 2018-09-07 17:43:42 -07:00
Clayton Coleman
7e398dc31f
Remove dependency on docker daemon for core credential types
We are removing dependencies on docker types where possible in the core
libraries. credentialprovider is generic to Docker and uses a public API
(the config file format) that must remain stable. Create an equivalent type
and use a type cast (which would error if we ever change the type) in the
dockershim. We already perform a transformation like this for CRI and so
we aren't changing much.
2018-09-07 16:36:14 -04:00
Kubernetes Submit Queue
a6eb49f0dc
Merge pull request #68195 from luxas/consolidate_componentconfig_code_standards
Automatic merge from submit-queue (batch tested with PRs 67950, 68195). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Consolidate componentconfig code standards

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

This PR fixes a bunch of very small misalignments in ComponentConfig packages:
 - Add sane comments to all functions/variables in componentconfig `register.go` files
 - Make the `register.go` files of componentconfig pkgs follow the same pattern and not differ from each other like they do today.
 - Register the `openapi-gen` tag in all `doc.go` files where the pkg contains _external_ types.
 - Add the `groupName` tag where missing
 - Fix cases where `addKnownTypes` was registered twice in the `SchemeBuilder`
 - Add `Readme` and `OWNERS` files to `Godeps` directories if missing.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:


**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

/assign @sttts @thockin
2018-09-07 11:19:40 -07:00
David Ashpole
137c6d638e remove feature gate from kubelet defaulting 2018-09-06 18:17:09 -07:00
Kubernetes Submit Queue
4bb3712a75
Merge pull request #68119 from WanLinghao/token_controller_cachekey_fix
Automatic merge from submit-queue (batch tested with PRs 68119, 68191). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

fix token controller keyFunc bug

Currently, token manager use keyFunc like: `fmt.Sprintf("%q/%q/%#v", name, namespace, tr.Spec)`.
Since tr.Spec contains point fields, new token request would not reuse the cache at all.
This patch fix this, also adds unit test.

```release-note
NONE
```
2018-09-06 16:20:36 -07:00
Krzysztof Jastrzebski
138a3c7172 Add "only_cpu_and_memory" GET parameter to /stats/summary http handler in kubelet. If parameter is true then only cpu and memory will be present in response. The parameter will be used by Metric Server to avoid sending/decoding unneeded data. 2018-09-06 21:49:00 +02:00
WanLinghao
794e665d7b Currently, token manager use keyFunc like: fmt.Sprintf("%q/%q/%#v", name, namespace, tr.Spec).
Since tr.Spec contains point fields, new token request would not reuse
the cache at all.  This patch fix this, also adds unit test.

Signed-off-by: Mike Danese <mikedanese@google.com>
2018-09-06 09:03:26 -07:00
Renaud Gaubert
8dd1d27c03 Updated the device manager pluginwatcher handler 2018-09-06 15:34:46 +02:00
Renaud Gaubert
78b55eb5bf Updated the CSI pluginwatcher handler 2018-09-06 15:34:46 +02:00
Renaud Gaubert
29d225e90c Update pluginwatcher tests 2018-09-06 14:44:03 +02:00
Renaud Gaubert
4d18aa63cd Refactor pluginwatcher to use the new API 2018-09-06 14:42:21 +02:00
Renaud Gaubert
2eb91e89c0 Update the plugin watcher interface 2018-09-06 14:42:21 +02:00
Lucas Käldström
83d53ea1c2
Standardize componentconfig code/comment patterns 2018-09-06 13:42:02 +03:00
Kubernetes Submit Queue
4bc9e94fee
Merge pull request #67690 from feiskyer/iptables-cross
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Kubelet: only sync iptables on linux

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

Iptables is only supported on Linux, kubelet should only sync NAT rules on Linux.

Without this PR, Kubelet on Windows would logs following errors on each `syncNetworkUtil()`:

```
kubelet.err.log:4692:E0711 22:03:42.103939    2872 kubelet_network.go:102] Failed to ensure that nat chain KUBE-MARK-DROP exists: error creating chain "KUBE-MARK-DROP": executable file
```

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #65713

**Special notes for your reviewer**:

**Release note**:

```release-note
Kubelet now only sync iptables on Linux.
```
2018-09-05 22:55:15 -07:00
wangqingcan
6506e0c51a Simple code and typo fixed in in kubelet 2018-09-06 09:12:39 +08:00
Kubernetes Submit Queue
0df5d8d205
Merge pull request #67909 from tallclair/runtimeclass-kubelet
Automatic merge from submit-queue (batch tested with PRs 68161, 68023, 67909, 67955, 67731). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Dynamic RuntimeClass implementation

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

Implement RuntimeClass using the dynamic client to break the dependency on https://github.com/kubernetes/kubernetes/pull/67791

Once (if) https://github.com/kubernetes/kubernetes/pull/67791 merges, I will migrate to the typed client.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
For https://github.com/kubernetes/features/issues/585

**Release note**:
Covered by #67737
```release-note
NONE
```

/sig node
/kind feature
/priority important-soon
/milestone v1.12
2018-09-05 14:51:47 -07:00
Kubernetes Submit Queue
70a0089ae6
Merge pull request #68200 from RenaudWasTaken/pluginwatcher-beta
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

KubeletPluginsWatcher feature is beta in 1.12 release

*What this PR does / why we need it:*
Graduates DevicePlugins feature to beta.

*Which issue(s) this PR fixes:*
Related but does not fix: https://github.com/kubernetes/features/issues/595 as well as https://github.com/kubernetes/kubernetes/issues/65773

*Special notes for your reviewer:*
Includes upgrading the gRPC pluginwatcher API to beta. Based on the [device plugin model](https://github.com/kubernetes/kubernetes/pull/59588).

*Depends on https://github.com/kubernetes/kubernetes/pull/64621 being merged* 

Release note:

```release-note
KubeletPluginsWatcher feature graduates to beta.
```

/sig node
/sig storage

/cc @vladimirvivien @sbezverk @vikaschoudhary16 @saad-ali @vishh @jiayingz
2018-09-05 13:18:39 -07:00
wangqingcan
b0c308f082 Simple code and typo fixed in in pkg/kubelet 2018-09-05 21:51:32 +08:00
Kubernetes Submit Queue
743e4fba63
Merge pull request #67709 from feiskyer/inodes-clean
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

 Kubelet: only apply default hard evictions of nodefs.inodesFree on Linux

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

Kubelet sets default hard evictions of `nodefs.inodesFree ` for all platforms today. This will cause errors on Windows and a lot `no observation found for eviction signal nodefs.inodesFree` errors will be logs for kubelet.

```
kubelet.err.log:4961:W0711 22:21:12.378789    2872 helpers.go:808] eviction manager: no observation found for eviction signal nodefs.inodesFree
kubelet.err.log:4967:W0711 22:21:30.411371    2872 helpers.go:808] eviction manager: no observation found for eviction signal nodefs.inodesFree
kubelet.err.log:4974:W0711 22:21:48.446456    2872 helpers.go:808] eviction manager: no observation found for eviction signal nodefs.inodesFree
kubelet.err.log:4978:W0711 22:22:06.482441    2872 helpers.go:808] eviction manager: no observation found for eviction signal nodefs.inodesFree
```

This PR updates the default hard eviction value and only apply nodefs.inodesFree on Linux.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #66088

**Special notes for your reviewer**:

**Release note**:

```release-note
Kubelet only applies default hard evictions of nodefs.inodesFree on Linux
```
2018-09-04 23:08:30 -07:00
Kubernetes Submit Queue
8f906fefae
Merge pull request #66427 from feiskyer/win-pods-stats
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Add kubelet stats for windows system container "pods"

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

This PR adds kubelet stats for windows system container "pods". Without this, kubelet will always logs error: 

```
kubelet.err.log:4832:E0711 22:12:49.241358    2872 helpers.go:735] eviction manager: failed to construct signal: "allocatableMemory.available" error: system container "pods" not found
```

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #66087

**Special notes for your reviewer**:

/sig windows
/sig node

**Release note**:

```release-note
Add kubelet stats for windows system container "pods"
```
2018-09-04 21:59:49 -07:00
Pengfei Ni
376b45cb64 Fix unit tests for Windows
* TestMakeBlockVolume is moved to Linux only.
* TestMakeMounts are running on both Linux and Windows
2018-09-05 10:22:53 +08:00
Pengfei Ni
aeea967149 Kubelet: only sync iptables on linux 2018-09-05 10:22:48 +08:00
Tim Allclair
63f3bc1b7e
Implement RuntimeClass support for the Kubelet & CRI 2018-09-04 13:45:11 -07:00
Renaud Gaubert
44dd0672b6 Add pluginwatcher generated files 2018-09-04 20:22:59 +02:00
Renaud Gaubert
f8e80e45e7 Create pkg/kubelet/apis/pluginregistration/v1beta1 directory 2018-09-04 20:22:59 +02:00
Pengfei Ni
8255318b96 Kubelet: do not report used inodes on Windows 2018-09-03 16:42:33 +08:00
Pengfei Ni
e1fdaa177f Kubelet: only apply default hard evictions of nodefs.inodesFree on Linux 2018-09-03 16:42:30 +08:00
Lucas Käldström
8b6a7ee075
autogenerated go code, godeps, bazel and gofmt 2018-09-02 14:38:59 +03:00
Lucas Käldström
15760506c2
Move the kubelet's external types to k8s.io/kubelet 2018-09-02 14:19:38 +03:00
Lucas Käldström
0707b1274f
Automated package reference rename 2018-09-02 14:15:38 +03:00
Sandor Szücs
588d2808b7
fix #51135 make CFS quota period configurable, adds a cli flag and config option to kubelet to be able to set cpu.cfs_period and defaults to 100ms as before.
It requires to enable feature gate CustomCPUCFSQuotaPeriod.

Signed-off-by: Sandor Szücs <sandor.szuecs@zalando.de>
2018-09-01 20:19:59 +02:00
Kubernetes Submit Queue
33cca5251c
Merge pull request #67255 from bertinatto/promote_mount_propagation
Automatic merge from submit-queue (batch tested with PRs 65251, 67255, 67224, 67297, 68105). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Promote mount propagation to GA

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

This PR promotes mount propagation to GA.

Website PR: https://github.com/kubernetes/website/pull/9823

**Release note**:

```release-note
Mount propagation has promoted to GA. The `MountPropagation` feature gate is deprecated and will be removed in 1.13.
```
2018-08-31 19:25:30 -07:00
Kubernetes Submit Queue
85300f4f5d
Merge pull request #67803 from saad-ali/csiClusterReg3
Automatic merge from submit-queue (batch tested with PRs 64283, 67910, 67803, 68100). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

CSI Cluster Registry and Node Info CRDs

**What this PR does / why we need it**:
Introduces the new `CSIDriver` and `CSINodeInfo` API Object as proposed in https://github.com/kubernetes/community/pull/2514 and https://github.com/kubernetes/community/pull/2034

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes https://github.com/kubernetes/features/issues/594

**Special notes for your reviewer**:
Per the discussion in https://groups.google.com/d/msg/kubernetes-sig-storage-wg-csi/x5CchIP9qiI/D_TyOrn2CwAJ the API is being added to the staging directory of the `kubernetes/kubernetes` repo because the consumers will be attach/detach controller and possibly kubelet, but it will be installed as a CRD (because we want to move in the direction where the API server is Kubernetes agnostic, and all Kubernetes specific types are installed).

**Release note**:

```release-note
Introduce CSI Cluster Registration mechanism to ease CSI plugin discovery and allow CSI drivers to customize Kubernetes' interaction with them.
```

CC @jsafrane
2018-08-31 16:46:41 -07:00
Kubernetes Submit Queue
39004e852b
Merge pull request #64283 from jessfraz/ProcMountType
Automatic merge from submit-queue (batch tested with PRs 64283, 67910, 67803, 68100). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Add a ProcMount option to the SecurityContext & AllowedProcMountTypes to PodSecurityPolicy

So there is a bit of a chicken and egg problem here in that the CRI runtimes will need to implement this for there to be any sort of e2e testing.

**What this PR does / why we need it**: This PR implements design proposal https://github.com/kubernetes/community/pull/1934. This adds a ProcMount option to the SecurityContext and AllowedProcMountTypes to PodSecurityPolicy

Relies on https://github.com/google/cadvisor/pull/1967

**Release note**:

```release-note
ProcMount added to SecurityContext and AllowedProcMounts added to PodSecurityPolicy to allow paths in the container's /proc to not be masked.
```

cc @Random-Liu @mrunalp
2018-08-31 16:46:33 -07:00
Jan Safranek
7d673cb8f0 Pass new CSI API Client and informer to Volume Plugins 2018-08-31 12:25:59 -07:00
Fabio Bertinatto
b87a57a111 Promote mount propagation to GA 2018-08-31 10:04:51 +02:00
Kubernetes Submit Queue
c1e37a5f16
Merge pull request #66056 from mikedanese/fixhang
Automatic merge from submit-queue (batch tested with PRs 67349, 66056). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

wait until apiserver connection before starting kubelet tls bootstrap

I wonder if this helps with sometimes slow network programming

cc @mwielgus @awly
2018-08-30 20:16:32 -07:00
Jess Frazelle
1a4cf7a36e
make update
Signed-off-by: Jess Frazelle <acidburn@microsoft.com>
2018-08-30 18:24:23 -04:00
Mike Danese
2cf1c75e07 wait until apiserver connection before starting kubelet tls bootstrap 2018-08-30 11:37:05 -07:00
Jess Frazelle
20cc40a5dc
ProcMount: add dockershim support
Signed-off-by: Jess Frazelle <acidburn@microsoft.com>
2018-08-30 11:40:06 -04:00
Jess Frazelle
31ffd9f881
vendor: update docker cadvisor winterm
This vendor change was purely for the changes in docker to allow for
setting the Masked and Read-only paths.

See: moby/moby#36644

But because of the docker dep update it also needed cadvisor to be
updated and winterm due to changes in pkg/tlsconfig in docker

See: google/cadvisor#1967

Signed-off-by: Jess Frazelle <acidburn@microsoft.com>
2018-08-30 11:40:05 -04:00
Jess Frazelle
dbf7186bee
update jsonlog path for updated vendor
Signed-off-by: Jess Frazelle <acidburn@microsoft.com>
2018-08-30 11:40:05 -04:00
Jess Frazelle
30dcca6233
ProcMount: add api options and feature gate
Signed-off-by: Jess Frazelle <acidburn@microsoft.com>
2018-08-30 11:40:02 -04:00
Jess Frazelle
6b7c39a4f8
pkg/kubelet/apis/cri/runtime: add masked_paths and readonly_paths
generate runtime protobufs

Signed-off-by: Jess Frazelle <acidburn@microsoft.com>
2018-08-30 11:39:18 -04:00
Pingan2017
2f1284bc34 cleanup unneeded if block 2018-08-30 17:18:56 +08:00
Lucas Käldström
844487aea4
autogenerated 2018-08-29 20:21:17 +03:00
Lucas Käldström
994ac98586
Update api violations, golint failures and gofmt 2018-08-29 20:21:09 +03:00
Lucas Käldström
7a840cb4c8
automated: Rename all package references 2018-08-29 19:07:52 +03:00
Lucas Käldström
62bfe29ce4
automated, boring: Rename pkg/kubelet/apis/{kubelet,}config 2018-08-29 18:59:05 +03:00
Kubernetes Submit Queue
cd06419973
Merge pull request #67369 from tianshapjq/should-not-eventf-directly
Automatic merge from submit-queue. 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>.

should not event directly

**What this PR does / why we need it**:
should not event directly, using recordContainerEvent() to generate ref and deduplicate events instead.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
none
```
2018-08-28 16:18:13 -07:00
Kubernetes Submit Queue
a26e1ddacc
Merge pull request #67739 from liggitt/hostname-override
Automatic merge from submit-queue (batch tested with PRs 67739, 65222). 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>.

Honor --hostname-override, report compatible hostname addresses with cloud provider

xref #67714

7828e5d made cloud providers authoritative for the addresses reported on Node objects, so that the addresses used by the node (and requested as SANs in serving certs) could be verified via cloud provider metadata.

This had the effect of no longer reporting addresses of type Hostname for Node objects for some cloud providers. Cloud providers that have the instance hostname available in metadata should add a `type: Hostname` address to node status. This is being tracked in #67714

This PR does a couple other things to ease the transition to authoritative cloud providers:
* if `--hostname-override` is set on the kubelet, make the kubelet report that `Hostname` address. if it can't be verified via cloud-provider metadata (for cert approval, etc), the kubelet deployer is responsible for fixing the situation by adjusting the kubelet configuration (as they were in 1.11 and previously)
* if `--hostname-override` is not set, *and* the cloud provider didn't report a Hostname address, *and* the auto-detected hostname matches one of the addresses the cloud provider *did* report, make the kubelet report that as a Hostname address. That lets the addresses remain verifiable via cloud provider metadata, while still including a `Hostname` address whenever possible.

/sig node
/sig cloud-provider

/cc @mikedanese

fyi @hh

```release-note
NONE
```
2018-08-28 12:31:00 -07:00
Jordan Liggitt
e309bd3abf
Remove deprecated feature flags 2018-08-28 15:25:46 -04:00
Jordan Liggitt
2857de73ce
Honor --hostname-override, report compatible hostname addresses with cloud provider 2018-08-28 11:21:01 -04:00
Kubernetes Submit Queue
2eb14e3007
Merge pull request #64973 from nokia/k8s-sctp
Automatic merge from submit-queue (batch tested with PRs 67694, 64973, 67902). 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>.

SCTP support implementation for Kubernetes

**What this PR does / why we need it**: This PR adds SCTP support to Kubernetes, including Service, Endpoint, and NetworkPolicy.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #44485

**Special notes for your reviewer**:

**Release note**:

```release-note

SCTP is now supported as additional protocol (alpha) alongside TCP and UDP in Pod, Service, Endpoint, and NetworkPolicy.  

```
2018-08-28 07:21:18 -07:00
Tim Allclair
62d56060b7 Remove unused kubelet dependency 2018-08-27 16:48:12 -07:00
tianshapjq
9daaf12397 use podPrefix as it's defined 2018-08-27 14:32:26 +08:00
Laszlo Janosi
cbe94df8c6 gofmt update 2018-08-27 05:59:50 +00:00
Laszlo Janosi
e466bdc67e Changes according to the approved KEP. SCTP is supported for HostPort and LoadBalancer. Alpha feature flag SCTPSupport controls the support of SCTP. Kube-proxy config parameter is removed. 2018-08-27 05:58:36 +00:00
Laszlo Janosi
a6da2b1472 K8s SCTP support implementation for the first pull request
The requested Service Protocol is checked against the supported protocols of GCE Internal LB. The supported protocols are TCP and UDP.

SCTP is not supported by OpenStack LBaaS. If SCTP is requested in a Service with type=LoadBalancer, the request is rejected. Comment style is also corrected.

SCTP is not allowed for LoadBalancer Service and for HostPort. Kube-proxy can be configured not to start listening on the host port for SCTP: see the new SCTPUserSpaceNode parameter

changed the vendor github.com/nokia/sctp to github.com/ishidawataru/sctp. I.e. from now on we use the upstream version.

netexec.go compilation fixed. Various test cases fixed

SCTP related conformance tests removed. Netexec's pod definition and Dockerfile are updated to expose the new SCTP port(8082)

SCTP related e2e test cases are removed as the e2e test systems do not support SCTP

sctp related firewall config is removed from cluster/gce/util.sh. Variable name sctp_addr is corrected to sctpAddr in pkg/proxy/ipvs/proxier.go

cluster/gce/util.sh is copied from master
2018-08-27 05:56:27 +00:00
Michael Taufen
1b7d06e025 Kubelet creates and manages node leases
This extends the Kubelet to create and periodically update leases in a
new kube-node-lease namespace. Based on [KEP-0009](https://github.com/kubernetes/community/blob/master/keps/sig-node/0009-node-heartbeat.md),
these leases can be used as a node health signal, and will allow us to
reduce the load caused by over-frequent node status reporting.

- add NodeLease feature gate
- add kube-node-lease system namespace for node leases
- add Kubelet option for lease duration
- add Kubelet-internal lease controller to create and update lease
- add e2e test for NodeLease feature
- modify node authorizer and node restriction admission controller
to allow Kubelets access to corresponding leases
2018-08-26 16:03:36 -07:00
Kubernetes Submit Queue
83030032ad
Merge pull request #67425 from Lion-Wei/kubelet-ipv6
Automatic merge from submit-queue (batch tested with PRs 65247, 63633, 67425). 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 kubelet iptclient in ipv6 cluster

**What this PR does / why we need it**:
Kubelet uses "iptables" instead of "ip6tables" in an ipv6-only cluster. This causes failed traffic for type: LoadBalancer services (and probably a lot of other problems).

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #67398 

**Special notes for your reviewer**:


**Release note**:
```release-note
NONE
```
2018-08-23 14:15:12 -07:00
Kubernetes Submit Queue
d67a03183a
Merge pull request #67687 from Lion-Wei/remote-reschrduler
Automatic merge from submit-queue. 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>.

remove rescheduler since scheduling DS pods by default scheduler is moving to beta

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

remove rescheduler since scheduling DS pods by default scheduler is moving to beta

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #64725

**Special notes for your reviewer**:

**Release note**:
```release-note
Remove rescheduler since scheduling DS pods by default scheduler is moving to beta.
```
2018-08-23 12:32:17 -07:00
Kubernetes Submit Queue
e46203c40d
Merge pull request #67031 from krzysztof-jastrzebski/node_startup
Automatic merge from submit-queue. 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>.

Reduce latency to node ready after CIDR is assigned.

This adds code to execute an immediate runtime and node status update when the Kubelet sees that it has a CIDR, which significantly decreases the latency to node ready.

```release-note
Speed up kubelet start time by executing an immediate runtime and node status update when the Kubelet sees that it has a CIDR.
```
2018-08-23 10:37:30 -07:00
liangwei
67f4be87c0 fix kubelet iptclient in ipv6 cluster 2018-08-23 15:08:51 +08:00
Krzysztof Jastrzebski
7ffa4e17e0 Reduce latency to node ready after CIDR is assigned. 2018-08-22 10:43:58 +02:00
Kubernetes Submit Queue
c491d48cde
Merge pull request #67430 from choury/cpumanager
Automatic merge from submit-queue (batch tested with PRs 67430, 67550). 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>.

cpumanager: rollback state if updateContainerCPUSet failed

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

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #63018

If `updateContainerCPUSet`  failed, the container will start failed. We should rollback the state to avoid CPU leak.
**Special notes for your reviewer**:

**Release note**:

```release-note
cpumanager: rollback state if updateContainerCPUSet failed
```
2018-08-21 23:20:58 -07:00
Kubernetes Submit Queue
444373b404
Merge pull request #67599 from neolit123/owners-kubelet
Automatic merge from submit-queue. 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>.

Add labels to kubelet OWNERS files

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

This change makes it possible to automatically add the two labels: `area/kubelet` to PRs that touch the paths in question.

this already exists for kubeadm:
https://github.com/kubernetes/kubernetes/blob/master/cmd/kubeadm/OWNERS#L17-L19

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
refs https://github.com/kubernetes/community/issues/1808

**Special notes for your reviewer**:
none

**Release note**:

```release-note
NONE
```
/area kubelet
@kubernetes/sig-node-pr-reviews
2018-08-21 21:10:28 -07:00
liangwei
5ea138f4e9 remove rescheduler 2018-08-22 11:49:14 +08:00
Kubernetes Submit Queue
7cd140aa4f
Merge pull request #67518 from tallclair/runtimeclass-cri
Automatic merge from submit-queue (batch tested with PRs 67298, 67518, 67635, 67673). 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>.

Add RuntimeHandler to the CRI RunPodSandboxRequest

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

Adds the CRI portion of the [RuntimeClass](https://github.com/kubernetes/community/blob/master/keps/sig-node/0014-runtime-class.md#runtime-handler) API.

**Which issue(s) this PR fixes**:
For https://github.com/kubernetes/features/issues/585

**Special notes for your reviewer**:
The Kubernetes API is still blocked on a decision about alpha field usage, see [discussion on sig-architecture](https://groups.google.com/forum/#!topic/kubernetes-sig-architecture/y9FulL9Uq6A). I'd like to start with the CRI piece so we can unblock work on the CRI implementation side to have support ready when Kubernetes support is there.

**Release note**:
```release-note
[CRI] Adds a "runtime_handler" field to RunPodSandboxRequest, for selecting the runtime configuration to run the sandbox with (alpha feature).
```

/sig node
/milestone v1.12
/priority important-soon
/kind api-change
2018-08-21 18:33:04 -07:00
Lubomir I. Ivanov
1a1d236f61 Add labels to kubelet OWNERS files 2018-08-22 00:43:32 +03:00
Kubernetes Submit Queue
c94ececccc
Merge pull request #67672 from dims/add-labels-to-owners-files
Automatic merge from submit-queue. 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>.

Add Labels to various OWNERS files

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

Will reduce the burden of manually adding labels. Information pulled
from:
https://github.com/kubernetes/community/blob/master/sigs.yaml

Change-Id: I17e661e37719f0bccf63e41347b628269cef7c8b

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-08-21 14:37:21 -07:00
Kubernetes Submit Queue
473ebb21d1
Merge pull request #67632 from feiskyer/verbose-fix
Automatic merge from submit-queue (batch tested with PRs 67661, 67497, 66523, 67622, 67632). 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>.

Reduce verbose logs of node addresses requesting

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

Kubelet build from the master branch is flushing node addresses requesting logs, which is too verbose:

```sh
Aug 16 10:09:40 node-1 kubelet[24217]: I0816 10:09:40.658479   24217 cloud_request_manager.go:97] Requesting node addresses from cloud provider for node "node-1"
Aug 16 10:09:40 node-1 kubelet[24217]: I0816 10:09:40.666114   24217 cloud_request_manager.go:116] Node addresses from cloud provider for node "node-1" collected
Aug 16 10:09:50 node-1 kubelet[24217]: I0816 10:09:50.666357   24217 cloud_request_manager.go:97] Requesting node addresses from cloud provider for node "node-1"
Aug 16 10:09:50 node-1 kubelet[24217]: I0816 10:09:50.674322   24217 cloud_request_manager.go:116] Node addresses from cloud provider for node "node-1" collected
Aug 16 10:10:01 node-1 kubelet[24217]: I0816 10:10:00.674644   24217 cloud_request_manager.go:97] Requesting node addresses from cloud provider for node "node-1"
Aug 16 10:10:01 node-1 kubelet[24217]: I0816 10:10:00.682794   24217 cloud_request_manager.go:116] Node addresses from cloud provider for node "node-1" collected
Aug 16 10:10:10 node-1 kubelet[24217]: I0816 10:10:10.683002   24217 cloud_request_manager.go:97] Requesting node addresses from cloud provider for node "node-1"
Aug 16 10:10:10 node-1 kubelet[24217]: I0816 10:10:10.689641   24217 cloud_request_manager.go:116] Node addresses from cloud provider for node "node-1" collected
Aug 16 10:10:20 node-1 kubelet[24217]: I0816 10:10:20.690006   24217 cloud_request_manager.go:97] Requesting node addresses from cloud provider for node "node-1"
Aug 16 10:10:20 node-1 kubelet[24217]: I0816 10:10:20.696545   24217 cloud_request_manager.go:116] Node addresses from cloud provider for node "node-1" collected
```

This PR sets them to level 5.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

/cc @ingvagabund
2018-08-21 13:00:13 -07:00
Davanum Srinivas
9b43d97cd4
Add Labels to various OWNERS files
Will reduce the burden of manually adding labels. Information pulled
from:
https://github.com/kubernetes/community/blob/master/sigs.yaml

Change-Id: I17e661e37719f0bccf63e41347b628269cef7c8b
2018-08-21 13:59:08 -04:00
Ismo Puustinen
dd3eeb3f46 device manager: don't do operations on nil pointer.
If grpc.DialContext() fails, a nil connection is returned. Check the
error before calling conn.Close().
2018-08-21 15:20:36 +03:00
Kubernetes Submit Queue
d017bebf6b
Merge pull request #67145 from jiayingz/reboot-fix
Automatic merge from submit-queue. 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>.

Fail container start if its requested device plugin resource is unknown.

With the change, Kubelet device manager now checks whether it has cached option state for the requested device plugin resource to make sure the resource is in ready state when we start the container.



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

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes https://github.com/kubernetes/kubernetes/issues/67107

**Special notes for your reviewer**:

**Release note**:

```release-note
Fail container start if its requested device plugin resource hasn't registered after Kubelet restart.
```
2018-08-21 01:48:54 -07:00
Pengfei Ni
2d82cd811f Reduce verbose logs of node addresses requesting 2018-08-21 13:23:01 +08:00
Tim Allclair
e6eb2e7dea Add RuntimeHandler to the CRI RunPodSandboxRequest 2018-08-17 10:56:49 -07:00
choury
36b92b9b29 cpumanager: rollback state if updateContainerCPUSet failed 2018-08-17 18:08:58 +08:00
Kubernetes Submit Queue
4819c65028
Merge pull request #67380 from tianshapjq/nits-in-manager.go
Automatic merge from submit-queue (batch tested with PRs 66209, 67380, 67499, 67437, 67498). 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>.

nits in manager.go

**What this PR does / why we need it**:
just found some nits in the manager.go

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-08-17 03:01:09 -07:00
Kubernetes Submit Queue
da3f1a3ea1
Merge pull request #64445 from squeed/more-cni-capabilities
Automatic merge from submit-queue (batch tested with PRs 64445, 67459, 67434). 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>.

dockershim/network: pass ipRange CNI capabilities

**What this PR does / why we need it**:
Updates the dynamic (capability args) passed from Kubernetes to the CNI plugin. This means CNI plugin authors can offer more features and / or reduce their dependency on the APIServer.

Currently, we only pass the `portMappings` capability. CNI now supports `bandwidth` for bandwidth limiting and `ipRanges` for preferred IP blocks. This PR adds support for these two new capabilities.

Bandwidth limits are provided - as implemented in kubenet - via the pod annotations `kubernetes.io/ingress-bandwidth` and `kubernetes.io/egress-bandwidth`.

The ipRanges field simply passes the PodCIDR. This does mean that we need to change the NodeReady algorithm. Previously, we would only set NodeNotReady on missing PodCIDR when using Kubenet. Now, if the CNI configuration includes the `ipRanges` capability, we need to do the same.

**Which issue(s) this PR fixes**:
Fixes #64393

**Release note**:

```release-note
The dockershim now sets the "bandwidth" and "ipRanges" CNI capabilities (dynamic parameters). Plugin authors and administrators can now take advantage of this by updating their CNI configuration file. For more information, see the [CNI docs](https://github.com/containernetworking/cni/blob/master/CONVENTIONS.md#dynamic-plugin-specific-fields-capabilities--runtime-configuration)
```
2018-08-15 22:54:07 -07:00
Kubernetes Submit Queue
cffa2aed0e
Merge pull request #64601 from hzxuzhonghu/cm-dynamic-loglevel-set
Automatic merge from submit-queue. 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>.

Other components support set log level dynamically

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

#63777 introduced a way to set glog.logging.verbosity dynamically. 
We should enable this for all other components, which is specially useful in debugging. 


**Release note**:

```release-note
Expose `/debug/flags/v` to allow kubelet dynamically set glog logging level.  If want to change glog level to 3, you only have to send a PUT request like `curl -X PUT http://127.0.0.1:8080/debug/flags/v -d "3"`.
```
2018-08-15 21:32:46 -07:00
Kubernetes Submit Queue
b904a3dc48
Merge pull request #67109 from MHBauer/error-typo
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>.

error text refers to wrong stream type

**What this PR does / why we need it**:
clarify error text

**Special notes for your reviewer**:
I think this was a copy and paste error.

**Release note**:
```release-note
NONE
```
2018-08-15 18:15:10 -07:00
Kubernetes Submit Queue
6faf115870
Merge pull request #65561 from k82cn/k8s_65372_1
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>.

Compared preemption by priority in Kubelet

Signed-off-by: Da K. Ma <klaus1982.cn@gmail.com>


**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #65372 

**Release note**:
```release-note
None
```
2018-08-15 18:15:06 -07:00
Casey Callendrello
5d9ec20d7e kubelet/dockershim/network: pass ipRange dynamically to the CNI plugin
CNI now supports passing ipRanges dynamically. Pass podCIDR so that
plugins no longer have to look it up.
2018-08-15 17:41:09 +02:00
Kubernetes Submit Queue
c5e74d128d
Merge pull request #66884 from NickrenREN/attacher-detacher-refactor
Automatic merge from submit-queue. 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>.

Attacher/Detacher refactor for local storage

Proposal link: https://github.com/kubernetes/community/pull/2438

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

Attacher/Detacher refactor for the plugins which just need to mount device, but do not need to attach, such as local storage plugin.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

```release-note
Attacher/Detacher refactor for local storage
```

/sig storage
/kind feature
2018-08-15 07:03:48 -07:00
xuzhonghu
815799638b run update all 2018-08-15 17:18:27 +08:00
xuzhonghu
c867bf9cab kubelet support dynamically set glog log level --v 2018-08-15 17:18:25 +08:00
Kubernetes Submit Queue
c65f65cf6a
Merge pull request #65065 from sjenning/reduce-backoff-logging
Automatic merge from submit-queue (batch tested with PRs 66177, 66185, 67136, 67157, 65065). 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: reduce logging for backoff situations

xref https://bugzilla.redhat.com/show_bug.cgi?id=1555057#c6

Pods that are in `ImagePullBackOff` or `CrashLoopBackOff` currently generate a lot of logging at the `glog.Info()` level.  This PR moves some of that logging to `V(3)` and avoids logging in situations where the `SyncPod` only fails because pod are in a BackOff error condition.

@derekwaynecarr @liggitt
2018-08-15 02:09:20 -07:00
Kubernetes Submit Queue
fba4cf6f4c
Merge pull request #67334 from fqsghostcloud/indent-error-flow
Automatic merge from submit-queue (batch tested with PRs 67294, 67320, 67335, 67334, 67325). 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>.

indent error flow
2018-08-15 00:07:18 -07:00
Kubernetes Submit Queue
b4bfb1847c
Merge pull request #66446 from bertinatto/metrics_volume_manager
Automatic merge from submit-queue (batch tested with PRs 61212, 66369, 66446, 66895, 66969). 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>.

Add more metrics for Volume Manager

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

This PR adds a few metrics described in the [Metrics Spec](https://docs.google.com/document/d/1Fh0T60T_y888LsRwC51CQHO75b2IZ3A34ZQS71s_F0g/edit#heading=h.ys6pjpbasqdu):

* Number of volumes in ActualStateofWorld and DesiredStateofWorld
* Number of times ReconstructVolume Spec on kubelet failed

**Release note**:

```release-note
NONE
```
2018-08-14 21:18:12 -07:00
Kubernetes Submit Queue
1f86c1cf26
Merge pull request #61212 from charrywanganthony/duplicated_import
Automatic merge from submit-queue. 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>.

remove duplicated import

**Release note**:

```release-note
NONE
```
2018-08-14 20:18:00 -07:00
Kubernetes Submit Queue
99053fbf33
Merge pull request #64877 from AdamDang/patch-11
Automatic merge from submit-queue. 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>.

Typo fix in returned message: utilites->utilities

Line 250: utilites->utilities
2018-08-14 18:57:50 -07:00
Kubernetes Submit Queue
af2f72af47
Merge pull request #66587 from feiskyer/revert-63905
Automatic merge from submit-queue (batch tested with PRs 66491, 66587, 66856, 66657, 66923). 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>.

Revert #63905: Setup dns servers and search domains for Windows Pods

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

From https://github.com/kubernetes/kubernetes/pull/63905#issuecomment-396709775:

> I don't think this change does anything on Windows. On windows, the network endpoint configuration is taken care of completely by CNI. If you would like to pass on the custom dns polices from the pod spec, it should be dynamically going to the cni configuration that gets passed to CNI. From there, it would be passed down to platform and would be taken care of appropriately by HNS.

> etc\resolve.conf is very specific to linux and that should remain linux speicfic implementation. We should be trying to move away from platform specific code in Kubelet.
Docker is not managing the networking here for windows. So it doens't really care about any network settings. So passing it to docker shim's hostconfig also doens;t make sense here.

DNS for Windows containers will be set by CNI plugins.  And this change also introduced two endpoints for sandbox container.  So this PR reverts #63905 .


**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

The PR should also be cherry-picked to release-1.11.

Also, https://github.com/kubernetes/kubernetes/issues/66588 is opened to track the process of pushing this to CNI.

**Release note**:

```release-note
Revert #63905: Setup dns servers and search domains for Windows Pods. DNS for Windows containers will be set by CNI plugins.
```

/sig windows
/sig node
/kind bug
2018-08-14 17:55:07 -07:00
tianshapjq
81081dc9e7 nits in manager.go 2018-08-15 08:16:04 +08:00
tianshapjq
27c5ced809 should not event directly 2018-08-14 14:35:47 +08:00
NickrenREN
c7e4466873 attacher/detacher refactor 2018-08-14 11:12:41 +08:00
Fabio Bertinatto
376a94e039 Add more metrics for Volume Manager
Specifically:

* Number of volumes in ActualStateofWorld and DesiredStateofWorld
* Number of times ReconstructVolume Spec on kubelet failed
2018-08-13 17:36:36 +02:00
fqsghostcloud
21f9ac0e7e
indent error flow
indent error flow
2018-08-13 17:31:31 +08:00
Yu-Ju Hong
390b158db9 kubelet: plumb context for log requests
This allows kubelets to stop the necessary work when the context has
been canceled (e.g., connection closed), and not leaking a goroutine
and inotify watcher waiting indefinitely.
2018-08-10 17:35:46 -07:00
Kubernetes Submit Queue
57bb26911d
Merge pull request #53042 from chentao1596/support-unit-test-case-for-pod-format
Automatic merge from submit-queue (batch tested with PRs 67177, 53042). 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>.

Adding unit tests to methods of pod's format

What this PR does / why we need it:

Add unit test cases, thank you!
2018-08-08 23:49:06 -07:00
Jiaying Zhang
7b1ae66432 Fail container start if its requested device plugin resource doesn't
have cached option state to make sure the device plugin resource is
in ready state when we start the container.
2018-08-08 13:11:36 -07:00
Morgan Bauer
0b709dcf7d
error text refers to wrong stream type 2018-08-07 18:20:24 -07:00
Kubernetes Submit Queue
60ac433922
Merge pull request #66946 from LinEricYang/unused-variable
Automatic merge from submit-queue (batch tested with PRs 66512, 66946, 66083). 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/cm/cpumanager: Fix unused variable "skipIfPermissionsError"

The variable "skipIfPermissionsError" is not needed even when
permission error happened.
2018-08-06 19:44:04 -07:00
Kubernetes Submit Queue
d114692a58
Merge pull request #58058 from tianshapjq/cleanup-useless-var-deviceplugin/types.go
Automatic merge from submit-queue. 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>.

clean up useless variables in deviceplugin/types.go

**What this PR does / why we need it**:
some variables is useless for reasons, I think we need a clean up.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note

```NONE
2018-08-06 16:33:54 -07:00
Da K. Ma
a75d625cc3 Compared preemption by priority.
Signed-off-by: Da K. Ma <klaus1982.cn@gmail.com>
2018-08-04 11:33:07 +08:00
Kubernetes Submit Queue
cb1ef9f7e8
Merge pull request #64815 from dixudx/hostname_empty
Automatic merge from submit-queue. 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>.

error out empty hostname

**What this PR does / why we need it**:
For linux, the hostname is read from file `/proc/sys/kernel/hostname` directly, which can be overwritten with whitespaces.

Should error out such invalid hostnames.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes kubernetes/kubeadm#835

**Special notes for your reviewer**:
/cc luxas timothysc 

**Release note**:

```release-note
nodes: improve handling of erroneous host names
```
2018-08-03 17:13:32 -07:00
Kubernetes Submit Queue
6a33d1ba10
Merge pull request #66938 from sjenning/avoid-mount-delay
Automatic merge from submit-queue (batch tested with PRs 62901, 66562, 66938, 66927, 66926). 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: volumemanager: poll immediate when waiting for volume attachment

Currently, `WaitForAttachAndMount()` introduces a 300ms minimum delay by using `wait.Poll()` rather than `wait.PollImmediate()`.  This wait constitutes >99% of the total processing time for `syncPod()`.  Changing this reduced `syncPod()` processing time for a simple busybox pod with one emptyDir volume from 302ms to 2ms.

@derekwaynecarr @pmorie @smarterclayton @jsafrane 

/sig node
/release-note-none
2018-08-02 19:57:15 -07:00
Lin Yang
b7e1f0bf17 kubelet/cm/cpumanager: Fix unused variable "skipIfPermissionsError"
The variable "skipIfPermissionsError" is not needed even when
permission error happened.
2018-08-02 17:24:33 -07:00
Kubernetes Submit Queue
266cf70ac0
Merge pull request #66617 from pravisankar/fix-pod-cgroup-parent
Automatic merge from submit-queue (batch tested with PRs 66190, 66871, 66617, 66293, 66891). 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>.

Do not set cgroup parent when --cgroups-per-qos is disabled

When --cgroups-per-qos=false (default is true), kubelet sets pod
container management to podContainerManagerNoop implementation and
GetPodContainerName() returns '/' as cgroup parent (default cgroup root).

(1) In case of 'systemd' cgroup driver, '/' is invalid parent as
docker daemon expects '.slice' suffix and throws this error:
'cgroup-parent for systemd cgroup should be a valid slice named as \"xxx.slice\"'
(5fc12449d8/daemon/daemon_unix.go (L618))
'/' corresponds to '-.slice' (root slice) in systemd but I don't think
we want to assign root slice instead of runtime specific default value.
In case of docker runtime, this will be 'system.slice'
(e2593239d9/daemon/oci_linux.go (L698))

(2) In case of 'cgroupfs' cgroup driver, '/' is valid parent but I don't
think we want to assign root instead of runtime specific default value.
In case of docker runtime, this will be '/docker'
(e2593239d9/daemon/oci_linux.go (L695))

Current fix will not set the cgroup parent when --cgroups-per-qos is disabled.

```release-note
Fix pod launch by kubelet when --cgroups-per-qos=false and --cgroup-driver="systemd"
```
2018-08-02 15:42:16 -07:00
Kubernetes Submit Queue
2f21394859
Merge pull request #66190 from linyouchong/issue-66189
Automatic merge from submit-queue (batch tested with PRs 66190, 66871, 66617, 66293, 66891). 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 nil pointer dereference in node_container_manager#enforceExisting

**What this PR does / why we need it**:
fix nil pointer dereference in node_container_manager#enforceExisting

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #66189

**Special notes for your reviewer**:
NONE

**Release note**:
```release-note
kubelet: fix nil pointer dereference while enforce-node-allocatable flag is not config properly
```
2018-08-02 15:42:09 -07:00
Seth Jennings
0413850d14 kubelet: volumemanager: poll immediate when waiting for volume attachment 2018-08-02 16:41:15 -05:00
Kubernetes Submit Queue
c2536e2b0d
Merge pull request #61159 from linyouchong/linyouchong-20180314
Automatic merge from submit-queue. 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>.

Skip checking when failSwapOn=false

**What this PR does / why we need it**:
Skip checking when failSwapOn=false

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:
NONE
**Release note**:
```
NONE
```
2018-08-02 14:09:39 -07:00
Kubernetes Submit Queue
4a54f3f0d6
Merge pull request #66779 from deads2k/api-05-easy-unit
Automatic merge from submit-queue (batch tested with PRs 66850, 66902, 66779, 66864, 66912). 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>.

add methods to apimachinery to easy unit testing

When unit testing, you often want a selective scheme and codec factory.  Rather than writing the vars and the init function and the error handling, you can simply do

`scheme, codecs := testing.SchemeForInstallOrDie(install.Install)`

@kubernetes/sig-api-machinery-misc 
@sttts 

```release-note
NONE
```
2018-08-02 10:03:16 -07:00
Kubernetes Submit Queue
94c2c6c842
Merge pull request #66510 from sjenning/add-image-gc-validation
Automatic merge from submit-queue (batch tested with PRs 65730, 66615, 66684, 66519, 66510). 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: add image-gc low/high validation check

Currently, there is no protection against setting the high watermark <= the low watermark for image GC

This PR adds a validation rule for that.

@smarterclayton
2018-08-01 15:52:20 -07:00
Kubernetes Submit Queue
7ac32a4f7a
Merge pull request #61983 from mikedanese/closur
Automatic merge from submit-queue. 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>.

volumemanager: remove unneccesary closure

```release-note
NONE
```
2018-08-01 14:26:12 -07:00
David Eads
d3bd0eb1d5 make package name match all the import aliases 2018-08-01 15:31:12 -04:00
Kubernetes Submit Queue
0a284c1cde
Merge pull request #66082 from sjenning/fix-is-critical-checks
Automatic merge from submit-queue. 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>.

move feature gate checks inside IsCriticalPod

Currently `IsCriticalPod()` calls throughout the code are protected by `utilfeature.DefaultFeatureGate.Enabled(features.ExperimentalCriticalPodAnnotation)`.

However, with Pod Priority, this gate could be disabled which skips the priority check inside IsCriticalPod().

This PR moves the feature gate checking inside `IsCriticalPod()` and handles both situations properly.

@aveshagarwal @ravisantoshgudimetla @derekwaynecarr 
/sig node
/sig scheduling
/king bug
2018-08-01 11:47:08 -07:00
Di Xu
b3dfe0c652 nodes: improve handling of erroneous host names 2018-08-01 14:57:25 +08:00
Chao Wang
39a4730db6 remove duplicated import 2018-08-01 13:27:42 +08:00
Mike Danese
f3922dff19 volumemanager: remove unneccesary closure 2018-07-31 18:48:15 -07:00
Kubernetes Submit Queue
c0bf2e680f
Merge pull request #66270 from Pingan2017/delevent
Automatic merge from submit-queue. 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>.

delete unused events

**What this PR does / why we need it**:
 events (HostNetworkNotSupported, UndefinedShaper) is unused since #47058
**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-07-31 12:14:06 -07:00
Kubernetes Submit Queue
f2c6473e25
Merge pull request #66718 from ipuustin/cpu-manager-validate-offline
Automatic merge from submit-queue (batch tested with PRs 66623, 66718). 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>.

cpumanager: validate topology in static policy

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

This patch adds a check for the static policy state validation. The check fails if the CPU topology obtained from cadvisor doesn't match with the current topology in the state file.

If the CPU topology has changed in a node, cpumanager static policy might try to assign non-present cores to containers.

For example in my test case, static policy had the default CPU set of `0-1,4-7`. Then kubelet was shut down and CPU 7 was offlined. After restarting the kubelet, CPU manager tries to assign the non-existent CPU 7 to containers which don't have exclusive allocations assigned to them:

    Error response from daemon: Requested CPUs are not available - requested 0-1,4-7, available: 0-6)

This breaks the exclusivity, since the CPUs from the shared pool don't get assigned to non-exclusive containers, meaning that they can execute on the exclusive CPUs.

**Release note**:

```release-note
Added CPU Manager state validation in case of changed CPU topology.
```
2018-07-31 08:05:06 -07:00
Ismo Puustinen
3bb5ca9257 cpumanager: add test for available CPUs in static policy.
Test the cases where the number of CPUs available in the system is
smaller or larger than the number of CPUs known in the state, which
should lead to a panic. This covers both CPU onlining and offlining. The
case where the number of CPUs matches is already covered by the
"non-corrupted state" test.
2018-07-31 10:20:37 +03:00
Kubernetes Submit Queue
2bee858a7b
Merge pull request #66284 from stewart-yu/stewart-sharedtype-move
Automatic merge from submit-queue. 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>.

Move the` k8s.io/kubernetes/pkg/util/pointer` package to` k8s.io/utils/pointer`

**What this PR does / why we need it**:
Move `k8s.io/kubernetes/pkg/util/pointer` to  `shared utils` directory, so that we can use it  easily.
Close #66010 accidentally, and can't reopen it, so the same as #66010 

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-07-30 19:50:36 -07:00
Ismo Puustinen
4f604eb73c cpumanager: validate topology in static policy.
This patch adds a check for the static policy state validation. The
check fails if the CPU topology obtained from cadvisor doesn't match
with the current topology in the state file.

If the CPU topology has changed in a node, cpu manager static policy
might try to assign non-present cores to containers.

For example in my test case, static policy had the default CPU set of
0-1,4-7. Then kubelet was shut down and CPU 7 was offlined. After
restarting the kubelet, CPU manager tries to assign the non-existent CPU
7 to containers which don't have exclusive allocations assigned to them:

 Error response from daemon: Requested CPUs are not available - requested 0-1,4-7, available: 0-6)

This breaks the exclusivity, since the CPUs from the shared pool don't
get assigned to non-exclusive containers, meaning that they can execute
on the exclusive CPUs.
2018-07-30 08:49:13 +03:00
hui luo
7101c17498 While reviewing devicemanager code, found
the caching layer on endpoint is redundant.

Here are the 3 related objects in picture:
devicemanager <-> endpoint <-> plugin

Plugin is the source of truth for devices
and device health status.

devicemanager maintain healthyDevices,
unhealthyDevices, allocatedDevices based on updates
from plugin.

So there is no point for endpoint caching devices,
this patch is removing this caching layer on endpoint,

Also removing the Manager.Devices() since i didn't
find any caller of this other than test, i am adding a
notification channel to facilitate testing,

If we need to get all devices from manager in future,
it just need to return healthyDevices + unhealthyDevices,
we don't have to call endpoint after all.

This patch makes code more readable, data model been simplified.
2018-07-29 21:07:14 -07:00
Kubernetes Submit Queue
8e2a444b6d
Merge pull request #66593 from stewart-yu/stewart-kubelet-commentclean
Automatic merge from submit-queue (batch tested with PRs 66593, 66727, 66558). 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>.

remove the outdate comments in tryRegisterWithAPIServer

**What this PR does / why we need it**:
some judgement about ExternalID removed in #61877, so remove the outdate comments in tryRegisterWithAPIServer


**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-07-27 18:05:00 -07:00
stewart-yu
f1343af5d7 auto-generated file 2018-07-28 07:54:17 +08:00
Kubernetes Submit Queue
32e38b6659
Merge pull request #58755 from vikaschoudhary16/probing-mode
Automatic merge from submit-queue (batch tested with PRs 58755, 66414). 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>.

Use probe based plugin watcher mechanism in Device Manager

**What this PR does / why we need it**:
Uses this probe based utility in the device plugin manager.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #56944 

**Notes For Reviewers**:
Changes are backward compatible and existing device plugins will continue to work. At the same time, any new plugins that has required support for probing model (Identity service implementation), will also work. 


**Release note**
```release-note
Add support kubelet plugin watcher in device manager.
```
/sig node
/area hw-accelerators
/cc /cc @jiayingz @RenaudWasTaken @vishh @ScorpioCPH @sjenning @derekwaynecarr @jeremyeder @lichuqiang @tengqm @saad-ali @chakri-nelluri @ConnorDoyle
2018-07-27 15:20:06 -07:00
Kubernetes Submit Queue
2630d09c84
Merge pull request #66596 from BSWANG/master
Automatic merge from submit-queue (batch tested with PRs 66665, 66707, 66596). 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 kubelet npe panic on device plugin return zero container

Signed-off-by: bingshen.wbs <bingshen.wbs@alibaba-inc.com>



**What this PR does / why we need it**:
Fix kubelet panic when device plugin return zero containers. Panic logs like follows:
```
Jul 17 12:50:24 iZwz9bqgzuo4i8qu435zk8Z kubelet[25815]: /workspace/anago-v1.10.4-beta.0.68+5ca598b4ba5abb/src/k8s.io/kubernetes/_output/dockerized/go/src/
k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:51
Jul 17 12:50:24 iZwz9bqgzuo4i8qu435zk8Z kubelet[25815]: /workspace/anago-v1.10.4-beta.0.68+5ca598b4ba5abb/src/k8s.io/kubernetes/_output/dockerized/go/src/
k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:65
Jul 17 12:50:24 iZwz9bqgzuo4i8qu435zk8Z kubelet[25815]: /workspace/anago-v1.10.4-beta.0.68+5ca598b4ba5abb/src/k8s.io/kubernetes/_output/dockerized/go/src/
k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:72
Jul 17 12:50:24 iZwz9bqgzuo4i8qu435zk8Z kubelet[25815]: E0717 12:50:24.726856   25815 runtime.go:66] Observed a panic: "index out of range" (runtime error
: index out of range)
```

**Release note**:

```
NONE
```
2018-07-27 12:57:11 -07:00
stewart-yu
55251c716a update the import file for move util/pointer to k8s.io/utils 2018-07-27 19:47:02 +08:00
Kubernetes Submit Queue
ed58d0dfd4
Merge pull request #63955 from k82cn/k8s_63897
Automatic merge from submit-queue. 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>.

Taint node when initializing node.

Signed-off-by: Da K. Ma <klaus1982.cn@gmail.com>

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #63897 

**Release note**:
```release-note
If `TaintNodesByCondition` enabled, taint node with `TaintNodeUnschedulable` when
initializing node to avoid race condition.
```
2018-07-26 21:01:16 -07:00
Kubernetes Submit Queue
cef2d325ee
Merge pull request #66395 from awly/fix-kubelet-exec-plugin-startup
Automatic merge from submit-queue. 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>.

Update http.Transport if it already exists in ExecProvider

**What this PR does / why we need it**:
This unbreaks ExecPlugin. Without the change, we hit this error
https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/client-go/transport/transport.go#L32

**Release note**:
```release-note
Fix kubelet startup failure when using ExecPlugin in kubeconfig
```
2018-07-26 10:47:05 -07:00
Andrew Lytvynov
3357b5ecf4 Set connrotation dialer via restclient.Config.Dialer
Instead of Transport. This fixes ExecPlugin, which fails if
restclient.Config.Transport is set.
2018-07-25 16:23:57 -07:00
stewart-yu
ffbd7b22b3 remove the unnecessary comments in tryRegisterWithAPIServer for externalID removed in PR#61877 2018-07-25 11:23:56 +08:00
bingshen.wbs
b1bdd043c4 fix kubelet npe on device plugin return zero container
Signed-off-by: bingshen.wbs <bingshen.wbs@alibaba-inc.com>
2018-07-25 10:15:30 +08:00
Pengfei Ni
cfb776dcdd Revert #63905: Setup dns servers and search domains for Windows Pods 2018-07-25 09:58:47 +08:00
Seth Jennings
b1ec6da4c7 kubelet: add image-gc low/high validation check 2018-07-23 13:14:31 -05:00
Da K. Ma
aac9f1cbaa Taint node when initializing node.
Signed-off-by: Da K. Ma <klaus1982.cn@gmail.com>
2018-07-23 12:52:05 +08:00
Lee Verberne
7c558fb7bb Remove kubelet-level docker shared pid flag
The --docker-disable-shared-pid flag has been deprecated since 1.10 and
has been superceded by ShareProcessNamespace in the pod API, which is
scheduled for beta in 1.12.
2018-07-22 16:54:44 +02:00
Kubernetes Submit Queue
53ee0c8652
Merge pull request #65660 from mtaufen/incremental-refactor-kubelet-node-status
Automatic merge from submit-queue (batch tested with PRs 66152, 66406, 66218, 66278, 65660). 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>.

Refactor kubelet node status setters, add test coverage

This internal refactor moves the node status setters to a new package, explicitly injects dependencies to facilitate unit testing, and adds individual unit tests for the setters.

I gave each setter a distinct commit to facilitate review.

Non-goals:
- I intentionally excluded the class of setters that return a "modified" boolean, as I want to think more carefully about how to cleanly handle the behavior, and this PR is already rather large.
- I would like to clean up the status update control loops as well, but that belongs in a separate PR.

```release-note
NONE
```
2018-07-20 12:12:24 -07:00
Ravi Sankar Penta
0282720e29 Do not set cgroup parent when --cgroups-per-qos is disabled
When --cgroups-per-qos=false (default is true), kubelet sets pod
container management to podContainerManagerNoop implementation and
GetPodContainerName() returns '/' as cgroup parent (default cgroup root).

(1) In case of 'systemd' cgroup driver, '/' is invalid parent as
docker daemon expects '.slice' suffix and throws this error:
'cgroup-parent for systemd cgroup should be a valid slice named as \"xxx.slice\"'
(5fc12449d8/daemon/daemon_unix.go (L618))
'/' corresponds to '-.slice' (root slice) in systemd but I don't think
we want to assign root slice instead of runtime specific default value.
In case of docker runtime, this will be 'system.slice'
(e2593239d9/daemon/oci_linux.go (L698))

(2) In case of 'cgroupfs' cgroup driver, '/' is valid parent but I don't
think we want to assign root instead of runtime specific default value.
In case of docker runtime, this will be '/docker'
(e2593239d9/daemon/oci_linux.go (L695))

Current fix will not set the cgroup parent when --cgroups-per-qos is disabled.
2018-07-20 10:25:50 -07:00
Pengfei Ni
4272c0fde6 Add unit tests for windows stats 2018-07-20 13:01:23 +08:00
Kubernetes Submit Queue
d2cc34fb07
Merge pull request #65771 from smarterclayton/untyped
Automatic merge from submit-queue (batch tested with PRs 65771, 65849). 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>.

Add a new conversion path to replace GenericConversionFunc

reflect.Call is very expensive. We currently use a switch block as part of AddGenericConversionFunc to avoid the bulk of top level a->b conversion for our primary types which is hand-written. Instead of having these be handwritten, we should generate them.

The pattern for generating them looks like:

```
scheme.AddConversionFunc(&v1.Type{}, &internal.Type{}, func(a, b interface{}, scope conversion.Scope) error {
  return Convert_v1_Type_to_internal_Type(a.(*v1.Type), b.(*internal.Type), scope)
})
```

which matches AddDefaultObjectFunc (which proved out the approach last year). The
conversion machinery should then do a simple map lookup based on the incoming types and invoke the function.  Like defaulting, it's up to the caller to match the types to arguments, which we do by generating this code.  This bypasses reflect.Call and in the future allows Golang mid-stack inlining to optimize this code.

As part of this change I strengthened registration of custom functions to be generated instead of hand registered, and also strengthened error checking of the generator when it sees a manual conversion to error out.  Since custom functions are automatically used by the generator, we don't really have a case for not registering the functions.

Once this is fully tested out, we can remove the reflection based path and the old registration methods, and all conversion will work from point to point methods (whether generated or custom).

Much of the need for the reflection path has been removed by changes to generation (to omit fields) and changes to Go (to make assigning equivalent structs easy).

```release-note
NONE
```
2018-07-19 09:29:00 -07:00
Pengfei Ni
a2fe1ab059 Add stats for system containers "pods" 2018-07-19 22:20:24 +08:00
Kubernetes Submit Queue
afcc156806
Merge pull request #66350 from aveshagarwal/master-rhbz-1601378
Automatic merge from submit-queue (batch tested with PRs 66175, 66324, 65828, 65901, 66350). 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>.

Start cloudResourceSyncsManager before getNodeAnyWay (initializeModules) to avoid kubelet getting stuck in retrieving node addresses from a cloudprovider.

**What this PR does / why we need it**:
This PR starts cloudResourceSyncsManager before getNodeAnyWay (initializeModules) otherwise kubelet gets stuck in setNodeAddress->kl.cloudResourceSyncManager.NodeAddresses() (https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/kubelet_node_status.go#L470) forever retrieving node addresses from a cloud provider, and due to this cloudResourceSyncsManager will not be started at all.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
None
```

@ingvagabund @derekwaynecarr @sjenning @kubernetes/sig-node-bugs
2018-07-18 16:42:22 -07:00
Avesh Agarwal
6c33ca13e9 Start cloudResourceSyncsManager before getNodeAnyWay (initializeModules)
so that kubelet does not get stuck in retriving node addresses from a cloudprovider.
2018-07-18 15:15:03 -04:00
Clayton Coleman
ef561ba8b5
generated: Avoid use of reflect.Call in conversion code paths 2018-07-17 23:02:16 -04:00
Shimin Guo
e8cd28ae57 fix a panic due to assignment to nil map 2018-07-17 12:34:20 -07:00
vikaschoudhary16
a5842503eb Use probe based plugin discovery mechanism in device manager 2018-07-17 04:02:31 -04:00
chentao1596
ce3f5002dd Add unit tests for methods of pod's format 2018-07-17 15:37:13 +08:00
chentao1596
9319be121e Change the method name from PodsWithDeletiontimestamps to PodsWithDeletionTimestamps 2018-07-17 15:34:32 +08:00
Pingan2017
45fac6f469 delete unused events 2018-07-17 14:19:50 +08:00
Michael Taufen
0f8976bf84 eliminate unnecessary helper 2018-07-16 09:09:48 -07:00
Michael Taufen
0170826542 port setVolumeLimits to Setter abstraction, add test 2018-07-16 09:09:48 -07:00
Michael Taufen
c5a5e21639 port setNodeStatusGoRuntime to Setter abstraction 2018-07-16 09:09:48 -07:00
Michael Taufen
8e217f7102 port setNodeStatusImages to Setter abstraction, add test 2018-07-16 09:09:47 -07:00
Michael Taufen
b7ec333f01 port setNodeStatusDaemonEndpoints to Setter abstraction 2018-07-16 09:09:47 -07:00
Michael Taufen
59bb21051e port setNodeStatusVersionInfo to Setter abstraction, add test 2018-07-16 09:09:47 -07:00
Michael Taufen
596fa89af0 port setNodeStatusMachineInfo to Setter abstraction, add test 2018-07-16 09:09:47 -07:00
Michael Taufen
aa94a3ba4e lift node-info setters into defaultNodeStatusFuncs
Instead of hiding these behind a helper, we just register them in a
uniform way. We are careful to keep the call-order of the setters the
same, though we can consider re-ordering in a future PR to achieve
fewer appends.
2018-07-16 09:09:47 -07:00
Michael Taufen
2df7e1ad5c port setNodeVolumesInUseStatus to Setter abstraction, add test 2018-07-16 09:09:47 -07:00
Michael Taufen
3e03e0611e port setNodeReadyCondition to Setter abstraction, add test 2018-07-16 09:09:47 -07:00
Michael Taufen
e0b6ae219f port setNodePIDPressureCondition to Setter abstraction, add test 2018-07-16 09:09:47 -07:00
Michael Taufen
b26e4dfa7f port setNodeDiskPressureCondition to Setter abstraction, add test 2018-07-16 09:09:47 -07:00
Michael Taufen
f057c9a4ae port setNodeMemoryPressureCondition to Setter abstraction, add test 2018-07-16 09:09:47 -07:00
Michael Taufen
c33f321acd port setNodeOODCondition to Setter abstraction 2018-07-16 09:09:47 -07:00
Michael Taufen
15b03b8c0c port setNodeAddress to Setter abstraction, port test
also put cloud_request_manager.go in its own package
2018-07-16 09:09:47 -07:00
Michael Taufen
a3cbbbd931 move call to defaultNodeStatusFuncs to after the rest of the Kubelet is constructed 2018-07-16 09:03:13 -07:00
Michael Taufen
08c94e0616 add nodestatus package with Setter abstraction for composable node constructors 2018-07-16 09:03:13 -07:00
Michael Taufen
d245e72bae remove incorrect comment referencing removed functionality
The cbr0 configuration behavior this comment references was removed in #34906
2018-07-16 09:03:13 -07:00
linyouchong
6ff285bce3 fix nil pointer dereference in node_container_manager#enforceExistingCgroup 2018-07-14 10:42:42 +08:00
Joonyoung Park
e6d02e9410 fix metrics help comment
pod_start_latency_microseconds is not broken down by podname.
2018-07-13 10:26:35 +09:00
Kubernetes Submit Queue
337dfe0a9c
Merge pull request #65594 from liggitt/node-csr-addresses-2
Automatic merge from submit-queue (batch tested with PRs 65052, 65594). 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>.

Derive kubelet serving certificate CSR template from node status addresses

xref https://github.com/kubernetes/features/issues/267
fixes #55633

Builds on https://github.com/kubernetes/kubernetes/pull/65587

* Makes the cloud provider authoritative when recording node status addresses
* Makes the node status addresses authoritative for the kube-apiserver determining how to speak to a kubelet (stops paying attention to the hostname label when determining how to reach a kubelet, which was only done to support kubelets < 1.5)
* Updates kubelet certificate rotation to be driven from node status
  * Avoids needing to compute node addresses a second time, and differently, in order to request serving certificates.
  * Allows the kubelet to react to changes in its status addresses by updating its serving certificate
  * Allows the kubelet to be driven by external cloud providers recording node addresses on the node status

test procedure:
```sh
# setup
export FEATURE_GATES=RotateKubeletServerCertificate=true
export KUBELET_FLAGS="--rotate-server-certificates=true --cloud-provider=external"

# cleanup from previous runs
sudo rm -fr /var/lib/kubelet/pki/

# startup
hack/local-up-cluster.sh

# wait for a node to register, verify it didn't set addresses
kubectl get nodes 
kubectl get node/127.0.0.1 -o jsonpath={.status.addresses}

# verify the kubelet server isn't available, and that it didn't populate a serving certificate
curl --cacert _output/certs/server-ca.crt -v https://localhost:10250/pods
ls -la /var/lib/kubelet/pki

# set an address on the node
curl -X PATCH http://localhost:8080/api/v1/nodes/127.0.0.1/status \
  -H "Content-Type: application/merge-patch+json" \
  --data '{"status":{"addresses":[{"type":"Hostname","address":"localhost"}]}}'

# verify a csr was submitted with the right SAN, and approve it
kubectl describe csr
kubectl certificate approve csr-...

# verify the kubelet connection uses a cert that is properly signed and valid for the specified hostname, but NOT the IP
curl --cacert _output/certs/server-ca.crt -v https://localhost:10250/pods
curl --cacert _output/certs/server-ca.crt -v https://127.0.0.1:10250/pods
ls -la /var/lib/kubelet/pki

# set an hostname and IP address on the node
curl -X PATCH http://localhost:8080/api/v1/nodes/127.0.0.1/status \
  -H "Content-Type: application/merge-patch+json" \
  --data '{"status":{"addresses":[{"type":"Hostname","address":"localhost"},{"type":"InternalIP","address":"127.0.0.1"}]}}'

# verify a csr was submitted with the right SAN, and approve it
kubectl describe csr
kubectl certificate approve csr-...

# verify the kubelet connection uses a cert that is properly signed and valid for the specified hostname AND IP
curl --cacert _output/certs/server-ca.crt -v https://localhost:10250/pods
curl --cacert _output/certs/server-ca.crt -v https://127.0.0.1:10250/pods
ls -la /var/lib/kubelet/pki
```

```release-note
* kubelets that specify `--cloud-provider` now only report addresses in Node status as determined by the cloud provider
* kubelet serving certificate rotation now reacts to changes in reported node addresses, and will request certificates for addresses set by an external cloud provider
```
2018-07-11 22:25:07 -07:00
Seth Jennings
f2a7654978 move feature gate checks inside IsCriticalPod 2018-07-11 16:10:05 -05:00
Kubernetes Submit Queue
0972ce1acc
Merge pull request #65649 from rsc/fix-printf
Automatic merge from submit-queue (batch tested with PRs 66076, 65792, 65649). 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>.

kubernetes: fix printf format errors

These are all flagged by Go 1.11's
more accurate printf checking in go vet,
which runs as part of go test.

```release-note
NONE
```
2018-07-11 14:09:08 -07:00
jiaxuanzhou
6ac4a8588e fix bug for garbage collection 2018-07-11 09:33:08 +08:00
Russ Cox
2bd91dda64 kubernetes: fix printf format errors
These are all flagged by Go 1.11's
more accurate printf checking in go vet,
which runs as part of go test.

Lubomir I. Ivanov <neolit123@gmail.com>
applied ammend for:
  pkg/cloudprovider/provivers/vsphere/nodemanager.go
2018-07-11 00:10:15 +03:00
Kubernetes Submit Queue
421789328f
Merge pull request #65997 from tallclair/writer
Automatic merge from submit-queue (batch tested with PRs 66030, 65997). 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>.

Remove unused io util writer & volume host GetWriter()

Cleanup unused code.
Fixes https://github.com/kubernetes/kubernetes/issues/16971

**Release note**:
```release-note
NONE
```

/kind cleanup
/sig storage
2018-07-10 12:46:09 -07:00
Jordan Liggitt
7828e5d0f9
Make cloud provider authoritative for node status address reporting 2018-07-10 14:33:48 -04:00
Jordan Liggitt
db9d3c2d10
Derive kubelet serving certificate CSR template from node status addresses 2018-07-10 14:33:48 -04:00
Kubernetes Submit Queue
13f9c26fd7
Merge pull request #65902 from wojtek-t/kube_proxy_less_allocations_2
Automatic merge from submit-queue (batch tested with PRs 65902, 65781). 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>.

Avoid unnecessary allocations in kube-proxy
2018-07-09 23:07:01 -07:00
Kubernetes Submit Queue
55620e2be6
Merge pull request #65987 from Random-Liu/fix-pod-worker-deadlock
Automatic merge from submit-queue (batch tested with PRs 65987, 65962). 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 pod worker deadlock.

Preemption will stuck forever if `killPodNow` timeout once. The sequence is:
* `killPodNow` create the response channel (size 0) and send it to pod worker.
* `killPodNow` timeout and return.
*  Pod worker finishes killing the pod, and tries to send back response via the channel.

However, because the channel size is 0, and the receiver has exited, the pod worker will stuck forever.

In @jingxu97's case, this causes a critical system pod (apiserver) unable to come up, because the csi pod can't be preempted.

I checked the history, and the bug was introduced 2 years ago 6fefb428c1.

I think we should at least cherrypick this to `1.11` since preemption is beta and enabled by default in 1.11.

@kubernetes/sig-node-bugs @derekwaynecarr @dashpole @yujuhong 
Signed-off-by: Lantao Liu <lantaol@google.com>

```release-note
none
```
2018-07-09 16:53:59 -07:00
Tim Allclair
b1012b2543
Remove unused io util writer & volume host GetWriter() 2018-07-09 14:09:48 -07:00
Lantao Liu
0f4c739b2c Fix pod worker deadlock.
Signed-off-by: Lantao Liu <lantaol@google.com>
2018-07-09 11:45:26 -07:00
Kubernetes Submit Queue
f70410959d
Merge pull request #65226 from ingvagabund/store-cloud-provider-latest-node-addresses
Automatic merge from submit-queue. 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>.

Store the latest cloud provider node addresses

**What this PR does / why we need it**:
Buffer the recently retrieved node address so they can be used as soon as the next node status update is run.


**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #65814

**Special notes for your reviewer**:

**Release note**:

```release-note
None
```
2018-07-09 10:47:07 -07:00
Kubernetes Submit Queue
e943d09fa3
Merge pull request #63194 from m1093782566/cni-ts
Automatic merge from submit-queue. 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>.

Adding traffic shaping support for CNI network driver

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

Adding traffic shaping support for CNI network driver - it's also a sub-task of kubenet deprecation work.

Design document is available here: https://github.com/kubernetes/community/pull/1893

**Which issue(s) this PR fixes**:
Fixes #

**Special notes for your reviewer**:

/cc @freehan @jingax10 @caseydavenport @dcbw 

/sig network
/sig node

**Release note**:

```release-note
Support traffic shaping for CNI network driver
```
2018-07-08 23:54:25 -07:00
liangwei
34d848eb1a add cni bandwidth test 2018-07-09 09:51:33 +08:00
m1093782566
8038a0dfa6 add traffic shaping support for CNI network driver 2018-07-08 22:22:25 +08:00
wojtekt
6e50f39dbd Avoid allocations when parsing iptables 2018-07-08 10:55:19 +02:00
Kubernetes Submit Queue
097f300a4d
Merge pull request #65707 from dims/remove-deprecated-cadvisor-port
Automatic merge from submit-queue. 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>.

Remove --cadvisor-port - has been deprecated since v1.10

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

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #56523

**Special notes for your reviewer**:
- Deprecated in https://github.com/kubernetes/kubernetes/pull/59827 (v1.10)
- Disabled in https://github.com/kubernetes/kubernetes/pull/63881 (v1.11)

**Release note**:

```release-note
[action required] The formerly publicly-available cAdvisor web UI that the kubelet started using `--cadvisor-port` is now entirely removed in 1.12. The recommended way to run cAdvisor if you still need it, is via a DaemonSet.
```
2018-07-07 05:28:13 -07:00
Lantao Liu
3193a4a469 Fix RunAsGroup. 2018-07-06 15:42:26 -07:00
choury
8e4b62a74b
Remove duplicate check line
There is a same [line](https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/cm/cpumanager/policy_static.go#L81).
2018-07-05 11:07:56 +08:00
Jordan Liggitt
b7b4b84afe
Add healthz check to ensure logging is not blocked 2018-07-03 22:27:23 -04:00
Jan Chaloupka
9d9fb4de29 Put all the node address cloud provider retrival complex logic into cloudResourceSyncManager 2018-07-03 20:11:35 +02:00
Davanum Srinivas
5feab86329
Remove --cadvisor-port - has been deprecated since v1.10
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2018-07-02 08:54:14 -04:00
wojtekt
e50c0b904f Speed up cluster startup in GCE 2018-07-02 10:22:32 +02:00
Kubernetes Submit Queue
b265f7c682
Merge pull request #65582 from dtaniwaki/fix-test-failure-of-truncated-time
Automatic merge from submit-queue (batch tested with PRs 65582, 65480, 65310, 65644, 65645). 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 test failure of truncated time

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

The test of `TestFsStoreAssignedModified` in `pkg/kubelet/kubeletconfig/checkpoint/store` fails in my environment like below.

```
$ make test WHAT=./pkg/kubelet/kubeletconfig/checkpoint/store/
Running tests for APIVersion: v1,admissionregistration.k8s.io/v1alpha1,admissionregistration.k8s.io/v1beta1,admission.k8s.io/v1beta1,apps/v1beta1,apps/v1beta2,apps/v1,authentication.k8s.io/v1,authentication.k8s.io/v1beta1,authorization.k8s.io/v1,authorization.k8s.io/v1beta1,autoscaling/v1,autoscaling/v2beta1,batch/v1,batch/v1beta1,batch/v2alpha1,certificates.k8s.io/v1beta1,coordination.k8s.io/v1beta1,extensions/v1beta1,events.k8s.io/v1beta1,imagepolicy.k8s.io/v1alpha1,networking.k8s.io/v1,policy/v1beta1,rbac.authorization.k8s.io/v1,rbac.authorization.k8s.io/v1beta1,rbac.authorization.k8s.io/v1alpha1,scheduling.k8s.io/v1alpha1,scheduling.k8s.io/v1beta1,settings.k8s.io/v1alpha1,storage.k8s.io/v1beta1,storage.k8s.io/v1,storage.k8s.io/v1alpha1,
+++ [0628 22:53:39] Running tests without code coverage
--- FAIL: TestFsStoreAssignedModified (0.00s)
        fsstore_test.go:316: expect "2018-06-28T22:53:43+09:00" but got "2018-06-28T22:53:43+09:00"
FAIL
FAIL    k8s.io/kubernetes/pkg/kubelet/kubeletconfig/checkpoint/store    0.236s
make: *** [test] Error 1
```

My environment is
OS: macOS Sierra Version 10.12.6
File System: Journaled HFS+

The error message confused me because the comparing times looked the same in the error log. If we know certain systems truncate times, I think we can just compare less precise times to avoid confusions in tests.

**Special notes for your reviewer**:
N/A

**Release note**:

```release-note
NONE
```
2018-06-29 20:14:06 -07:00
Daisuke Taniwaki
7d4c85b02c
Fix test failure of truncated time 2018-06-30 01:14:44 +09:00
Kubernetes Submit Queue
93f3249e3c
Merge pull request #65595 from sjenning/feature-gate-lsi-capacity
Automatic merge from submit-queue (batch tested with PRs 60150, 65467, 65487, 65595, 65374). 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: feature gate LSI capacity calculation

Currently if `cm.cadvisorInterface.RootFsInfo()` fails, the whole kubelet bails.  If `/var/lib/kubelet` is on a tmpfs or bindmount, this can happen (this is the case for some of our CI envs https://github.com/openshift/origin/issues/19948).

We would be able to workaround this, in the short term, by disabling the LSI feature gate if the capacity calculate was protected by the gate, but currently it isn't.

This PR adds the gate check around setting the ephemeral storage capacity.

@liggitt @derekwaynecarr @dashpole 

It might be a different discussion about whether or not this should be fatal.  If it isn't fatal, seems that it would just prevent pods that had a ephemeral storage request from being scheduled.

/sig node
2018-06-28 19:15:15 -07:00
Kubernetes Submit Queue
c57cdc1d35
Merge pull request #65587 from liggitt/node-csr-addresses-1
Automatic merge from submit-queue. 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>.

Revert "certs: only append locally discovered addresses when we got none from the cloudprovider"

This reverts commit 7354bbe5ac.

https://github.com/kubernetes/kubernetes/pull/61869 caused a mismatch between the requested CSR and the addresses in node status.

Instead of computing addresses in two places, the cert manager should derive its CSR request from the addresses in node status. This would enable the kubelet to react to address changes, as well as be driven by an external cloud provider.

/cc @mikedanese

```release-note
NONE
```
2018-06-28 17:36:45 -07:00
Kubernetes Submit Queue
44073e6f43
Merge pull request #64660 from figo/master
Automatic merge from submit-queue. 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>.

Add support for plugin directory hierarchy

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

Add hierarchy support for plugin directory, it traverses and 
watch plugin directory and its sub directory recursively.

plugin socket file only need be unique within one directory,
``` 
 plugin socket directory  
    |  
    ---->sub directory 1
    |              |  
    |              ----->  socket1,  socket2 ...
    ----->sub directory 2
                  |
                  ------> socket1, socket2 ...  
```
the design itself allow sub directory be anything,
but in practical, each plugin type could just use one sub directory.

**Which issue(s) this PR fixes**:
Fixes #64003

**Special notes for your reviewer**:

twos bonus changes added as below

1) propose to let pluginWatcher bookkeeping registered plugins,
to make sure plugin name is unique within one plugin type.  
arguably, we could let each handler do the same work, but it requires
every handler repeat the same thing.    
 
2) extract example handler out from test, it is easier to read the code with the
seperation.  


**Release note**:

```release-note
N/A
```

/sig node
/cc @vikaschoudhary16  @jiayingz @RenaudWasTaken @vishh @derekwaynecarr  @saad-ali @vladimirvivien @dchen1107 @yujuhong @tallclair @Random-Liu @anfernee @akutz
2018-06-28 14:53:44 -07:00
Seth Jennings
3234b0fa5b feature gate LSI capacity calculation 2018-06-28 14:01:08 -05:00
Jordan Liggitt
f1adf74b4e
Revert "certs: only append locally discovered addresses when we got none from the cloudprovider"
This reverts commit 7354bbe5ac.
2018-06-28 12:36:24 -04:00
Kubernetes Submit Queue
270b675c61
Merge pull request #65513 from tallclair/test-cleanup2
Automatic merge from submit-queue (batch tested with PRs 65453, 65523, 65513, 65560). 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>.

Cleanup verbose cAdvisor mocking in Kubelet unit tests

These tests had a lot of duplicate code to set up the cAdvisor mock, but weren't really depending on the mock functionality. By moving the tests to use the fake cAdvisor, most of the setup can be cleaned up.

/kind cleanup
/sig node

```release-note
NONE
```
2018-06-27 22:30:12 -07:00
ceshihao
3b9ed9afff pod status should contain ContainerStatuses after eviction 2018-06-28 11:52:08 +08:00
Tim Allclair
5955b839ff
Cleanup verbose cAdvisor mocking in Kubelet unit tests 2018-06-27 11:53:41 -07:00
stewart-yu
d5513c6d14 fix wrong output messages about EnforceNodeAllocatable 2018-06-27 15:31:32 +08:00
Kubernetes Submit Queue
991a84758f
Merge pull request #59214 from kdembler/cpumanager-checkpointing
Automatic merge from submit-queue (batch tested with PRs 59214, 65330). 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>.

Migrate cpumanager to use checkpointing manager

**What this PR does / why we need it**:
This PR migrates `cpumanager` to use new kubelet level node checkpointing feature (#56040) to decrease code redundancy and improve consistency.

**Which issue(s) this PR fixes**:
Fixes #58339

**Notes**:
At point of submitting PR the most straightforward approach was used - `state_checkpoint` implementation of `State` interface was added. However, with checkpointing implementation there might be no point to keep `State` interface and just use single implementation with checkpoint backend and in case of different backend than filestore needed just supply `cpumanager` with custom `CheckpointManager` implementation.

/kind feature
/sig node
cc @flyingcougar @ConnorDoyle
2018-06-25 18:19:00 -07:00
hui luo
d04f596829 Add hierarchy support for plugin directory
it traverses and watch plugin directory and its sub directory recursively,
plugin socket file only need be unique within one directory,

- plugin socket directory
-    |
-    ---->sub directory 1
-    |              |
-    |              ----->  socket1,  socket2 ...
-    ----->sub directory 2
-                  |
-                  ------> socket1, socket2 ...

the design itself allow sub directory be anything,
but in practical, each plugin type could just use one sub directory.

four bonus changes added as below

1. extract example handler out from test, it is easier to read the code
with the seperation.

2. there are two variables here: "Watcher" and "watcher".
"Watcher" is the plugin watcher, and "watcher" is the fsnotify watcher.
so rename the "watcher" to "fsWatcher" to make code easier to
understand.

3. change RegisterCallbackFn() return value order, it is
conventional to return error last, after this change,
the pkg/volume/csi is compliance with golint, so remove it
from hack/.golint_failures

4. refactor errors handling at invokeRegistrationCallbackAtHandler()
to make error message more clear.
2018-06-25 17:32:18 -07:00
Jeff Grafton
23ceebac22 Run hack/update-bazel.sh 2018-06-22 16:22:57 -07:00
Jeff Grafton
a725660640 Update to gazelle 0.12.0 and run hack/update-bazel.sh 2018-06-22 16:22:18 -07:00
Jeff Grafton
01f94051c8 Remove the go_default_library_protos filegroups using buildozer 2018-06-22 16:22:18 -07:00
Kubernetes Submit Queue
f09a938bcd
Merge pull request #64675 from yue9944882/fix-data-race-cli-file-linux
Automatic merge from submit-queue (batch tested with PRs 61330, 64793, 64675, 65059, 65368). 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>.

Fixes data races for pkg/kubelet/config/file_linux_test.go

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

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #64655

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-06-22 14:52:37 -07:00
Kubernetes Submit Queue
1ca851baec
Merge pull request #64860 from wgliang/master.kubelet-check-limit
Automatic merge from submit-queue (batch tested with PRs 65290, 65326, 65289, 65334, 64860). 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>.

checkLimitsForResolvConf for the  pod create and update events instead of checking period

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

- Check for the same at pod create and update events instead of checking continuously for every 30 seconds.
- Increase the logging level to 4 or higher since the event is not catastrophic to cluster health .


**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #64849

**Special notes for your reviewer**:
@ravisantoshgudimetla 

**Release note**:

```release-note
checkLimitsForResolvConf for the  pod create and update events instead of checking period
```
2018-06-22 04:43:16 -07:00
Kubernetes Submit Queue
96c7f3a34a
Merge pull request #64752 from wojtek-t/default_to_watching_managers
Automatic merge from submit-queue (batch tested with PRs 65187, 65206, 65223, 64752, 65238). 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 watches necessary secrets/configmaps instead of periodic polling
2018-06-21 19:48:14 -07:00
Kubernetes Submit Queue
02dba36128
Merge pull request #65019 from mirake/fix-typo-toto
Automatic merge from submit-queue (batch tested with PRs 65265, 64822, 65026, 65019, 65077). 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>.

Typo fix: toto -> to
2018-06-21 11:25:16 -07:00
Kubernetes Submit Queue
d1f5cb2348
Merge pull request #65050 from sttts/sttts-deepcopy-update
Automatic merge from submit-queue (batch tested with PRs 64895, 64938, 63700, 65050, 64957). 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>.

Bump gengo to include uniform pointer deepcopy

This bumps k8s.io/gengo with uniform pointer support in deepcopy-gen.

Fixes https://github.com/kubernetes/code-generator/issues/45.
2018-06-21 04:15:16 -07:00
Kubernetes Submit Queue
332da0a943
Merge pull request #64491 from hzxuzhonghu/kubelet-node-schedule-event-record
Automatic merge from submit-queue. 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>.

move oldNodeUnschedulable pkg var to kubelet struct

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

move oldNodeUnschedulable pkg var to kubelet struct


**Release note**:

```release-note
NONE
```
2018-06-20 23:02:52 -07:00
Kubernetes Submit Queue
ce09da5653
Merge pull request #64880 from dixudx/manifest_file_not_found
Automatic merge from submit-queue (batch tested with PRs 58690, 64773, 64880, 64915, 64831). 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>.

ignore not found file error when watching manifests

**What this PR does / why we need it**:
An alternative of #63910.

When using vim to create a new file in manifest folder, a temporary file, with an arbitrary number (like 4913) as its name, will be created to check if a directory is writable and see the resulting ACL.

These temporary files will be deleted later, which should by ignored when watching the manifest folder.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #55928, #59009, #48219

**Special notes for your reviewer**:
/cc dims luxas yujuhong liggitt tallclair

**Release note**:

```release-note
ignore not found file error when watching manifests
```
2018-06-20 14:21:17 -07:00
Kubernetes Submit Queue
aa25539ef6
Merge pull request #64451 from wgliang/master.remove-kubelet
Automatic merge from submit-queue (batch tested with PRs 64688, 64451, 64504, 64506, 56358). 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>.

cleanup some dead kubelet code

**Release note**:

```release-note
NONE
```
2018-06-20 05:48:11 -07:00
Kubernetes Submit Queue
a622f1404c
Merge pull request #64672 from mcluseau/wip-remote-grpc-message-size
Automatic merge from submit-queue (batch tested with PRs 65032, 63471, 64104, 64672, 64427). 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>.

pkg: kubelet: remote: increase grpc client default size to 16MiB

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

Increase the gRPC max message size to 16MB in the remote container runtime. I've seen sizes over 8MB in clusters with big (256GB RAM) nodes.

**Release note**:
```release-note
Increase the gRPC max message size to 16MB in the remote container runtime.
```
2018-06-20 04:23:21 -07:00
Kubernetes Submit Queue
381b663b66
Merge pull request #63580 from dixudx/fix_cni_flag_binding
Automatic merge from submit-queue. 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>.

bind alpha feature network plugin flags correctly

**What this PR does / why we need it**:
When working #63542, I found the flags, like `--cni-conf-dir` and `cni-bin-dir`, were not correctly bound.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:
/cc kubernetes/sig-node-pr-reviews

**Release note**:

```release-note
None
```
2018-06-20 01:26:52 -07:00
Kubernetes Submit Queue
148350d3c4
Merge pull request #64426 from cofyc/remove_unnecessary_fakemounters
Automatic merge from submit-queue (batch tested with PRs 64142, 64426, 62910, 63942, 64548). 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>.

Clean up fake mounters.

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

Fixes https://github.com/kubernetes/kubernetes/issues/61502

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

list of fake mounters:

- (keep) pkg/util/mount.FakeMounter
- (removed) pkg/kubelet/cm.fakeMountInterface:
- (inherit from mount.FakeMounter) pkg/util/mount.fakeMounter
- (inherit from mount.FakeMounter) pkg/util/removeall.fakeMounter
- (removed) pkg/volume/host_path.fakeFileTypeChecker

**Release note**:

```release-note
NONE
```
2018-06-20 00:05:10 -07:00
Kubernetes Submit Queue
c399c306e2
Merge pull request #59174 from tianshapjq/todo-already-done
Automatic merge from submit-queue (batch tested with PRs 65230, 57355, 59174, 63698, 63659). 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>.

TODO has already been implemented

**What this PR does / why we need it**:
TODO has already been implemented, remove the TODO tag.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note

```NONE
2018-06-19 20:19:17 -07:00
wojtekt
72a0f4d167 Enable watching secret and configmap manager 2018-06-19 22:13:18 +02:00
wojtekt
ffb32472bb Kubelet manager configuration 2018-06-19 22:12:55 +02:00
vikaschoudhary16
e8119dc134 Start plugin watcher after initialization of all kubelet components 2018-06-14 01:03:37 -04:00
Andrew Lytvynov
2c0f043957 Re-use private key after failed CSR
If we create a new key on each CSR, if CSR fails the next attempt will
create a new one instead of reusing previous CSR.

If approver/signer don't handle CSRs as quickly as new nodes come up,
they can pile up and approver would keep handling old abandoned CSRs and
Nodes would keep timing out on startup.
2018-06-13 13:12:43 -07:00
Seth Jennings
f1551798e4 reduce logging for backoff situations 2018-06-13 13:25:20 -05:00
Dr. Stefan Schimanski
1208437f84 Update generated files 2018-06-13 12:35:13 +02:00
Kubernetes Submit Queue
bb7e14429d
Merge pull request #64922 from dcbw/dcbw-dockershim-network-approver
Automatic merge from submit-queue. 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>.

dockershim/network: add dcbw to OWNERS as an approver

I've been involved with the kubelet network code, including most
of this code, for a couple years and contributed a good number
of PRs for these directories. I've also been a SIG Network
co-lead for couple years.

I've also been on the CNI maintainers team for a couple years.

```release-note
NONE
```
@freehan @thockin @kubernetes/sig-network-pr-reviews
2018-06-12 13:31:15 -07:00
Kubernetes Submit Queue
67ebbc675a
Merge pull request #64862 from feiskyer/win-cni
Automatic merge from submit-queue. 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>.

Revert #64189: Fix Windows CNI for the sandbox case

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

This reverts PR #64189, which breaks DNS for Windows containers.

Refer https://github.com/kubernetes/kubernetes/pull/64189#issuecomment-395248704

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #64861

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

cc @madhanrm @PatrickLang @alinbalutoiu @dineshgovindasamy
2018-06-12 11:18:01 -07:00
ruicao
95c232ee07 Typo fix: toto -> to 2018-06-12 23:12:39 +08:00
Kubernetes Submit Queue
8e03228c1a
Merge pull request #64643 from dashpole/memcg_poll
Automatic merge from submit-queue (batch tested with PRs 64503, 64903, 64643, 64987). 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>.

Use unix.EpollWait to determine when memcg events are available to be Read

**What this PR does / why we need it**:
This fixes a file descriptor leak introduced in https://github.com/kubernetes/kubernetes/pull/60531 when the `--experimental-kernel-memcg-notification` kubelet flag is enabled.  The root of the issue is that `unix.Read` blocks indefinitely when reading from an event file descriptor and there is nothing to read.  Since we refresh the memcg notifications, these reads accumulate until the memcg threshold is crossed, at which time all reads complete.  However, if the node never comes under memory pressure, the node can run out of file descriptors.

This PR changes the eviction manager to use `unix.EpollWait` to wait, with a 10 second timeout, for events to be available on the eventfd.  We only read from the eventfd when there is an event available to be read, preventing an accumulation of `unix.Read` threads, and allowing the event file descriptors to be reclaimed by the kernel.

This PR also breaks the creation, and updating of the memcg threshold into separate portions, and performs creation before starting the periodic synchronize calls.  It also moves the logic of configuring memory thresholds into memory_threshold_notifier into a separate file.

This also reverts https://github.com/kubernetes/kubernetes/pull/64582, as the underlying leak that caused us to disable it for testing is fixed here.

Fixes #62808

**Release note**:
```release-note
NONE
```

/sig node
/kind bug
/priority critical-urgent
2018-06-11 17:29:19 -07:00
David Ashpole
b7deb6d9e0 fix eviction event formatting 2018-06-11 11:38:00 -07:00
David Ashpole
93b6d026d9 fix memcg fd leak 2018-06-11 11:37:50 -07:00
Dan Williams
37792076b4 dockershim/network: add dcbw to OWNERS as an approver
I've been involved with the kubelet network code, including most
of this code, for a couple years and contributed a good number
of PRs for these directories. I've also been a SIG Network
co-lead for couple years.

I've also been on the CNI maintainers team for a couple years.
2018-06-08 10:06:19 -05:00
yue9944882
d467b29c5c remove duplicated cleaning up func 2018-06-08 14:28:19 +08:00
WanLinghao
52140ea1d3 fix a bug of wrong parameters which could cause token projection failure 2018-06-08 12:00:58 +08:00
Kubernetes Submit Queue
38beee65d3
Merge pull request #63905 from feiskyer/win-dns
Automatic merge from submit-queue (batch tested with PRs 63905, 64855). 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>.

Setup dns servers and search domains for Windows Pods

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

Kubelet is depending on docker container's ResolvConfPath (e.g. /var/lib/docker/containers/439efe31d70fc17485fb6810730679404bb5a6d721b10035c3784157966c7e17/resolv.conf) to setup dns servers and search domains. While this is ok for Linux containers, ResolvConfPath is always an empty string for windows containers. So that the DNS setting for windows containers is always not set.

This PR setups DNS for Windows sandboxes. In this way, Windows Pods could also use kubernetes dns policies.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #61579

**Special notes for your reviewer**:

Requires Docker EE version >= 17.10.0.

**Release note**:

```release-note
Setup dns servers and search domains for Windows Pods in dockershim. Docker EE version >= 17.10.0 is required for propagating DNS to containers.
```

/cc @PatrickLang @taylorb-microsoft @michmike @JiangtianLi
2018-06-07 11:40:11 -07:00
Di Xu
6d14771fd8 ignore not found file error when watching manifests 2018-06-07 22:02:53 +08:00
AdamDang
37a6fbfd6a
Typo fix in returned message: utilites->utilities
utilites->utilities
2018-06-07 21:49:38 +08:00
Klaudiusz Dembler
a9df2acc4b Typo fix 2018-06-07 12:08:48 +02:00
Pengfei Ni
d0cd1d17ae Add clarification for Windows DNS setup flow 2018-06-07 16:26:13 +08:00
Di Xu
8285a26589 add missing LastTransitionTime of ContainerReady condition 2018-06-07 14:51:14 +08:00
yue9944882
a221218681 fixes data races 2018-06-07 11:24:35 +08:00
Guoliang Wang
4f9d2047dd checkLimitsForResolvConf for the pod create and update events instead of checking period 2018-06-07 10:14:22 +08:00
Pengfei Ni
10b6f405e1 Revert "Fix Windows CNI for the sandbox case"
This reverts commit 49e762ab3a.
2018-06-07 09:56:13 +08:00
Kubernetes Submit Queue
8013bdb180
Merge pull request #64749 from Random-Liu/fix-standalone-dockershim
Automatic merge from submit-queue (batch tested with PRs 64749, 64797). 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 standalone dockershim.

Ref https://github.com/kubernetes-incubator/cri-tools/pull/320#issuecomment-394554484.

This PR fixes a bug that standalone dockershim exits immediately.

This PR:
1) Changes standalone dockershim to wait on `stopCh`, so that it won't exit immediately.
2) Removes `stopCh` from dockershim internal. It doesn't help much for graceful stop, because kubelet will exit immediately anyway. https://github.com/kubernetes/kubernetes/blob/master/cmd/kubelet/app/server.go#L748

@kubernetes/sig-node-pr-reviews @yujuhong @feiskyer 

**Release note**:

```release-note
none
```
2018-06-06 10:08:12 -07:00
Kubernetes Submit Queue
f54593b740
Merge pull request #64795 from mikedanese/fixgke
Automatic merge from submit-queue. 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>.

auth: standalone kubelets shouldn't start a token manager

fixes https://github.com/kubernetes/kubernetes/issues/64789
2018-06-06 06:58:28 -07:00
Kubernetes Submit Queue
f4668d281c
Merge pull request #64800 from dashpole/cadvisor_godep
Automatic merge from submit-queue (batch tested with PRs 63717, 64646, 64792, 64784, 64800). 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>.

Update cadvisor godeps to v0.30.0

**What this PR does / why we need it**:
cAdvisor godep update corresponding to 1.11

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #63204

**Release note**:
```release-note
Use IONice to reduce IO priority of du and find
cAdvisor ContainerReference no longer contains Labels. Use ContainerSpec instead.
Fix a bug where cadvisor failed to discover a sub-cgroup that was created soon after the parent cgroup.
```

/sig node
/kind bug
/priority critical-urgent

/assign @dchen1107
2018-06-06 01:24:26 -07:00
Kubernetes Submit Queue
a32e5b6a59
Merge pull request #64784 from jiayingz/status-ready
Automatic merge from submit-queue (batch tested with PRs 63717, 64646, 64792, 64784, 64800). 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>.

Reconcile extended resource capacity after kubelet restart.

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

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes https://github.com/kubernetes/kubernetes/issues/64632

**Special notes for your reviewer**:

**Release note**:

```release-note
Kubelet will set extended resource capacity to zero after it restarts. If the extended resource is exported by a device plugin, its capacity will change to a valid value after the device plugin re-connects with the Kubelet. If the extended resource is exported by an external component through direct node status capacity patching, the component should repatch the field after kubelet becomes ready again. During the time gap, pods previously assigned with such resources may fail kubelet admission but their controller should create new pods in response to such failures.
```
2018-06-06 01:24:21 -07:00
Kubernetes Submit Queue
0b8394a1f4
Merge pull request #64646 from freehan/pod-ready-plus2-new
Automatic merge from submit-queue (batch tested with PRs 63717, 64646, 64792, 64784, 64800). 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>.

Add ContainersReady condition into Pod Status

**Last 3 commits are new**

Follow up PR of: https://github.com/kubernetes/kubernetes/pull/64057 and https://github.com/kubernetes/kubernetes/pull/64344

Have a single PR for adding ContainersReady per https://github.com/kubernetes/kubernetes/pull/64344#issuecomment-394038384

```release-note
Introduce ContainersReady condition in Pod Status
```


/assign yujuhong for review
/assign thockin for the tiny API change
2018-06-06 01:24:14 -07:00
Kubernetes Submit Queue
b6f75ac30e
Merge pull request #63717 from ingvagabund/promote-sysctl-annotations-to-fields
Automatic merge from submit-queue. 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>.

Promote sysctl annotations to fields

#


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

Promoting experimental sysctl feature from annotations to API fields.

**Special notes for your reviewer**:

Following sysctl KEP: https://github.com/kubernetes/community/pull/2093

**Release note**:

```release-note
The Sysctls experimental feature has been promoted to beta (enabled by default via the `Sysctls` feature flag). PodSecurityPolicy and Pod objects now have fields for specifying and controlling sysctls. Alpha sysctl annotations will be ignored by 1.11+ kubelets. All alpha sysctl annotations in existing deployments must be converted to API fields to be effective.
```

**TODO**:

* [x] - Promote sysctl annotation in Pod spec
* [x] - Promote sysctl annotation in PodSecuritySpec spec
* [x] - Feature gate the sysctl
* [x] - Promote from alpha to beta
* [x] - docs PR - https://github.com/kubernetes/website/pull/8804
2018-06-06 00:47:36 -07:00
Kubernetes Submit Queue
0e44d8c40b
Merge pull request #64354 from mtaufen/dkcfg-safe-fields
Automatic merge from submit-queue (batch tested with PRs 64009, 64780, 64354, 64727, 63650). 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>.

per-field dynamic config advice

Dynamic Kubelet config gives cluster admins and k8s-as-a-service providers a lot of flexibility around reconfiguring the Kubelet in live environments. With great power comes great responsibility. These comments intend to provide more nuanced guidance around using dynamic Kubelet config by adding items to consider when changing various fields and pointing out where cluster admins and k8s-as-service providers should maintain extra caution.

@kubernetes/sig-node-pr-reviews PLEASE provide feedback and help fill in the blanks here, I don't have domain expertise in all of these features.

https://github.com/kubernetes/features/issues/281

```release-note
NONE
```
2018-06-05 22:24:46 -07:00
Kubernetes Submit Queue
999b2da440
Merge pull request #64009 from feiskyer/windows-security-context
Automatic merge from submit-queue (batch tested with PRs 64009, 64780, 64354, 64727, 63650). 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: Add security context for Windows containers

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

This PR adds windows containers to Kubelet CRI and also implements security context setting for docker containers.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

RunAsUser from Kubernetes API only accept int64 today, which is not supported on Windows. It should be changed to intstr for working with both Windows and Linux containers in a separate PR.

**Release note**:

```release-note
Kubelet: Add security context for Windows containers
```

/cc @PatrickLang @taylorb-microsoft @michmike @JiangtianLi @yujuhong @dchen1107
2018-06-05 22:24:38 -07:00
Mike Danese
90ba15ee74 auth: standalone kubelets shouldn't start a token manager 2018-06-05 17:31:26 -07:00
David Ashpole
4afcccd225 disable process scheduler metrics 2018-06-05 17:12:56 -07:00
Seth Jennings
6729add11c sysctls: create feature gate to track promotion 2018-06-06 00:23:11 +02:00
Jan Chaloupka
3cc15363bc Run make update 2018-06-06 00:12:40 +02:00
Lantao Liu
bc0264fbae Fix standalone dockershim. 2018-06-05 21:52:08 +00:00
Jiaying Zhang
35efc4f96a Reconcile extended resource capacity after kubelet restart. 2018-06-05 14:38:49 -07:00
Jan Chaloupka
ab616a88b9 Promote sysctl annotations to API fields 2018-06-05 23:17:00 +02:00
Kubernetes Submit Queue
0b90c414c5
Merge pull request #64094 from vladimirvivien/block-MapDeviceFunc-Refactor
Automatic merge from submit-queue (batch tested with PRs 64276, 64094, 64719, 64766, 64750). 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>.

Delegate map operation to BlockVolumeMapper plugin 

**What this PR does / why we need it**:
This PR refactors the volume controller's operation generator, for block mapping, to delegate core block mounting sequence to the `volume.BlockVolumeMapper` plugin instead of living in the operation generator.  This is to ensure better customization of block volume logic for existing internal volume plugins.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #64093

```release-note
NONE
```
/sig storage
2018-06-05 11:35:13 -07:00
Minhan Xia
370268f123 Inject ContainersReady 2018-06-05 11:10:38 -07:00
Minhan Xia
176f34ea07 Generate ContainersReady condition 2018-06-05 11:10:38 -07:00
Minhan Xia
6b08ef575f add ContainersReady condition 2018-06-05 11:10:38 -07:00
Kubernetes Submit Queue
c178c7fd65
Merge pull request #62005 from mikedanese/svcacctproj
Automatic merge from submit-queue. 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>.

implement ServiceAccountTokenProjection

design here: https://github.com/kubernetes/community/pull/1973

part of https://github.com/kubernetes/kubernetes/pull/61858

```release-note
Add a volume projection that is able to project service account tokens.
```

part of https://github.com/kubernetes/kubernetes/issues/48408

@kubernetes/sig-auth-pr-reviews @kubernetes/sig-storage-pr-reviews
2018-06-05 09:30:56 -07:00
Michael Taufen
5afde17860 document per-field advice for dynamic Kubelet config 2018-06-05 09:27:02 -07:00
Kubernetes Submit Queue
3b6c2472c3
Merge pull request #64709 from gnufied/fix-node-alpha-tests
Automatic merge from submit-queue (batch tested with PRs 64344, 64709, 64717, 63631, 58647). 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 panic caused by no cloudprovider in test

We should not panic when no cloudprovider is present

Fixes https://github.com/kubernetes/kubernetes/issues/64704

Also added a test to cover the panic.

/sig storage
/sig node

```release-note
None
```
2018-06-05 02:16:08 -07:00
Kubernetes Submit Queue
e64b81342b
Merge pull request #64344 from freehan/pod-ready-plus2
Automatic merge from submit-queue. 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>.

Teach Kubelet about Pod Ready++

Follow up PR of https://github.com/kubernetes/kubernetes/pull/62306 and https://github.com/kubernetes/kubernetes/pull/64057, **Only the last 3 commits are new.** Will rebase once the previous ones are merged.

ref: https://github.com/kubernetes/community/blob/master/keps/sig-network/0007-pod-ready%2B%2B.md


kind/feature
priority/important-soon
sig/network
sig/node

/assign @yujuhong


```release-note
NONE
```
2018-06-05 01:50:27 -07:00
Kubernetes Submit Queue
84ec43c75b
Merge pull request #64560 from sbezverk/csi_registration
Automatic merge from submit-queue (batch tested with PRs 62266, 64351, 64366, 64235, 64560). 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>.

Adding CSI driver registration with plugin watcher

Adding CSI driver registration bits.  The registration process will leverage driver-registrar side which will open the `registration` socket and will listen for pluginwatcher's GetInfo calls.
 
```release-note
Adding CSI driver registration code.
```
/sig sig-storage
2018-06-04 18:44:23 -07:00
Kubernetes Submit Queue
2cb5c47b12
Merge pull request #64351 from msau42/fix-readonly
Automatic merge from submit-queue (batch tested with PRs 62266, 64351, 64366, 64235, 64560). 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>.

Bind mount subpath with same read/write settings as underlying volume

**What this PR does / why we need it**:
https://github.com/kubernetes/kubernetes/pull/63045 broke two scenarios:
* If volumeMount path already exists in container image, container runtime will try to chown the volume
* In SELinux system, we will try to set SELinux labels when starting the container

This fix makes it so that the subpath bind mount will inherit the read/write settings of the underlying volume mount. It does this by using the "bind,remount" mount options when doing the bind mount.

The underlying volume mount is ro when the volumeSource.readOnly flag is set. This is for persistent volume types like PVC, GCE PD, NFS, etc.  When this is set, we won't try to configure SELinux labels.  Also in this mode, subpaths have to already exist in the volume, we cannot make new directories on a read only volume.

When volumeMount.readOnly is set, the container runtime is in charge of making the volume in the container readOnly, but the underlying volume mount on the host can be writable. This can be set for any volume type, and is permanently set for atomic volume types like configmaps, secrets.  In this case, SELinux labels will be applied before the container runtime makes the volume readOnly.  And subpaths don't have to exist.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #64120

**Special notes for your reviewer**:

**Release note**:

```release-note
Fixes issue for readOnly subpath mounts for SELinux systems and when the volume mountPath already existed in the container image.
```
2018-06-04 18:44:13 -07:00
Kubernetes Submit Queue
7d83484ec1
Merge pull request #62266 from feiskyer/win-log-stats
Automatic merge from submit-queue (batch tested with PRs 62266, 64351, 64366, 64235, 64560). 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>.

Add log and fs stats for Windows containers

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

Add log and fs stats for Windows containers.

Without this, kubelet will report errors continuously:

```
Unable to fetch container log stats for path \var\log\pods\2a70ed65-37ae-11e8-8730-000d3a14b1a0\echo: Du not supported for this build.
```

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #60180 #62047

**Special notes for your reviewer**:

**Release note**:

```release-note
Add log and fs stats for Windows containers
```
2018-06-04 18:44:10 -07:00
Pengfei Ni
7ba26ba25c Setup docker options according to windows security context 2018-06-05 09:29:24 +08:00
Pengfei Ni
6da502e016 Setup windows security context in CRI 2018-06-05 09:27:40 +08:00
Pengfei Ni
eeec15a7d9 Add security context for Windows containers 2018-06-05 09:27:40 +08:00
Mike Danese
91feb345aa implement service account token projection 2018-06-04 17:22:08 -07:00
Kubernetes Submit Queue
898831ad9d
Merge pull request #64592 from ravisantoshgudimetla/revert-64364-remove-rescheduler
Automatic merge from submit-queue (batch tested with PRs 63453, 64592, 64482, 64618, 64661). 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>.

Revert "Remove rescheduler and corresponding tests from master"

Reverts kubernetes/kubernetes#64364

After discussing with @bsalamat on how DS controllers(ref: https://github.com/kubernetes/kubernetes/pull/63223#discussion_r192277527) cannot create pods if the cluster is at capacity and they have to rely on rescheduler for making some space, we thought it is better to 

- Bring rescheduler back.
- Make rescheduler priority aware.
- If cluster is full and if **only** DS controller is not able to create pods, let rescheduler be run and let it evict some pods which have less priority.
- The DS controller pods will be scheduled now.

So, I am reverting this PR now. Step 2, 3 above are going to be in rescheduler.

/cc @bsalamat @aveshagarwal @k82cn 

Please let me know your thoughts on this. 

```release-note
Revert #64364 to resurrect rescheduler. More info https://github.com/kubernetes/kubernetes/issues/64725 :)
```
2018-06-04 16:56:11 -07:00
Serguei Bezverkhi
1c05ca5575 Adding CSI driver registration 2018-06-04 16:47:24 -04:00
Minhan Xia
ac4e015e12 trigger kubelet sync pod on reconciliation 2018-06-04 12:17:04 -07:00
Minhan Xia
d46cdbed6c Generate pod ready status with readiness gates 2018-06-04 12:16:56 -07:00
Michelle Au
f3f1a04705 Only mount subpath as readonly if specified in volumeMount 2018-06-04 12:05:23 -07:00
Hemant Kumar
32b69193c6 Fix panic caused by no cloudprovider in test
We should not panic when no cloudprovider is present
2018-06-04 14:50:18 -04:00
Mikaël Cluseau
b0073097c0 pkg: kubelet: remote: increase grpc client default size to 16MiB 2018-06-04 11:09:30 +11:00
Vladimir Vivien
3569287993 Refactor of GenerateMapDeviceFunc to delegate Map call to volume plugin. 2018-06-03 17:25:37 -04:00
Kubernetes Submit Queue
2b26234003
Merge pull request #64644 from Random-Liu/address-comments-in-#64006
Automatic merge from submit-queue. 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>.

Address comments in #64006.

Address comments in #64006 

@tallclair @yujuhong 
@kubernetes/sig-node-pr-reviews 
Signed-off-by: Lantao Liu <lantaol@google.com>

**Release note**:

```release-note
none
```
2018-06-03 06:31:26 -07:00
Kubernetes Submit Queue
e5686a3668
Merge pull request #64154 from gnufied/impelemnt-volume-count
Automatic merge from submit-queue (batch tested with PRs 64613, 64596, 64573, 64154, 64639). 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>.

Implement dynamic volume limits

Implement dynamic volume limits depending on node type.

xref https://github.com/kubernetes/community/pull/2051

```release-note
Add Alpha support for dynamic volume limits based on node type
```
2018-06-02 06:30:19 -07:00
Yecheng Fu
40c3937320 Clean up fake mounters. 2018-06-02 15:55:19 +08:00
Kubernetes Submit Queue
91b9b62ae8
Merge pull request #64189 from alinbalutoiu/master
Automatic merge from submit-queue. 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 Windows CNI for the sandbox case

**What this PR does / why we need it**:
Windows supports both sandbox and non-sandbox cases. The non-sandbox
case is for Windows Server 2016 and for Windows Server version greater
than 1709 which use Hyper-V containers.

Currently, the CNI on Windows fetches the IP from the containers
within the pods regardless of the mode. This should be done only
in the non-sandbox mode where the IP of the actual container
will be different than the IP of the sandbox container.

In the case where the sandbox container is supported, all the containers
from the same pod will share the network details of the sandbox container.

This patch updates the CNI to fetch the IP from the sandbox container
when this mode is supported.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #64188

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-06-01 20:32:28 -07:00
Di Xu
5ebd40cb6a bind alpha feature network plugin flags correctly 2018-06-02 11:31:01 +08:00
Dan Williams
931f6718b0 kubelet: remove unused parameter from runtime's SyncPod() 2018-06-01 21:55:40 -05:00
Lantao Liu
9677616eaf Address comments in #64006.
Signed-off-by: Lantao Liu <lantaol@google.com>
2018-06-01 17:25:56 -07:00
Hemant Kumar
1f9404dfc0 Implement kubelet side changes for writing volume limit to node
Add tests for checking node limits
2018-06-01 19:17:30 -04:00
Kubernetes Submit Queue
d2495b8329
Merge pull request #63143 from jsafrane/containerized-subpath
Automatic merge from submit-queue (batch tested with PRs 63348, 63839, 63143, 64447, 64567). 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>.

Containerized subpath

**What this PR does / why we need it**:
Containerized kubelet needs a different implementation of `PrepareSafeSubpath` than kubelet running directly on the host.

On the host we safely open the subpath and then bind-mount `/proc/<pidof kubelet>/fd/<descriptor of opened subpath>`.

With kubelet running in a container, `/proc/xxx/fd/yy` on the host contains path that works only inside the container, i.e. `/rootfs/path/to/subpath` and thus any bind-mount on the host fails.

Solution:
- safely open the subpath and gets its device ID and inode number
- blindly bind-mount the subpath to `/var/lib/kubelet/pods/<uid>/volume-subpaths/<name of container>/<id of mount>`. This is potentially unsafe, because user can change the subpath source to a link to a bad place (say `/run/docker.sock`) just before the bind-mount.
- get device ID and inode number of the destination. Typical users can't modify this file, as it lies on /var/lib/kubelet on the host.
- compare these device IDs and inode numbers.

**Which issue(s) this PR fixes**
Fixes #61456

**Special notes for your reviewer**:

The PR contains some refactoring of `doBindSubPath` to extract the common code. New `doNsEnterBindSubPath` is added for the nsenter related parts.

**Release note**:

```release-note
NONE
```
2018-06-01 12:12:19 -07:00
Kubernetes Submit Queue
5710943612
Merge pull request #63839 from wgliang/master.movepkg
Automatic merge from submit-queue (batch tested with PRs 63348, 63839, 63143, 64447, 64567). 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>.

Move pkg/scheduler/schedulercache -> pkg/scheduler/cache

**What this PR does / why we need it**:
Move pkg/scheduler/schedulercache -> pkg/scheduler/cache

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #63813

**Special notes for your reviewer**:

In order to prevent name conflicts still rename the `cache` to `schedulercache`.

**Release note**:

```release-note
NONE
```
2018-06-01 12:12:15 -07:00
vikaschoudhary16
f2eeb087e9 Add feature gate for kubelet plugin watcher 2018-06-01 04:42:30 -04:00
Kubernetes Submit Queue
8d10a8f74f
Merge pull request #64006 from Random-Liu/streaming-auth
Automatic merge from submit-queue. 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>.

Add proxy for container streaming in kubelet for streaming auth.

For https://github.com/kubernetes/kubernetes/issues/36666, option 2 of https://github.com/kubernetes/kubernetes/issues/36666#issuecomment-378440458.

This PR:
1. Removed the `DirectStreamingRuntime`, and changed `IndirectStreamingRuntime` to `StreamingRuntime`. All `DirectStreamingRuntime`s, `dockertools` and `rkt`, were removed.
2. Proxy container streaming in kubelet instead of returning redirect to apiserver. This solves the container runtime authentication issue, which is what we agreed on in https://github.com/kubernetes/kubernetes/issues/36666.

Please note that, this PR replaced the redirect with proxy directly instead of adding a knob to switch between the 2 behaviors. For existing CRI runtimes like containerd and cri-o, they should change to serve container streaming on localhost, so as to make the whole container streaming connection secure.

 If a general authentication mechanism proposed in https://github.com/kubernetes/kubernetes/issues/62747 is ready, we can switch back to redirect, and all code can be found in github history.

Please also note that this added some overhead in kubelet when there are container streaming connections. However, the actual bottleneck is in the apiserver anyway, because it does proxy for all container streaming happens in the cluster. So it seems fine to get security and simplicity with this overhead. @derekwaynecarr @mrunalp Are you ok with this? Or do you prefer a knob?

@yujuhong @timstclair @dchen1107 @mikebrow @feiskyer 
/cc @kubernetes/sig-node-pr-reviews 
**Release note**:

```release-note
Kubelet now proxies container streaming between apiserver and container runtime. The connection between kubelet and apiserver is authenticated. Container runtime should change streaming server to serve on localhost, to make the connection between kubelet and container runtime local.

In this way, the whole container streaming connection is secure. To switch back to the old behavior, set `--redirect-container-streaming=true` flag.
```
2018-05-31 22:45:29 -07:00
RaviSantosh Gudimetla
872addf9e3
Revert "Remove rescheduler and corresponding tests from master" 2018-05-31 22:18:49 -04:00
Lantao Liu
746c32db4c Update bazel. 2018-05-31 15:26:32 -07:00
Lantao Liu
1eb721248b Update unit test. 2018-05-31 15:26:32 -07:00
Lantao Liu
174b6d0e2f Proxy container streaming in kubelet. 2018-05-31 15:26:32 -07:00
Hemant Kumar
179e5d7006 Rename online resizine feature gate 2018-05-31 17:28:12 -04:00
Guoliang Wang
761cf41427 Move pkg/scheduler/schedulercache -> pkg/scheduler/cache 2018-05-31 22:55:34 +08:00
mlmhl
ca12c73323 implement kubelet side online file system resize for volume 2018-05-31 17:10:24 +08:00
Kubernetes Submit Queue
a762ea1beb
Merge pull request #64364 from ravisantoshgudimetla/remove-rescheduler
Automatic merge from submit-queue. 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>.

Remove rescheduler and corresponding tests from master

**What this PR does / why we need it**:
This is to remove rescheduler from master branch as we are promoting priority and preemption to beta.
**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Part of #57471

**Special notes for your reviewer**:
/cc @bsalamat @aveshagarwal 
**Release note**:

```release-note
Remove rescheduler from master.
```
2018-05-30 22:20:26 -07:00
Kubernetes Submit Queue
4df4a607cd
Merge pull request #64486 from mtaufen/cleanup-unused-status-message
Automatic merge from submit-queue (batch tested with PRs 64338, 64219, 64486, 64495, 64347). 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>.

remove unused status per TODO

This should have been deleted in #63221, as it is now unused.

```release-note
NONE
```
2018-05-30 20:17:19 -07:00
Kubernetes Submit Queue
3e127ccbef
Merge pull request #57082 from tianshapjq/small-nit-container/os.go
Automatic merge from submit-queue (batch tested with PRs 57082, 64325, 64016, 64443, 64403). 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>.

small nit in the annotations of pkg/kubelet/container/os.go

**What this PR does / why we need it**:
just a small nit in the annotations of container/os.go, but, it looks quite uncomfortable cause others all get right.
2018-05-30 18:49:10 -07:00
Kubernetes Submit Queue
e978c47f5e
Merge pull request #64170 from mtaufen/cap-node-num-images
Automatic merge from submit-queue (batch tested with PRs 61803, 64305, 64170, 64361, 64339). 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>.

add a flag to control the cap on images reported in node status

While I normally try to avoid adding flags, this is a short term
scalability fix for v1.11, and there are other long-term solutions in
the works, so we shouldn't commit to this in the v1beta1 Kubelet config.
Flags are our escape hatch here.

```release-note
NONE
```
2018-05-30 17:34:18 -07:00
Kubernetes Submit Queue
ea92879fab
Merge pull request #62306 from freehan/pod-status-patch2
Automatic merge from submit-queue (batch tested with PRs 58920, 58327, 60577, 49388, 62306). 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>.

Use Patch instead of Put to sync pod status

ref: https://github.com/kubernetes/community/blob/master/keps/sig-network/0007-pod-ready%2B%2B.md
```release-note
Use Patch instead of Put to sync pod status
```
2018-05-30 16:09:36 -07:00
Kubernetes Submit Queue
6b2fc7cb75
Merge pull request #49388 from HotelsDotCom/feature/Dynamic-env-in-subpath
Automatic merge from submit-queue (batch tested with PRs 58920, 58327, 60577, 49388, 62306). 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>.

Dynamic env in subpath - Fixes Issue 48677

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

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #48677

**Special notes for your reviewer**:

**Release note**:

```release-note
Adds the VolumeSubpathEnvExpansion alpha feature to support environment variable expansion
Sub-paths cannot be mounted with a dynamic volume mount name.
This fix provides environment variable expansion to sub paths
This reduces the need to manage symbolic linking within sidecar init containers to achieve the same goal  
```
2018-05-30 16:09:31 -07:00
Michael Taufen
0539086ff3 add a flag to control the cap on images reported in node status
While I normally try to avoid adding flags, this is a short term
scalability fix for v1.11, and there are other long-term solutions in
the works, so we shouldn't commit to this in the v1beta1 Kubelet config.
Flags are our escape hatch.
2018-05-30 12:54:30 -07:00
Minhan Xia
85e0d05ac7 add utils for pod condition 2018-05-30 11:33:55 -07:00
Minhan Xia
78b86333c1 make update 2018-05-30 11:33:55 -07:00
Minhan Xia
cb9ac04777 fix unit tests using Patch in fake client 2018-05-30 11:33:55 -07:00
Minhan Xia
35777c31ea change kubelet status manager to use patch instead of put to update pod status 2018-05-30 11:15:47 -07:00
Kubernetes Submit Queue
4a44cda40a
Merge pull request #63328 from vikaschoudhary16/probe-watcher-duplicate
Automatic merge from submit-queue (batch tested with PRs 63328, 64316, 64444, 64449, 64453). 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>.

Add probe based mechanism for kubelet plugin discovery

**Which issue(s) this PR fixes**
Fixes #56944 
[Design Doc](https://docs.google.com/document/d/1dtHpGY-gPe9sY7zzMGnm8Ywo09zJfNH-E1KEALFV39s/edit#heading=h.7fe6spexljh6)

**Notes For Reviewers**:
Original PR is https://github.com/kubernetes/kubernetes/pull/59963. But because of too many comments(171) that PR does not open sometimes. Therefore this new PR is created to get the github link working.
 
Related PR is https://github.com/kubernetes/kubernetes/pull/58755 
For review efficiency, separating out of the commits or original PR here. 

```release-note
Add probe based mechanism for kubelet plugin discovery
```
/sig node
/area hw-accelerators
/cc @jiayingz @RenaudWasTaken @vishh @ScorpioCPH @sjenning @derekwaynecarr @jeremyeder @lichuqiang @tengqm @saad-ali @chakri-nelluri @ConnorDoyle @vladimirvivien
2018-05-30 08:42:11 -07:00
Kubernetes Submit Queue
15cd355281
Merge pull request #64213 from dashpole/eviction_event_annotation
Automatic merge from submit-queue. 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>.

Add metadata to kubelet eviction event annotations

**What this PR does / why we need it**:
Add annotations to kubelet eviction events.  Annotations include 
"offending_containers" : comma-seperated list of containers.
"offending_containers_usage": comma-seperated list of usage.
"starved_resource": v1.ResourceName of the starved resource

**Special notes for your reviewer**:
Adding annotations to events required changing the `EventRecorder` interface to add a `AnnotatedEventf` function, which can add annotations to an event.

**Release note**:
```release-note
NONE
```
/assign @dchen1107 
cc @mwielgus @schylek @kgrygiel
2018-05-29 23:37:47 -07:00
xuzhonghu
9492cf368e move oldNodeUnschedulable pkg var to kubelet struct 2018-05-30 14:09:13 +08:00
Michael Taufen
665f166c29 remove unused status per TODO
This should have been deleted in #63221, as it is now unused.
2018-05-29 17:34:00 -07:00
ravisantoshgudimetla
aeccffc339 Phase out rescheduler in favor of priority and preemption 2018-05-29 19:52:06 -04:00
Kubernetes Submit Queue
c6e0a225f9
Merge pull request #64155 from figo/master
Automatic merge from submit-queue. 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>.

improve test: verify kubelet.config.Restore only happen once

**What this PR does / why we need it**:
This patch is to add additional test coverage of pod config restore, 
it verifies that restore can only happen once.

in the second restore attempt, we should expect no error and no channel update.

**Which issue(s) this PR fixes**:

this is a test improvement based on test been added at https://github.com/kubernetes/kubernetes/pull/63553


**Special notes for your reviewer**:

**Release note**:

```release-note
None
```

/sig node
/cc @rphillips @jiayingz @vikaschoudhary16 @anfernee @Random-Liu  @dchen1107  @derekwaynecarr 
@vishh @yujuhong @tallclair
2018-05-29 16:17:28 -07:00
Lantao Liu
aeb6cacf01 Remove direct and indirect streaming runtime interface. 2018-05-29 15:08:15 -07:00
Kevin Taylor
b2d4426f09 Add dynamic environment variable substitution to subpaths 2018-05-29 17:01:09 +01:00
vikaschoudhary16
3a2e3bcc70 Add probe based mechanism for kubelet plugin discovery 2018-05-29 12:00:37 -04:00
vikaschoudhary16
401bab3642 Auto-generated files 2018-05-29 12:00:37 -04:00
Guoliang Wang
9449a4372e cleanup some dead kubelet code 2018-05-29 22:38:01 +08:00
Kubernetes Submit Queue
be43b7cc9d
Merge pull request #64352 from Random-Liu/clean-limit-writer
Automatic merge from submit-queue (batch tested with PRs 64355, 64328, 64352). 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>.

Remove unused limit writer.

All container runtimes are integrated through CRI now. Write limit is handled in https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/kuberuntime/logs/logs.go now.

Signed-off-by: Lantao Liu <lantaol@google.com>

@yujuhong @feiskyer @kubernetes/sig-node-pr-reviews 

**Release note**:

```release-note
none
```
2018-05-27 04:08:09 -07:00
Kubernetes Submit Queue
2cb7ab012b
Merge pull request #62984 from feiskyer/klet-validation
Automatic merge from submit-queue. 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>.

Validate cgroups-per-qos for Windows

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

cgroups-per-qos and enforce-node-allocatable is not supported on Windows, but kubelet allows it on Windows. And then Pods may stuck in terminating state because of it. Refer #61716.

This PR adds validation for them and make kubelet refusing to start in this case.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #61716

**Special notes for your reviewer**:

**Release note**:

```release-note
Fail fast if cgroups-per-qos is set on Windows
```
2018-05-26 03:03:13 -07:00
Lantao Liu
7c17ee25ec Remove unused limit writer.
Signed-off-by: Lantao Liu <lantaol@google.com>
2018-05-25 16:55:08 -07:00
Andrew McDermott
ca58578b24 Resurrect lost log line 2018-05-24 20:44:12 +01:00