Commit Graph

43518 Commits

Author SHA1 Message Date
Miciah Masters
e648deca3b Fix validation of ingress rules with wildcard host
Fix ingress validation so that it validates the rules of an ingress that
specifies a wildcard host.  Commit 60f4fbf4f2
added an inopportune continue statement that caused this validation to be
skipped.  For backwards compatibility, this change restores validation for
v1 of the api but still skips it on v1beta1.

* pkg/apis/networking/validation/validation.go (IngressValidationOptions):
Add AllowInvalidWildcardHostRule field to indicate that validation of rules
should be skipped for ingresses that specify wildcard hosts.
(ValidateIngressCreate): Set AllowInvalidWildcardHostRule to true if the
request is using the v1beta1 API version.
(ValidateIngressUpdate): Set AllowInvalidWildcardHostRule to true if the
request or old ingress is using the v1beta1 API version.
(validateIngressRules): Don't skip validation of the ingress rules unless
the ingress has a wildcard host and AllowInvalidWildcardHostRule is true.
(allowInvalidWildcardHostRule): New helper for ValidateIngressCreate and
ValidateIngressUpdate.
* pkg/apis/networking/validation/validation_test.go
(TestValidateIngressCreate, TestValidateIngressUpdate): Add test cases to
ensure that validation is performed on v1 objects and skipped on v1beta
objects for backwards compatibility.
(TestValidateIngressTLS): Specify PathType so that the test passes.

Co-authored-by: jordan@liggitt.net
2020-08-13 15:53:17 -04:00
Aldo Culquicondor
dfe9e413d9 Keep track of remaining pods when a node is deleted.
The apiserver is expected to send pod deletion events that might arrive at a different time. However, sometimes a node could be recreated without its pods being deleted.

Partial revert of https://github.com/kubernetes/kubernetes/pull/86964

Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: I51f683e5f05689b711c81ebff34e7118b5337571
2020-08-13 14:24:01 -04:00
Aldo Culquicondor
16d7ecfa45 Remove direct accesses to cache's node map
Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: Iebb22fc816926aaa1ddd1e4b2e52f335a275ffaa
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-08-13 14:22:06 -04:00
Miciah Masters
7ef8fa7207 Verify that an ingress with empty TLS is valid
Add a test that verifies that an ingress with an empty TLS value or with a
TLS value that specifies an empty list of hosts passes validation.

