Commit Graph

110 Commits

Author SHA1 Message Date
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
Alexey Kremsa
ff7b07c43c removed equivalence cache tests
fix build
2019-08-22 14:55:30 +03:00
Kenichi Omichi
e8c41b8892 Remove printOnce() on e2e tests
Originally, printOnce() was implemented for printing debugging message
once for checking actual value is the same as expected value.
However even if an error doesn't happen in ExpectEqual(), printOnce()
is called internally. Then the second ExpectEqual() doesn't output
the debugging message if an error happens. This makes debugging
difficult, let's just remove it for debugging.
2019-08-08 07:29:56 +00:00
Kenichi Omichi
7f949e1fcc Make nodeList schedulable
The conformance test "validates resource limits of pods that are
allowed to run" is failed if master node doesn't have taints.
The reason is that nodeList which should consist of schedulable
nodes is gotten with GetMasterAndWorkerNodes() and master nodes
were excluded from nodeList.
This makes nodeList be gotten with GetReadySchedulableNodesOrDie()
and nodeList can consist of schedulable nodes.
2019-08-07 10:34:52 +00:00
WanLinghao
92b0310cc5 Refactor and clean up e2e framework utils, this patch handles test/e2e/framework/kubelet_stats.go file 2019-08-01 17:40:02 +08:00
Kenichi Omichi
c6c274e8c9 Add message which shows how much CPU used
"validates resource limits of pods that are allowed to run" test of
conformance tests are flake on some local environments.
The CPU workload pods don't seem work well and nodes have still CPU
capacity after running the workload pods. Then the conformance test
failed unexpectedly.
This adds message which shows how much CPU used by the workload pods
for investigating it easily.
2019-07-27 02:13:52 +00:00
Antonio Ojea
54f81c3bb8
add ipv6 support to the hostport/HostIP e2e test 2019-07-23 22:55:38 +02:00
Kubernetes Prow Robot
65b094676f
Merge pull request #78350 from globervinodhn/hostip_hostport_promote
Promote existing E2Es for hostport/HostIP resolution to conformance
2019-07-19 14:25:24 -07:00
Jiatong Wang
e24a962821 Fix error log issue, remove OrDie suffix in methods naming 2019-07-17 23:18:21 -07:00
Jiatong Wang
0b37152f17 Refactor and Move node related methods to framework/node package
Signed-off-by: Jiatong Wang <wangjiatong@vmware.com>
2019-07-17 22:54:15 -07:00
s-ito-ts
e7752f72e4 Use framework.ExpectEqual() under e2e/scheduling 2019-07-04 08:51:24 +00:00
s-ito-ts
ea06a1c936 change from milli bytes to bytes in ephemeral-storage resource limits 2019-06-24 02:29:53 +00:00
globervinodhn
faf5cda046 Promote existing E2Es for hostport/HostIP resolution to conformance 2019-06-06 11:39:27 +05:30