Commit Graph

122 Commits

Author SHA1 Message Date
Antonio Ojea
6d3fd8353c don't panic if nodeIPs are not found 2021-06-21 10:59:09 +02:00
Jan Chaloupka
34c2672115 Skip PodTopologySpread tests in a single node cluster scenario 2021-03-11 12:32:09 +01:00
Stephen Heywood
ee7ee85669 Update conformance metadata for relocated test 2021-02-10 13:32:58 +13:00
Antonio Ojea
08a8e80c9f move e2e hostport conflict test to sig-network
The test "validates that there is no conflict between pods with same
hostPort but different hostIP and protocol" was testing the scheduler
capability to schedule pods on the same node with hostPorts, however,
it wasn´t validating that the HostPorts was working, causing false
positives, because the pods were scheduled, but the HostPort exposed
wasn´t working.

In order to test the HostPort functionality, we have to use HostNetwork
pods, that are incompatible with Windows platforms. Also, since this
is touching both network and scheduling, there is no clear the ownership,
but sig-network is happy to adopt it.

We also add a new test for scheduling only under "scheduling", so Windows
folks can use it to test the scheduled in that platform.
2021-01-27 21:55:36 +01:00
Jan Chaloupka
2318992227 e2e: Pod should avoid nodes that have avoidPod annotation: clean remaining pods
The test is not cleaning all pods it created.
Memory balancing pods are deleted once the test namespace is.
Thus, leaving the pods running or in terminating state when a new test is run.
In case the next test is "[sig-scheduling] SchedulerPredicates [Serial] validates resource limits of pods that are allowed to run",
the test can fail.
2021-01-21 17:08:40 +01:00
Kubernetes Prow Robot
33ee864e92
Merge pull request #97003 from ravisantoshgudimetla/remove-scheduler-preemption-test-from-conformance
make hostPort match test linuxonly
2021-01-14 19:39:51 -08:00
ravisantoshgudimetla
c183ac16d1 make hostPort match test linuxonly 2021-01-14 16:40:39 -05:00
Tomas Nozicka
e4d7915a2e Use non privileged ports 2020-12-11 13:57:46 +01:00
Wei Huang
8cf3347d87
Increase preemption timeout from 1 minute to 2 minutes 2020-12-01 14:17:12 -08:00
Antonio Ojea
d5b7ef86bb correct e2e test predicates conflict hostport
The e2e test, included as part of Conformance,
"validates that there is no conflict between
 pods with same hostPort but different hostIP and protocol"
was only testing that the pods were scheduled without conflict
but was never testing the functionality.

The test should check that pods with containers forwarding the same
hostPort can be scheduled without conflict, and that those exposed
HostPort are forwarding the ports to the corresponding pods.

the predicate tests were using loopback addresses for the the
hostPort test, however, those have different semantics depending
on the IP family, i.e. you can not bind to ::1 and ::2 simultanously,
in addition, IP forwarding from localhost to localhost in IPv6 is
not working since it doesn't have the kernel route_localnet hack.
2020-11-17 15:28:29 +01:00
Sergey Kanzhelev
06da0e5e74 GA of RuntimeClass feature gate and API 2020-11-11 19:22:32 +00:00
Jefftree
ace97738e2 Update formatting of conformance comment 2020-07-29 20:50:44 -07:00
hasheddan
5f904f5e79
Do not raise exception if unscheduled Pod status is unknown
Currently when checking for unscheduled pods an exception will be raised
if a pod is not scheduled and the status is unknown. This update modifies
the logic to include any pod without a NodeName in the not scheduled
pods returned.

Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
2020-06-29 14:16:15 -05:00
hasheddan
9ab31affbe
Do not ignore unscheduled pods when NodeName not in set of worker nodes
When node scheduling tests were updated to use worker instead of master
nodes the GetPodsScheduled function, which is tasked with getting all
scheduled and not scheduled pods inadvertently was changed to ignore all
pods that have an empty NodeName before checking whether pods had been
scheduled or not. This updates the function to include pods without a
NodeName in the check for unscheduled pods.

Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
2020-06-26 09:45:25 -05:00
hasheddan
df5ddc70a0
Fix assignment to nil map in e2e scheduling predicates
Ready schedulable nodes are being inserted into an unitialized string
set, causing an assignment to entry in nil map in the underlying data
structure. This initializes the string set before attempting to insert
nodes.

Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
2020-06-25 08:32:00 -05:00
Kenichi Omichi
5edf15ea97 Use worker nodes for WaitForStableCluster()
WaitForStableCluster() checks all pods run on worker nodes, and the
function used to refer master nodes to skip checking controller plane
pods.
GetMasterAndWorkerNodes() was used for getting master nodes, but the
implementation is not good because it usesDeprecatedMightBeMasterNode().

