Commit Graph

89104 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
e23e7204f2
Merge pull request #88558 from egernst/e2e_node-PodOverhead
e2e node pod overhead
2020-03-05 20:04:11 -08:00
Kubernetes Prow Robot
f605ab0b08
Merge pull request #88502 from caesarxuchao/make-egress-api-beta
Promote the egressSelector API to beta
2020-03-05 20:04:02 -08:00
Kubernetes Prow Robot
c812375ed6
Merge pull request #88465 from alvaroaleman/utilerrors-implement-errors-is
Utilerrors.Aggregate: Allow using with errors.Is()
2020-03-05 20:03:53 -08:00
Kubernetes Prow Robot
34c4407d34
Merge pull request #88152 from fengzixu/master
cleanup: move the test of TaintBasedEvictions features to sig-node
2020-03-05 20:03:43 -08:00
Kubernetes Prow Robot
4065a5a236
Merge pull request #88022 from YangLu1031/master
Dump docker image list
2020-03-05 20:03:29 -08:00
Kubernetes Prow Robot
e679265086
Merge pull request #87865 from tedyu/container-visitor2
Allow container visitor to operate on selected container types
2020-03-05 20:03:17 -08:00
Kubernetes Prow Robot
48541a0b16
Merge pull request #87650 from nolancon/beta-feature-gate
Update TopologyManager Feature Gate
2020-03-05 20:03:04 -08:00
Kubernetes Prow Robot
50c0a698d8
Merge pull request #87553 from MikeSpreitzer/shared-informer-comments-redux
More refinement of comments and parameter names for informers
2020-03-05 20:02:50 -08:00
Kubernetes Prow Robot
edf460bc0f
Merge pull request #88775 from cmluciano/cml/altbackend
Ingress alternate backends
2020-03-05 16:22:49 -08:00
Christopher M. Luciano
912f05bafb
ingress: add alternate resource backend
Signed-off-by: Christopher M. Luciano <cmluciano@us.ibm.com>
2020-03-05 16:08:44 -05:00
Kubernetes Prow Robot
8508875e4d
Merge pull request #88858 from cmluciano/cml/hostnamewildcard
ingress: allow wildcard hosts in IngressRule
2020-03-05 12:48:38 -08:00
Ted Yu
af0e1319c3 Allow container visitor to operate on selected container types
Signed-off-by: Ted Yu <yuzhihong@gmail.com>
2020-03-05 11:48:00 -08:00
Christopher M. Luciano
e931e30647
ingress: allow wildcard hosts in IngressRule
Signed-off-by: Christopher M. Luciano <cmluciano@us.ibm.com>
2020-03-05 13:44:48 -05:00
Kubernetes Prow Robot
0ad60b35c1
Merge pull request #88801 from jsafrane/snapshot-test-timeout
Fix GCE PD snapshot flakiness
2020-03-05 09:08:51 -08:00
Kubernetes Prow Robot
2f145e9422
Merge pull request #88249 from claudiubelu/tests/reduce-to-agnhost-dnsutils
tests: Replaces dnsutils image used with agnhost (part 4)
2020-03-05 09:08:37 -08:00
Kubernetes Prow Robot
a5f7151a15
Merge pull request #88827 from neolit123/1.18-deprecate-certs-renew-use-api
kubeadm: deprecate the flag --use-api for cert renewal
2020-03-05 07:19:12 -08:00
Kubernetes Prow Robot
ab7c75ff3e
Merge pull request #88763 from p0lyn0mial/dynamiccertificates-cleanup
cleans up dynamiccertificates package
2020-03-05 07:19:04 -08:00
Kubernetes Prow Robot
318918cac4
Merge pull request #88716 from zhouya0/show_kubectl_describe_ingress_error
Show kubectl describe ingress error
2020-03-05 07:18:51 -08:00
Kubernetes Prow Robot
55bfdc6024
Merge pull request #88004 from verb/cli-debug
Add kubectl debug alpha command
2020-03-05 07:18:37 -08:00
Kubernetes Prow Robot
1f2e1967d1
Merge pull request #88566 from Deepthidharwar/topology-mgr-numa-tests
Enable running cpu-mgr-multiNUMA e2e tests with Topology manager
2020-03-05 05:38:37 -08:00
Kubernetes Prow Robot
67c6767b7d
Merge pull request #88721 from Deepthidharwar/sriov-tm-bug
FIX SRIOV detection logic not to error out if device not present on the system
2020-03-05 02:58:50 -08:00
Kubernetes Prow Robot
0836b583f7
Merge pull request #85289 from serathius/remove-prometheus-controller-endpointslice
Remove prometheus references from pkg/controller/endpointslice
2020-03-05 02:58:37 -08:00
Kubernetes Prow Robot
364c66ed9c
Merge pull request #88828 from msau42/fix-skip-log
Fix log formatting for skipper.
2020-03-05 00:54:37 -08:00
Kubernetes Prow Robot
1afb554222
Merge pull request #88818 from claudiubelu/test-images/skips-windows
test images: Temporarely exclude Windows test images
2020-03-04 20:13:45 -08:00
Kubernetes Prow Robot
45ac57fb67
Merge pull request #88815 from enj/enj/i/events_same_default_ns
Use the same default namespace across event recorders
2020-03-04 20:13:37 -08:00
Kubernetes Prow Robot
59c6d339cd
Merge pull request #88636 from NetApp/generic-datasource
Add generic DataSource feature gate
2020-03-04 20:13:28 -08:00
Kubernetes Prow Robot
cd1ddbf5cc
Merge pull request #88600 from apelisse/at-most-every
SHOULD NOT HAPPEN: logging "SHOULD NOT HAPPEN" errors more than once per second
2020-03-04 20:13:18 -08:00
Kubernetes Prow Robot
7a513b575a
Merge pull request #88440 from smarterclayton/container_success_fix
Ensure Kubelet always reports terminating pod container status
2020-03-04 20:13:04 -08:00
Kubernetes Prow Robot
7d6d790b43
Merge pull request #88414 from tanjunchen/resole-TODO
test/e2e/:resolve pending TODO: write a wrapper for ExpectNoErrorWithOffset()
2020-03-04 20:12:50 -08:00
Kubernetes Prow Robot
ac32644d6e
Merge pull request #87759 from klueska/upstream-move-cpu-allocation-to-pod-admit
Guarantee aligned resources across containers
2020-03-04 20:12:37 -08:00
zhouya0
773b890b05 Show kubectl describe ingress error 2020-03-05 10:58:43 +08:00
Michelle Au
3ee30343cc Fix log formatting for skipper. "INFO" is already logged by Logf, and it
wasn't in the format syntax.

