Commit Graph

127 Commits

Author SHA1 Message Date
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
Jorge Alarcon Ochoa
4969a05327 Refactored pod-related functions from framework/util.go
This a refactoring of framework/utils.go into framework/pod.

Signed-off-by: Jorge Alarcon Ochoa <alarcj137@gmail.com>
2019-05-30 09:30:26 -04:00
Kenichi Omichi
48f1f74a51 Use ExpectNoError() for scalability and scheduling
The e2e test framework has ExpectNoError() for readable test code.
This replaces Expect(err).NotTo(HaveOccurred()) with it.
2019-05-15 20:19:25 +00:00
danielqsj
ccecc67a5b fix golint error in test/e2e/scheduling 2019-05-14 14:18:52 +08:00
danielqsj
15a4342fe8 remove dot imports in e2e/scheduling 2019-05-14 14:17:20 +08:00
draveness
da7507500f refactor: use e2elog.Logf instead of framework.Logf 2019-05-07 08:15:31 +08:00
Andrew Sy Kim
1470df7a05 remove usages of internal clientset in e2e framework
Signed-off-by: Andrew Sy Kim <kiman@vmware.com>
2019-03-28 21:13:40 -04:00
Vu Cong Tuan
c747b7f38d Fix many typos in both code and comments
Signed-off-by: Vu Cong Tuan <tuanvc@vn.fujitsu.com>
2019-02-27 14:41:02 +07:00
Wei Huang
ca10e616bf
add e2e tests for TaintBasedEvictions 2018-10-30 10:40:05 -07:00
Benjamin Elder
8b56eb8588 hack/update-gofmt.sh 2018-09-24 12:21:29 -07:00
Benjamin Elder
088cf3c37b find & replace version import 2018-09-24 12:03:24 -07:00
Srini Brahmaroutu
9bb3332c63 Adding details to Conformance Tests using RFC 2119 standards. 2018-07-25 14:46:28 -07:00
Bobby (Babak) Salamat
0daedee0de Change our tests to ensure that critical system pods are created in the system namespace 2018-06-28 22:25:27 -07:00
Clayton Coleman
e9245b0903
Do not error out on pods in kube-system
Scheduling tests are too aggressive about the health of kube-system.
2018-06-11 22:15:56 -04:00
Clayton Coleman
6168bec12e
Narrow e2e pre-check on scheduler predicates 2018-06-11 22:15:07 -04:00
Maciej Szulik
383872615d
Remove kubectl reapers 2018-05-25 22:18:05 +02:00
Da K. Ma
2d84501d15 Removed e2e test on empty NodeAffinity.
Signed-off-by: Da K. Ma <klaus1982.cn@gmail.com>
2018-04-24 19:40:04 +08:00
Manjunath A Kumatagi
1bb810e749 Use pause manifest image 2018-04-06 11:00:50 +05:30
Harry Zhang
b646467536 Add namespace name into e2e event verify 2018-03-29 17:37:03 -07:00
Kubernetes Submit Queue
40c68e26c4
Merge pull request #61038 from aveshagarwal/master-issue-61018
Automatic merge from submit-queue (batch tested with PRs 61546, 61038, 61575, 60779, 61496). 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 random port to avoid conflict with other important pods that might be listening on 80.

**What this PR does / why we need it**:
Fix https://github.com/kubernetes/kubernetes/issues/61018

**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/61018

**Special notes for your reviewer**:

**Release note**:

```release-note
None.
```
@smarterclayton
2018-03-26 18:56:02 -07:00
p0lyn0mial
1f1d24005a removes custom scalers from kubectl 2018-03-26 19:33:42 +02:00
Avesh Agarwal
3289085ecc Use a random unused port for these e2e tests. Do not use port 80 to avoid
conflict with other important pods that might be listening on 0.0.0.0:80.
2018-03-21 11:13:35 -04:00
chenxingyu
954c97fe6d add e2e test on the hostport predicates 2017-11-10 15:44:23 +08:00
Paulo Pires
d2edb8af9e
fix scheduler predicates test that may violate DNS label rules
This commit fixes an issue where in clusters which have FQDN as the node names,
one of the scheduling predicates tests will fail because it will try and run a
pod with a name that violates DNS-1123 rules. As an example, one such pod name
could look like "filler-pod-kube-node-0.kubelet.mesos".

Signed-off-by: Paulo Pires <pjpires@gmail.com>
2017-11-05 16:01:39 +00:00
Matt Liggett
a5967cbaf1 Add framework.ConformanceIt as the new way to declare conformance tests.
Also rewrite all existing conformance tests to use this.
2017-10-27 15:29:59 -07:00
Brad Topol
095913e9d7 Add conformance annotations for proxy and scheduler predicate tests
Signed-off-by: Brad Topol <btopol@us.ibm.com>
2017-10-23 11:30:05 -07:00
Bobby (Babak) Salamat
e4c8eefd41 Fix a scheduler flaky e2e test 2017-09-28 19:47:53 -07:00
Kubernetes Submit Queue
be78d113b1 Merge pull request #52201 from timothysc/ephemeral_gate
Automatic merge from submit-queue