This makes WaitForStableCluster() refer worker nodes directly to avoid
using GetMasterAndWorkerNodes().
2020-06-24 15:21:12 +00:00
tanjunchen
3b5ea194ea test/e2e/framework : move AddOrUpdateTaintOnNode to subpackage node 2020-04-29 21:29:38 +08:00
tangcong
eab22fd805 fix e2e scheduling staticcheck error 2020-04-21 07:11:26 +08:00
Kubernetes Prow Robot
81d2707797
Merge pull request #89889 from tanjunchen/move-func-20200406
move function RemoveTaintOffNode in test/e2e/framework/util.go  to subpackage node
2020-04-10 12:25:48 -07:00
tanjunchen
e358e75681 test/e2e/scheduling:improve code 2020-04-08 18:03:15 +08:00
tanjunchen
6532b40f21 move function RemoveTaintOffNode in test/e2e/framework/util.go to subpackage node 2020-04-08 09:59:44 +08:00
Aaron Crickenberger
cc7c862ce1 e2e: use apiserver view of pods on node instead of kubelet
Conformance tests must not rely on the kubelet API in order to
pass. SchedulerPredicates tests attempt to use the kubelet API
in their BeforeEach, some of which are tagged as Conformance.

Is there a compelling reason to use the kubelet's view of pods
for a given node instead of the apiserver's view of the pods?
2020-04-01 08:28:14 -07:00
Mike Danese
aaf855c1e6 deref all calls to metav1.NewDeleteOptions that are passed to clients.
This is gross but because NewDeleteOptions is used by various parts of
storage that still pass around pointers, the return type can't be
changed without significant refactoring within the apiserver. I think
this would be good to cleanup, but I want to minimize apiserver side
changes as much as possible in the client signature refactor.
2020-03-05 14:59:46 -08:00
Mike Danese
c58e69ec79 automated refactor 2020-03-05 14:59:46 -08:00
tanjunchen
b5cdb6e6cb test/e2e/:remove // TODO: write a wrapper for ExpectNoErrorWithOffset() 2020-03-01 23:00:11 +08:00
Wei Huang
ef786c9fa2
Setting a Pod's nodeAffinity instead of setting .spec.nodeName directly 2020-02-26 19:06:05 -08:00
Eric Ernst
1d896db61c e2e-scheduling: add basic PodOverhead test
Add a test to verify that Overhead is being considered during
predication.

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2020-02-21 08:42:41 -08:00
Wei Huang
c93dffdfc4
E2E tests for PodTopologySpread 2020-02-14 16:48:35 -08:00
tanjunchen
c2c3c478cd test/e2e/framework:move functions to test/e2e/scheduling/ 2020-02-10 12:34:19 +08:00
Mike Danese
25651408ae generated: run refactor 2020-02-08 12:30:21 -05:00
Kubernetes Prow Robot
334d788f08 Merge pull request #87299 from mikedanese/ctx
context in client-go
2020-02-08 06:43:52 -08:00
Mike Danese
3aa59f7f30 generated: run refactor 2020-02-07 18:16:47 -08:00
Jan Chaloupka
ef1b991ebc SchedulerPredicates [Serial] validates resource limits of pods that are allowed to run - set resource requests as well
NodeResourceFit plugin's Filter method responsible for checking if a pod fits
a given node ignores resource limits and acknowledge resource requests only.
Given both tests validating resource limits of pods were setting only pod resource limits,
ability of NodeResourceFit plugin to properly filter nodes was not tested at all.
2020-01-16 09:14:43 +01:00
s-ito-ts
4789e51d8e Use e2eskipper package in e2e/scheduling and e2e/servicecatalog 2020-01-14 01:54:25 +00:00
Kubernetes Prow Robot
110da204f6
Merge pull request #85190 from danielqsj/f-event
refactor events utils in e2e
2020-01-07 22:35:40 -08:00
Aaron Crickenberger
877381550d Revert "promote e2e tests for taint-tolerations in predicates"
This reverts commit 4d3d364d2b.