Change-Id: I760007c9c524bb465f428eb70e7fb30993475086
2020-03-04 17:43:24 -08:00
Lubomir I. Ivanov
8943e443e8 kubeadm: deprecate the flag --use-api for cert renewal
The KCM is moving to means of only singing apiserver (kubelet) client
and kubelet serving certificates. See:
  https://github.com/kubernetes/enhancements/blob/master/keps/sig-auth/20190607-certificates-api.md#signers
Up until now the experimental kubeadm functionality '--use-api'
under "kubeadm alpha certs renew" was using the KCM to sign *any*
certficate as long as the KCM has the root CA cert/key.

Post discussions with the kubeadm maintainers, it was decided that
this functionality should be removed from kubeadm due to the
requirement to have external signers for renewing the common
control-plane certificates that kubeadm manages.
2020-03-05 03:37:00 +02:00
Kubernetes Prow Robot
d7e7136bbc
Merge pull request #88563 from mateuszlitwin/mlitwin-fix-permit-integration-test
fix TestCoSchedulinngWithPermitPlugin and test PermitPlugin
2020-03-04 17:26:37 -08:00
Ben Swartzlander
e8b09d3644 Add AnyVolumeDataSource feature gate
Allow any custom resource to be the data source of a PVC, if the
AnyVolumeDataSource feature gate is enabled. This is an alpha feature.
2020-03-04 18:55:50 -05:00
Kubernetes Prow Robot
e865c0b219
Merge pull request #88686 from j-griffith/upgrade_cloning_to_ga
Mark PVCDataSource featuregate as GA
2020-03-04 13:19:06 -08:00
Kubernetes Prow Robot
5c5faed39b
Merge pull request #88287 from gab-satchi/master
Windows specific kubelet flags in kubeadm-flags.env
2020-03-04 13:18:52 -08:00
Kubernetes Prow Robot
e4e3d72f1c
Merge pull request #83572 from chendotjs/tc-fix
bandwidth: use regexp to handle tc output and add IPv6 support
2020-03-04 13:18:38 -08:00
Antoine Pelisse
389dd0a499 Don't log "SHOULD NOT HAPPEN" errors more than once per second 2020-03-04 11:21:52 -08:00
Monis Khan
167d6a2c8b
Use the same default namespace across event recorders
Signed-off-by: Monis Khan <mok@vmware.com>
2020-03-04 13:49:33 -05:00
Clayton Coleman
8bc5cb01a9
kubelet: Clear the podStatusChannel before invoking syncBatch
The status manager syncBatch() method processes the current state
of the cache, which should include all entries in the channel. Flush
the channel before we call a batch to avoid unnecessary work and
to unblock pod workers when the node is congested.