Version gates the ephemeral storage e2e test

Version gates the ephemeral storage e2e test.

**Release note**:
```
NONE
```

@kubernetes/sig-testing-pr-reviews
2017-09-12 23:24:42 -07:00
Timothy St. Clair
79725246f4 Version gates the ephemeral storage e2e test 2017-09-08 16:53:38 -05:00
Kubernetes Submit Queue
f695a3120a Merge pull request #50949 from bsalamat/preemption_eviction
Automatic merge from submit-queue

Add pod preemption to the scheduler

**What this PR does / why we need it**:
This is the last of a series of PRs to add priority-based preemption to the scheduler. This PR connects the preemption logic to the scheduler workflow.

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

**Special notes for your reviewer**:
This PR includes other PRs which are under review (#50805, #50405, #50190). All the new code is located in 43627afdf9.

**Release note**:

```release-note
Add priority-based preemption to the scheduler.
```

ref/ #47604

/assign @davidopp 

@kubernetes/sig-scheduling-pr-reviews
2017-09-08 14:19:42 -07:00
Bobby (Babak) Salamat
4a08dff168 Add pod eviction logic for scheduler preemption
Add Preempt to scheduler interface
Add preemption to the scheduling workflow
Minor changes to the scheduler integration test library
2017-09-07 15:31:55 -07:00
NickrenREN
e5fc735906 Fix scheduling e2e test case for local ephemeral storage 2017-09-01 13:51:37 +08:00
NickrenREN
18f086c6f6 Add cluster e2es to verify scheduler local storage support 2017-08-26 14:44:15 +08:00
NickrenREN
40bcad482f Remove private and unused codes 2017-08-26 14:21:05 +08:00
Kubernetes Submit Queue
178a5ff314 Merge pull request #50665 from xiangpengzhao/hardcode-to-const
Automatic merge from submit-queue (batch tested with PRs 50257, 50247, 50665, 50554, 51077)

Replace hard-code "cpu" and "memory" to consts

**What this PR does / why we need it**:
There are many places using hard coded "cpu" and "memory" as resource name. This PR replace them to consts.

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

**Special notes for your reviewer**:
/kind cleanup

**Release note**:

```release-note
NONE
```
2017-08-23 02:35:09 -07:00
Avesh Agarwal
6b5118e2b9 Remove duplicate unused function. 2017-08-16 16:10:58 -04:00
xiangpengzhao
1c4dbcf5ca Replace hard-code "cpu" and "memory" to consts 2017-08-16 16:37:50 +08:00
Kevin
f76ca1fb16 update clientset.Core() to clientset.CoreV1() in test 2017-08-14 16:53:55 +08:00
vikaschoudhary16
189129c71d Add inter-pod-affinity integration tests and remove corresponding e2e tests
Signed-off-by: vikaschoudhary16 <choudharyvikas16@gmail.com>
2017-07-26 23:24:28 -04:00
Kubernetes Submit Queue
3f887171dd Merge pull request #49253 from Quentin-M/no_host_pred_test
Automatic merge from submit-queue (batch tested with PRs 49358, 49253)

Remove hostname label condition in SchedulerPredicates

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

```
validates that NodeSelector is respected if matching [Conformance]
validates that required NodeAffinity setting is respected if matching
```

The two tests above make the assumption that the node names are equal to the `kubernetes.io/hostname` labels. Unfortunately, this is not necessarily true all the time. For instance, when using the AWS Cloud Provider + Container Linux:
- The node name is set using the AWS SDK's `ec2.Instance.PrivateDnsName` and has the form `ip-10-0-35-57.ca-central-1.compute.internal` [[1](https://github.com/kubernetes/kubernetes/blob/v1.7.1/pkg/cloudprovider/providers/aws/aws.go#L3343-L3346)] [[2](https://raw.githubusercontent.com/aws/aws-sdk-go/master/service/ec2/api.go)]
- The node's hostname, however, is a simple call to `os.Hostname()`, itself reading `/proc/sys/kernel/hostname`, which contains what the AWS DHCP assigned to the instance, typically the hostname short-form: `ip-10-0-16-137`.  [[1](https://github.com/kubernetes/kubernetes/blob/v1.7.1/pkg/util/node/node.go#L43-L54)]

Consequently, we are trying to assign a pod to a node having the following label: `kubernetes.io/hostname=ip-10-0-35-57.ca-central-1.compute.internal` (in addition to the randomly generated label), whereas the actual label on the node is `kubernetes.io/hostname=ip-10-0-35-57`.

Furthermore, this inaccurate `kubernetes.io/hostname=<nodename>` condition is actually useless given we already match over a random label, that was assigned to that node. Later, the test ensures that the scheduled pod was scheduled to the right node by comparing the pod's node name and the node name we expected the pod to be on:

```
framework.ExpectNoError(framework.WaitForPodNotPending(cs, ns, labelPodName))
labelPod, err := cs.Core().Pods(ns).Get(labelPodName, metav1.GetOptions{})
framework.ExpectNoError(err)
Expect(labelPod.Spec.NodeName).To(Equal(nodeName))
```

The `k8s.io/apimachinery/pkg/types/nodename` data structure actually [warns](55bee3ad21/staging/src/k8s.io/apimachinery/pkg/types/nodename.go (L40-L43)) about the fact that the node name might be different than the hostname on AWS.

**Release note**:
```release-note
NONE
```
2017-07-24 21:31:08 -07:00
Quentin MACHU
d4db482a45 Remove hostname label condition in SchedulerPredicates 2017-07-19 18:01:47 -07:00
Mike Danese
3c39173ee4 fixit: break sig-cluster-lifecycle tests into subpackage 2017-07-19 10:14:51 -07:00
Kubernetes Submit Queue
2faf7ff2bc Merge pull request #36238 from resouer/eclass-2-dev
Automatic merge from submit-queue (batch tested with PRs 48043, 48200, 49139, 36238, 49130)

Implement equivalence cache by caching and re-using predicate result

The last part of #30844, I opened a new PR instead of overwrite the old one because we changed some basic assumption by allowing invalidating equivalence cache item by individual predicate.

The idea of this PR is based on discussion in https://github.com/kubernetes/kubernetes/issues/32024

- [x]  Pods belong to same controllerRef considered to be equivalent
- [x] ` podFitsOnNode` will use cached predicate result if it's available
- [x] Equivalence cache will be updated when if a fresh new predicate is done
- [x] `factory.go` will invalid specific predicate cache(s) based on the object change
- [x] Since `schedule` and `bind` are async, we need to optimistically invalid affected cache(s) before `bind`
- [x] Fully unit test of affected files
- [x] e2e test to verify cache update/invalid workflow
- [x] performance test results

- [x] Some nits fixes related but expected to result in `needs-rebase` so they are split to: #36060 #35968 #37512

cc @wojtek-t @davidopp
2017-07-19 01:57:32 -07:00
Harry Zhang
0e8517875e Update factory.go informers to update equivalence cache
Fix tombstone

Add e2e to verify equivalence cache

Addressing nits in factory,go and e2e

Update build files
2017-07-18 23:55:01 +08:00
xiangpengzhao
d9d3396566 Remove affinity annotations leftover 2017-07-18 19:42:52 +08:00
Jacob Simpson
29c1b81d4c Scripted migration from clientset_generated to client-go. 2017-07-17 15:05:37 -07:00
David Oppenheimer
a836d55d0f Mark sig-scheduling tests with [sig-scheduling] so they can be selected
for the testdash dashboard.
2017-07-15 00:07:30 -07:00
Kubernetes Submit Queue
b4e7628af1 Merge pull request #47329 from zhangxiaoyu-zidif/delete-meaningless-funcion-return
Automatic merge from submit-queue

Delete unused return

**What this PR does / why we need it**:
We do not use the function return, it's better not to write the return.

**Release note**:

```release-note
NONE
```
2017-07-08 02:46:43 -07:00
Kubernetes Submit Queue
11b5956f7a Merge pull request #47628 from bizhao/e2e
Automatic merge from submit-queue (batch tested with PRs 45610, 47628)

Replace capacity with allocatable to calculate pod resource

It is not accurate to use capacity to do the calculation.



**What this PR does / why we need it**:
The currently cpu resource calculation for a pod in end2end test is incorrect.

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

**Special notes for your reviewer**:
More details about capacity and allocatable:
https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node-allocatable.md

**Release note**:

NONE
2017-06-27 17:46:11 -07:00
Chao Xu
60604f8818 run hack/update-all 2017-06-22 11:31:03 -07:00
Chao Xu
f4989a45a5 run root-rewrite-v1-..., compile 2017-06-22 10:25:57 -07:00
Binbin Zhao
82cbbb4845 Fix a typo
Fix a typo
2017-06-21 01:15:55 -07:00
Binbin Zhao
9cbe992fc5 Also rename leftCapacity to leftAllocatable 2017-06-21 00:55:38 -07:00
Binbin Zhao
b055246f0a Replace capacity with allocatable to calculate pod resource
It is not accurate to use capacity to do the calculation.
2017-06-15 20:05:15 -07:00
zhangxiaoyu-zidif
f244e3cb7c delete unused return 2017-06-13 19:48:42 +08:00
gmarek
99142b8911 Make SchedulerPredicates test more resiliant to recent Node restarts 2017-05-10 17:11:29 +02:00
Chao Xu
4f9591b1de move pkg/api/v1/ref.go and pkg/api/v1/resource.go to subpackages. move some functions in resource.go to pkg/api/v1/node and pkg/api/v1/pod 2017-04-17 11:38:11 -07:00
Haoran Wang
0b3a6c80ca Initial the scheduler priority test 2017-03-30 10:54:27 +08:00
Wojciech Tyczynski
2e3cd93fc8 Fix problems of not-starting image pullers 2017-03-28 11:05:57 +02:00
Bobby Salamat
2775a52e7a Fix waitForScheduler in scheduer predicates e2e tests 2017-03-15 17:21:35 -07:00
Timothy St. Clair
6cc40678b6 Initial breakout of scheduling e2es to help assist in both assignment
and refactoring.
2017-03-13 22:34:57 -05:00