This commit promoted a test to conformance and also changed the test at
the same time. It should have been split up into two PRs to verify
whether the change had the intended effect. The test is now failing
consistently, so reverting.
2019-12-18 10:01:00 -05:00
Kubernetes Prow Robot
0b830f3d68
Merge pull request #83652 from Jefftree/taint-tolerations
promote e2e tests for taint-tolerations in predicates
2019-12-17 09:47:39 -08:00
hwdef
d45107a00d test/e2e: move funcs from test/e2e/pod to other folders 2019-12-16 11:58:49 +08:00
Haosdent Huang
546dbf8b3c e2e: move funs of framework/kubelet to e2e/scheduling 2019-12-10 15:40:20 +08:00
Jefftree
4d3d364d2b promote e2e tests for taint-tolerations in predicates 2019-12-05 16:54:02 -08:00
Abdullah Gharaibeh
8aa26a6ed6 remove max pods from e2e test 2019-12-04 13:38:08 -05:00
SataQiu
50bc528a7e e2e: move LogFailedContainers out of e2e test framework util.go 2019-11-15 10:21:26 +08:00
Aldo Culquicondor
f6b460c991 Wait for terminating pods to be deleted
To reduce flakiness of Scheduler Predicates E2E tests

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2019-11-13 14:39:01 -05:00
danielqsj
ce34d0a49d refactor events utils in e2e 2019-11-13 16:03:17 +08:00
Mike Dame
a19d83494f Update e2e framework WaitForStableCluster function
Move WaitForStable cluster to test/e2e/scheduling and update it to wait for only system pods to be ready in a stable cluster.
2019-11-07 11:32:46 -05:00
Kenichi Omichi
f2dab471b5 Move TranslateIPv4ToIPv6() to e2e scheduling test
TranslateIPv4ToIPv6() is used at e2e scheduling test only, so this
moves the function to the place.
2019-10-23 22:41:09 +00:00
Dan Winship
71b02dd422 Fix up e2enode.GetReadySchedulableNodes, replace many uses of framework.GetReadySchedulableNodesOrDie
Remove the "OrDie" from the name (since it doesn't "or die") and add
an extra check that there is at least 1 node available, since many
callers already did that themselves, and many others should have.
2019-09-24 13:03:39 -04:00
Mark Janssen
1a1b7001d6 Fix staticcheck failures for scheduler packages
Errors from staticcheck:
cmd/kube-scheduler/app/server.go:297:27: prometheus.Handler is deprecated: Please note the issues described in the doc comment of InstrumentHandler. You might want to consider using promhttp.Handler instead.  (SA1019)
pkg/apis/scheduling/v1alpha1/defaults.go:27:6: func addDefaultingFuncs is unused (U1000)
pkg/apis/scheduling/v1beta1/defaults.go:27:6: func addDefaultingFuncs is unused (U1000)
test/e2e/scheduling/predicates.go:757:6: func verifyReplicasResult is unused (U1000)
test/e2e/scheduling/predicates.go:765:6: func getPodsByLabels is unused (U1000)
test/e2e/scheduling/predicates.go:772:6: func runAndKeepPodWithLabelAndGetNodeName is unused (U1000)
test/e2e/scheduling/limit_range.go:172:3: this value of pod is never used (SA4006)
test/e2e/scheduling/limit_range.go:177:3: this value of pod is never used (SA4006)
test/e2e/scheduling/limit_range.go:196:3: this value of pod is never used (SA4006)
test/e2e/scheduling/limit_range.go:201:3: this value of pod is never used (SA4006)
test/e2e/scheduling/limit_range.go:240:3: this value of pod is never used (SA4006)
test/e2e/scheduling/taints.go:428:13: this value of err is never used (SA4006)
test/e2e/scheduling/ubernetes_lite.go:219:2: this value of pods is never used (SA4006)
test/integration/scheduler/extender_test.go:78:4: this value of resp is never used (SA4006)
test/integration/volumescheduling/volume_binding_test.go:529:15: this result of append is never used, except maybe in other appends (SA4010)
test/integration/volumescheduling/volume_binding_test.go:538:15: this result of append is never used, except maybe in other appends (SA4010)
2019-09-23 22:52:57 +02:00
s-ito-ts
8745f02015 Use log functions of core framework on test/e2e/scheduling 2019-08-30 06:27:42 +00:00
Kubernetes Prow Robot
acf5411774
Merge pull request #81108 from oomichi/issue/81103
Make nodeList schedulable
2019-08-29 02:55:57 -07:00