Discovered while investigating long shutdown intervals on the node
where the status channel stayed full for tens of seconds.

Add a for loop around the select statement to avoid unnecessary
invocations of the wait.Forever closure each time.
2020-03-04 13:34:25 -05:00
Clayton Coleman
8722c834e5
kubelet: Never restart containers in deleting pods
When constructing the API status of a pod, if the pod is marked for
deletion no containers should be started. Previously, if a container
inside of a terminating pod failed to start due to a container
runtime error (that populates reasonCache) the reasonCache would
remain populated (it is only updated by syncPod for non-terminating
pods) and the delete action on the pod would be delayed until the
reasonCache entry expired due to other pods.

This dramatically reduces the amount of time the Kubelet waits to
delete pods that are terminating and encountered a container runtime
error.
2020-03-04 13:34:25 -05:00
Yu-Ju Hong
2364c10e2e
kubelet: Don't delete pod until all container status is available
After a pod reaches a terminal state and all containers are complete
we can delete the pod from the API server. The dispatchWork method
needs to wait for all container status to be available before invoking
delete. Even after the worker stops, status updates will continue to
be delivered and the sync handler will continue to sync the pods, so
dispatchWork gets multiple opportunities to see status.

The previous code assumed that a pod in Failed or Succeeded had no
running containers, but eviction or deletion of running pods could
still have running containers whose status needed to be reported.

This modifies earlier test to guarantee that the "fallback" exit
code 137 is never reported to match the expectation that all pods
exit with valid status for all containers (unless some exceptional
failure like eviction were to occur while the test is running).
2020-03-04 13:34:25 -05:00
Clayton Coleman
ad3d8949f0
kubelet: Preserve existing container status when pod terminated
The kubelet must not allow a container that was reported failed in a
restartPolicy=Never pod to be reported to the apiserver as success.
If a client deletes a restartPolicy=Never pod, the dispatchWork and
status manager race to update the container status. When dispatchWork
(specifically podIsTerminated) returns true, it means all containers
are stopped, which means status in the container is accurate. However,
the TerminatePod method then clears this status. This results in a
pod that has been reported with status.phase=Failed getting reset to
status.phase.Succeeded, which is a violation of the guarantees around
terminal phase.

Ensure the Kubelet never reports that a container succeeded when it
hasn't run or been executed by guarding the terminate pod loop from
ever reporting 0 in the absence of container status.
2020-03-04 13:34:24 -05:00
Clayton Coleman
6d98b0a0f4
Test that an always-fail container can't report the pod Succeeded
The kubelet can race when a pod is deleted and report that a container succeeded
when it instead failed, and thus the pod is reported as succeeded. Create an e2e
test that demonstrates this failure.
2020-03-04 13:34:20 -05:00
Lee Verberne
e5b655938e Add kubectl debug alpha command
This first version of `kubectl alpha debug` is an import of the existing
kubectl-debug plugin, which supports adding ephemeral containers to
running pods. This attempts to follow patterns used by other kubectl
commands such as run, exec and scale.
2020-03-04 19:20:04 +01:00
Kubernetes Prow Robot
d682c83890
Merge pull request #88765 from brianpursley/kubectl-816-take2
Change kubectl cluster-info dump to not display output location message when output is stdout
2020-03-04 10:20:02 -08:00
Kubernetes Prow Robot
48676adba9
Merge pull request #88567 from answer1991/feature/close-connection-when-over-load
add a new filter goaway which could send GOAWAY probabilistically to help balance HTTP2 requests
2020-03-04 10:19:49 -08:00
j-griffith
9044fbfc5d Update VolumePVCDatasource to GA for 1.18
Updates the VolumePVCDataSource featuregate (cloning) to GA for the 1.18 k8s
release.
2020-03-04 10:48:30 -07:00
Mateusz Litwin
b93e3d18e9 fix scheduler.TestCoSchedulinngWithPermitPlugin and test scheduler.PermitPlugin
After moving Permit() to the scheduling cycle test PermitPlugin should
no longer wait inside Permit() for another pod to enter Permit() and become waiting pod.
In the past this was a way to make test work regardless of order in
which pods enter Permit(), but now only one Permit() can be executed at
any given moment and waiting for another pod to enter Permit() inside
Permit() leads to timeouts.

In this change waitAndRejectPermit and waitAndAllowPermit flags make first
pod to enter Permit() a waiting pod and second pod to enter Permit()
either rejecting or allowing pod.

Mentioned in #88469
2020-03-04 08:45:36 -08:00