* pkg/apis/networking/validation/validation_test.go
(TestValidateEmptyIngressTLS): New test.
2020-08-13 11:55:18 -04:00
Kubernetes Prow Robot
b1b93e3013 Merge pull request #93908 from robscott/endpointslice-err-return
Updating EndpointSlice controllers to return if error encountered
2020-08-12 21:26:14 -07:00
lixiaobing1
7920de5b57 remove some notes about scheduler/algorithm 2020-08-13 10:01:54 +08:00
ESWZY
9ce4dfe6d2 Add test for pkg/kubelet/util/util_windows_test.go#GetAddressAndDialer 2020-08-13 01:17:00 +08:00
Rob Scott
4cfe4403b4 Updating EndpointSlice controllers to return if error encountered
Previously the controllers would proceed with additional creates,
updates, or deletes if 1 failed. That could potentially result in
scenarios where an EndpointSlice create or update failing while a delete
worked. This updates the logic so that removals will not happen if
additions fail.
2020-08-12 09:58:03 -07:00
SataQiu
ad1739f8bc kubelet: assume that swap is disabled when /proc/swaps does not exist 2020-08-12 22:43:58 +08:00
Jordan Liggitt
f87a846e65 Validate ingress TLS secretName in v1 2020-08-12 10:13:08 -04:00
zhouya0
a1c3ebdffc Seperate registry and feature gates 2020-08-12 09:06:21 +08:00
Kubernetes Prow Robot
4750523bac Merge pull request #93893 from alculquicondor/fix-scheduler-test
Sync cache before starting scheduler test
2020-08-11 15:31:46 -07:00
Aldo Culquicondor
1978866474 Improve running time of TestSchedulerWithVolumeBinding
Only wait for finished binding or error, but not both

Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: I13d16e6c7c45c6527591aa05cc79fc5e96d47a68
2020-08-11 17:31:29 -04:00
Kubernetes Prow Robot
343817ef93 Merge pull request #93831 from cofyc/fix93830
scheduler: forget the pod when the reserve plugins fail
2020-08-11 12:36:17 -07:00
Aldo Culquicondor
24f817a487 Sync cache before starting scheduler test
Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: I9629e1d6d510607b505b0302e23d67e0ae4a662e
2020-08-11 13:36:54 -04:00
Yecheng Fu
1176ef9c7d forget the pod when the reserve plugins fail
and move the metrics function calls before all other functions
2020-08-11 21:28:33 +08:00
yodarshafrir1
24010022ef Number of failed jobs should exceed the backoff limit and not big equal.
Remove patch in e2e test of backoff limit due to usage of NumRequeues
2020-08-11 11:06:09 +03:00
Kubernetes Prow Robot
15a3d46db1 Merge pull request #93030 from swetharepakula/endpoint-tracker
Requeue Service after Endpoint Deletion
2020-08-10 18:28:16 -07:00
Bilal Amarni
81867fd1d9 Enable completion for kubectl config delete-context
This enables shell completion for `delete-context`, which will suggest
context names, similarly to the `use-context` and `rename-context`
subcommands.
2020-08-10 16:24:36 +02:00
Nikhita Raghunath
53e87ddd15 vsphere: remove inactive members from OWNERS
As a part of cleaning up inactive members (who haven't been active since
beginning of 2019) from OWNERS files, this commit moves abrarshivani to
emeritus_approvers section.
2020-08-10 15:23:25 +05:30
He Jie Xu
75ccb90407 Fast return when no any matched anti-affinity terms
When check the incoming pod's anti-affinity rules, there is change to
return early when there is no any matched anti-affinity terms in the
whole cluster.
2020-08-10 14:53:10 +08:00
Kubernetes Prow Robot
37cda82c35 Merge pull request #93722 from liggitt/taint-evict
Do not evict pods which tolerate all NoExecute taints
2020-08-09 20:42:19 -07:00
houmin
868dd41a96 Fix an error in NodeUnschedulable plugin comment 2020-08-10 11:20:23 +08:00
Davanum Srinivas
3421199494 Sign up dims for additional review roles
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-08-08 19:08:38 -04:00
Kubernetes Prow Robot
ec2651cc44 Merge pull request #93790 from liggitt/ns-cleanup-op-cache
Fix namespace controller cleanup orphaning
2020-08-08 07:26:19 -07:00
Kubernetes Prow Robot
377287ad37 Merge pull request #93660 from damemi/1.19-affinity-validation
Add LabelSelector validation in Pod Affinity/AntiAffinity Filter and Score plugins
2020-08-08 03:40:19 -07:00
Jordan Liggitt
648c591fff Fix namespace controller cleanup orphaning 2020-08-07 13:26:28 -04:00
Mike Dame
012245c5b9 Add LabelSelector validation in Pod Affinity/AntiAffinity Filter and Score plugins
The lack of this validation on incoming pods causes unpredictable cluster outcomes
when later calculating affinity results against existing pods (see #92714). This fix
quickly addresses the main source where these problems should be caught.

It is unfortunately difficult to add this validation directly to the API server due
to the fact that it may break migrations with existing pods that fail this check. This
is a compromise to address the current issue.
2020-08-07 12:17:40 -04:00
yodarshafrir1
ca420ddada Fix job's backoff limit for restart policy Never, rely on number of failures instead of number of NumRequeues 2020-08-07 14:22:40 +03:00
knight42
ebf60155bf test(kubelet): add a regression test to verify kubelet would not panic 2020-08-07 17:50:22 +08:00
knight42
a471843246 fix(kubelet): protect containerCleanupInfos from concurrent map writes
Signed-off-by: knight42 <anonymousknight96@gmail.com>
2020-08-07 16:55:56 +08:00
lsytj0413
16c13017a2 refactor(*): update pvc quota name typo in comment 2020-08-07 10:36:10 +08:00
Kubernetes Prow Robot
92e51c1901 Merge pull request #93717 from liggitt/deflake-nodestatus
Deflake TestUpdateNodeStatusWithLease - guard cached machineInfo
2020-08-06 16:16:19 -07:00
Kubernetes Prow Robot
f5334fad48 Merge pull request #93617 from liggitt/deflake-ds-test
Deflake TestExpectationsOnRecreate
2020-08-06 09:35:43 -07:00
ynqa
4357551ae3 add testcases for kubelet getters 2020-08-07 00:03:42 +09:00
Gireesh Punathil
fdbfbaac33 fix a typo in the comment 2020-08-06 07:57:12 +05:30
Shintaro Murakami
b7792711f5 Use v1helper.GetPersistentVolumeClass for compatibility 2020-08-06 09:26:21 +09:00
Kubernetes Prow Robot
382107e6c8 Merge pull request #93441 from robscott/endpointslicemirroring-tracker-fix
Fixing memory leak in EndpointSliceMirroring EndpointSlice tracker
2020-08-05 11:54:28 -07:00
Swetha Repakula
23a3353a6a Requeue service after endpoint deletion
- ensure endpoints that have been deleted and are desired are recreated
 despite a possibly out of date endpoint cache
2020-08-05 11:50:23 -07:00
Jordan Liggitt
892bdf9a15 Do not evict pods which tolerate all NoExecute taints 2020-08-05 12:50:43 -04:00
Jordan Liggitt
b181c76cbd Deflake TestUpdateNodeStatusWithLease - guard cached machineInfo 2020-08-05 10:00:36 -04:00
Sergey Kanzhelev
a84834fdcf PodReasonUnschedulable is not a pod condition type 2020-08-05 03:06:37 +00:00
Kubernetes Prow Robot
8b7d8cd299 Merge pull request #93403 from hex108/remove_err_msg
Remove unuseful error message about updating pod conditions not owned…
2020-08-04 11:46:22 -07:00
Rodrigo Campos
e6c67c32e1 Fix kubelet log message when starting a container
This code can be called not only when a container is dead and restarted,
but when is started for the first time too. For example, any pod with
initContainer and containers will exhibit this behaviour. The reason is
that in that case, the "if createPodSandbox" path will return the
initContainers only and on the next call to this function this code is
executed to start the containers for the fist time.

In that case, it is wrong to log that the container is dead and will be
restarted, as it was never started. In fact, the restart count will not
be increased.

This commit just changes this to say that the container is not in the
desired state and should be started. In the end, the kubelet is a state
machine and that is all we really care about.

No tests are added, as the behaviour was correct and tests don't check
logs messages.

Signed-off-by: Rodrigo Campos <rodrigo@kinvolk.io>
2020-08-04 14:58:27 -03:00
Shingo Omura
ef1fab7642 expose Run[Pre]ScorePlugins functions in PluginRunner interface 2020-08-04 22:50:13 +09:00
zhouya0
8724a8ea6b Cleanup wait forever loops in pv_controller_test.go 2020-08-04 16:19:32 +08:00
Kubernetes Prow Robot
9d8a87b5c7 Merge pull request #93442 from robscott/endpointslicemirroring-labels
Updating EndpointSliceMirroring controller to copy labels from Endpoints
2020-08-04 01:14:19 -07:00
Kubernetes Prow Robot
1a05ebe2c6 Merge pull request #93655 from liggitt/deflake-test-controller-sync
Deflake TestControllerSync
2020-08-03 23:22:18 -07:00
ravisantoshgudimetla
cd8686bc57 Strip unnecessary security contexts on Windows
As of now, the kubelet is passing the security context to container runtime even
if the security context has invalid options for a particular OS. As a result,
the pod fails to come up on the node. This error is particularly pronounced on
the Windows nodes where kubelet is allowing Linux specific options like SELinux,
RunAsUser etc where as in [documentation](https://kubernetes.io/docs/setup/production-environment/windows/intro-windows-in-kubernetes/#v1-container),
we clearly state they are not supported. This PR ensures that the kubelet strips
the security contexts of the pod, if they don't make sense on the Windows OS.
2020-08-03 23:43:31 -04:00
Davanum Srinivas
fbca4e3ee9 Move bgrant0607 to emeritus status.
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-08-03 21:50:46 -04:00