Commit Graph

241 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
ed3e0d302f
Merge pull request #100644 from Huang-Wei/sched-fwk-config
Surface kube config in scheduler framework handle
2021-04-12 19:12:49 -07:00
Nicolas Mitchell
0e994e9481 return error with non-unique workload name in scheduler_perf_test 2021-04-06 10:24:04 -04:00
Nicolas Mitchell
338b06fb69 validate test/workload names in validateTestCases 2021-04-04 14:18:39 -04:00
Wei Huang
e7f67b1a63
Surface kube config in scheduler framework handle 2021-03-30 11:54:59 -07:00
Kubernetes Prow Robot
c78b5497ae
Merge pull request #99638 from chendave/perf_config
Enable scheduler_perf to support scheduler config file
2021-03-16 14:49:03 -07:00
Dave Chen
d50c0aeb5f Enable scheduler_perf to support scheduler config file
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-03-16 23:13:40 +08:00
Wei Huang
68ff3168b8
sched: fix a bug that literal 'p99' is mapped to 95th-percentile 2021-03-12 12:03:12 -08:00
Wei Huang
b93b4a2c96
sched: fix a bug that metrics of init or collected pods are re-collected 2021-03-11 10:28:39 -08:00
Kubernetes Prow Robot
823fa75643
Merge pull request #98900 from Huang-Wei/churn-cluster-op
Introduce a churnOp to scheduler perf testing framework
2021-03-11 02:00:24 -08:00
Kubernetes Prow Robot
23af91b293
Merge pull request #97779 from tiloso/staticcheck-test-integration-gs
Fix staticcheck in test/integration/{garbagecollector,scheduler_perf}
2021-03-10 16:04:23 -08:00
Kubernetes Prow Robot
841cb4adc4
Merge pull request #99844 from minbaev/scheduler-test-perf-optimization
add if check for number of scheduled pods to be greater than 0
2021-03-08 20:47:37 -08:00
David Eads
b8194cf77c switch most e2e tests to storage/v1 over v1beta1 2021-03-08 13:04:24 -05:00
Alexander Minbaev
359116f525 add if check for number of scheduled pods to be greater than 0 2021-03-05 09:05:42 -06:00
Kubernetes Prow Robot
0d4924e371
Merge pull request #99439 from minbaev/fix-typos
Fix typo in util.go
2021-03-04 11:00:22 -08:00
Wei Huang
1e5878b910
Introduce a churnOp to scheduler perf testing framework
- support two modes: recreate and create
- use DynmaicClient to create API objects
2021-03-03 06:51:53 -08:00
Benjamin Elder
56e092e382 hack/update-bazel.sh 2021-02-28 15:17:29 -08:00
Alexander Minbaev
5b73122105 Fix typo in util.go 2021-02-25 00:54:37 -06:00
Wei Huang
983272ce6a
sched: create dataItemsDir during a performance test if not exist 2021-02-17 12:44:16 -08:00
tiloso
e1ceac0783 Fix staticcheck in test/integration/{scheduler_perf,garbagecollector} 2021-02-10 10:55:09 +01:00
Kubernetes Prow Robot
2b7c61b1bb
Merge pull request #98205 from pacoxu/build/pauses
update pause image to 3.4.1 and also update the change log
2021-02-08 18:20:58 -08:00
pacoxu
0c152cbbbe update pause to 3.4.1 for tests(e2e)
Signed-off-by: pacoxu <paco.xu@daocloud.io>
2021-02-05 21:32:53 +08:00
Adhityaa Chandrasekar
b5808c6df9 scheduler_perf: remove implicit barrier at the end
Signed-off-by: Adhityaa Chandrasekar <adtac@google.com>
2021-02-03 12:49:28 +00:00
Kubernetes Prow Robot
6d43e2b3bb
Merge pull request #96834 from chendave/fix_race
Add performance benchmark for the preemption with volume
2020-12-15 07:13:49 -08:00
Dave Chen
ebcca92771 Add performance benchmark for the preemption with volume
This will help to reveal the potential issues when the
volume is in place.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-12-15 10:54:01 +08:00
Kubernetes Prow Robot
bd4d197b52
Merge pull request #96447 from chendave/bind_postfilter
Remove the deprecated metrics from scheduler
2020-12-14 06:31:28 -08:00
Dave Chen
5144e2ec78 Remove the deprecated metrics from scheduler
Deprecated metrics are removed and suggest to use the Histogram
metrics got from scheduler extension points.

Signed-off-by: Dave Chen <dave.chen@arm.com>
Co-authored-by: wawa0210 <xiaozhang0210@hotmail.com>
2020-12-14 11:31:50 +08:00
Kubernetes Prow Robot
65d57211e3
Merge pull request #97068 from chendave/selectors
Add constraint selector to pod template
2020-12-08 22:01:19 -08:00
Dave Chen
58142288a5 Add constraint selector to pod template
PodTopologySpread plugin will only count the existing pod when that
pod's label matches with `constraint.Selector`, which means all pods
could be scheduled to one topology zone when the constraint does not
have any selector defined.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-12-04 18:04:26 +08:00
Tim Hockin
4068402459 Change trivial topology labels
In these cases the actual label key is incidental.
2020-11-12 11:21:37 -08:00
Wei Huang
267acdbe81
Update docs and fix redundant logic of scheduler perf 2020-11-06 23:45:09 -08:00
Tim Hockin
819ff9b087
Use topology labels instead of old beta names (#96033)
* Rename const for topology.../zone

* Rename const for topology.../region

* Rename const for failure-domain.../zone

* Rename const for failure-domain.../region

* Restore old names for compat
2020-11-05 20:26:50 -08:00
tangwz
518c502f54 scheduler_perf: use time.Ticker in throughput measurement 2020-09-19 09:36:17 +08:00
Adhityaa Chandrasekar
71bc9ce9c2 scheduler_perf: refactor to allow arbitrary workloads
Signed-off-by: Adhityaa Chandrasekar <adtac@google.com>
2020-09-17 19:22:20 +00:00
Adhityaa Chandrasekar
59a6e86c0c scheduler_perf: label nodes for pod affinity
3 commits:
  label nodes for pod affinity
  use topology.kubernetes.io/zone label
  use 3 zones in pod affinity rules
2020-08-10 16:07:46 +00:00
hasheddan
a70b78e49a
Skip failing scheduler integration tests until they can be run successfully
The IPAM and scheduler performance tests are currently causing
integration-master job to fail because of timeouts. They were not
previously running as part of integration-master, so we can disable them
without loss of test coverage. They should be re-enabled as part of fix
for #93112.

Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
2020-07-15 10:28:35 -05:00
Dave Chen
ae735a1189 scheduler_perf: fix the nil pointer dereference
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-06-16 13:23:05 +08:00
Abdullah Gharaibeh
36a3ad8752 Added a benchmark to evaluate overhead of unschedulable pods 2020-06-05 15:19:07 -04:00
Abdullah Gharaibeh
d650b57141 Added Preemption benchmark 2020-05-28 14:05:52 -04:00
Davanum Srinivas
07d88617e5
Run hack/update-vendor.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:33 -04:00
Davanum Srinivas
442a69c3bd
switch over k/k to use klog v2
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:27 -04:00
Kubernetes Prow Robot
d73907fc25
Merge pull request #89380 from alculquicondor/perf-spreading
Add perf test case for Topology Spreading
2020-03-28 02:43:52 -07:00
Dave Chen
49283364bf Decouple yaml based integration test from legacy test
- Move utilities or constants out so that both of them should be able
to run independently.
- Rename the legacy test so that it can eventually be deleted when the
perf dash changes is done
2020-03-27 08:45:59 +08:00
Aldo Culquicondor
9b2ff544ed Fix pod affinity performance test configuration
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-26 15:52:44 -04:00
Aldo Culquicondor
671cd33986 Add perf test cases for topology spreading
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-25 10:06:09 -04:00
Aldo Culquicondor
c9314dde59 Add support for multiple label values in test cases
They are assigned in a round robin fashion

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-25 10:06:09 -04:00
Kubernetes Prow Robot
7e7c4d1021
Merge pull request #89272 from alculquicondor/perf-mixed-pods
Add multiple init pods to scheduler perf test cases
2020-03-25 00:29:02 -07:00
Aldo Culquicondor
e902e70d0d Use sqrt(n) chunk size in pod affinity and core scheduler 2020-03-24 10:29:59 -04:00
Kubernetes Prow Robot
2ab6357df0
Merge pull request #88528 from ingvagabund/doc-how-to-extend-scheduler-perf-tests
[doc] scheduler_perf: describe suite configuration in more detail
2020-03-23 17:10:47 -07:00
Aldo Culquicondor
5adc4c41e3 Add multiple init pods to perf test cases
Add test case with several init pods with affinity or antiaffinity.

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-23 14:55:12 -04:00
Aldo Culquicondor
0e66e56e70 Use b.Fatal instead of klog.Fatal in scheduler perf tests
The test tool doesn't work properly with klog.Fatal

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-23 14:53:15 -04:00
Dave Chen
eedfb593a9 Respect flags of testing package
`go test -c -o "perf.test"`
`./perf.test --help` doesn't understand "help" flag without
calling `flag.Parse` explicitly.
2020-03-16 10:24:15 +08:00
Jan Chaloupka
b09676921c [doc] scheduler_perf: describe suite configuration in more detail
The configuration file was design as a yaml file on purpose.
To easily extend the test cases without a need to modify
the testing binary. Also, it's possible to extend the configuration
itself to enrich individual test cases.
2020-03-05 11:42:05 +01:00
Jan Chaloupka
5b3b4de972 scheduler_perf: do not override throughput labels
Throughput labels are currently initialized with a "Name" label.
So we need to append to the map instead of creating a new one.
2020-02-28 16:10:50 +01:00
Kubernetes Prow Robot
fe9073b8c1
Merge pull request #88318 from mborsz/bench
Add BenchmarkSchedulingWaitForFirstConsumerPVs benchmark
2020-02-25 07:52:49 -08:00
Maciej Borsz
bd8ed0a2a7 Add BenchmarkSchedulingWaitForFirstConsumerPVs benchmark 2020-02-25 14:41:14 +01:00
Jan Chaloupka
0f3e0b40f6 scheduler_perf: describe how to run BenchmarkPerfScheduling manually 2020-02-24 19:12:00 +01:00
Cong Liu
7f56c753b3 Make MetricCollector configurable for scheduler benchmark tests 2020-02-18 14:02:57 -08:00
Benjamin Elder
3fb7183215 bump pause to 3.2 in test/ 2020-02-14 14:03:19 -08:00
Jan Chaloupka
7b5534021c Collect some of scheduling metrics and scheduling throughput
In addition to getting overall performance measurements from golang benchmark,
collect metrics that provides information about insides of the scheduler itself.
This is a first step towards improving what we collect about the scheduler.

Metrics in question:
- scheduler_scheduling_algorithm_predicate_evaluation_seconds
- scheduler_scheduling_algorithm_priority_evaluation_seconds
- scheduler_binding_duration_seconds
- scheduler_e2e_scheduling_duration_seconds

Scheduling throughput is computed on the fly inside perfScheduling.
2020-02-13 13:32:09 +01:00
Mike Danese
25651408ae generated: run refactor 2020-02-08 12:30:21 -05:00
Mike Danese
3aa59f7f30 generated: run refactor 2020-02-07 18:16:47 -08:00
Mike Danese
38ecb30c58
Revert "Collect some of scheduling metrics and scheduling throughput" 2020-02-06 10:18:00 -08:00
Jan Chaloupka
8a1c4a5a88 Collect some of scheduling metrics and scheduling throughput
In addition to getting overall performance measurements from golang benchmark,
collect metrics that provides information about insides of the scheduler itself.
This is a first step towards improving what we collect about the scheduler.

Metrics in question:
- scheduler_scheduling_algorithm_predicate_evaluation_seconds
- scheduler_scheduling_algorithm_priority_evaluation_seconds
- scheduler_binding_duration_seconds
- scheduler_e2e_scheduling_duration_seconds

Scheduling throughput is computed on the fly inside perfScheduling.
2020-02-02 18:02:49 +01:00
notpad
6511b603c9 Define workloads specs by YAML 2019-12-19 09:08:11 +08:00
Abdullah Gharaibeh
a051c591a1 Fix inter-pod affinity scheduler benchmarks 2019-12-10 10:00:28 -05:00
Abdullah Gharaibeh
da67bcbd35 added benchmarks for preferred (anti)pod affinity 2019-12-05 10:50:00 -05:00
Abdullah Gharaibeh
e9c400aabc update scheduler benchmarks to be more representative 2019-12-02 13:19:14 -05:00
Cong Liu
8995c1e030 Update bucket for scheduler framework latency histograms. 2019-11-13 16:35:59 -05:00
Abdullah Gharaibeh
134baa50b9 Convert multiple node label predicates to be a single filter plugin. 2019-11-05 10:34:51 -05:00
draveness
e5a23f8dda fix: scheduler perf test with pod informer 2019-10-15 13:54:45 +08:00
Ahmad Diaa
4448a1cea9 move factory package to scheduler 2019-10-12 23:03:07 +02:00
hwdef
321b690f62 fix(test): delete unused unused var or const 2019-09-20 14:41:53 +08:00
draveness
54e0f4773c feat(scheduler): use api server to watch scheduled pods 2019-09-17 11:24:59 +08:00
Kubernetes Prow Robot
3b393e3d17
Merge pull request #82330 from draveness/feature/remove-additional-cost-in-the-scheduler-benchmark
fix(scheduler): remove the defer function cost
2019-09-11 15:26:23 -07:00
draveness
4105fea6eb fix(scheduler): remove the defer function cost 2019-09-05 10:57:11 +08:00
draveness
6cfec4d919 feat: remove factory.Config from mustSetupScheduler 2019-08-21 19:54:28 +08:00
draveness
6d77624bc3 feat: use scheduler.New instead in createSchedulerConfigurator 2019-08-21 19:09:57 +08:00
Aldo Culquicondor
d935b1054c Remove Configurator interface
The Configurator has been used as a holder for listers that tests need,
which is not its purpose. By making the tests obtain listers from more
appropriate places, such as informers, there is no need for various
accessors to the Configurator.

Also, FakeConfigurator is not being used anymore, so there's no need for
an interface instead of a plain pointer.

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2019-08-01 08:36:38 -04:00
Jan Safranek
f6430c0159 Add benchmark for scheduling of pods with PVs 2019-06-26 14:07:17 +02:00
yameiwang
8d07b2641e fix typo in /test/integration 2019-05-30 03:47:43 +08:00
xichengliudui
0b184d35a1 fixgo lint failures test/integration/...
update pull request

update pull request

add files

update pull request
2019-02-19 04:41:50 -05:00
xichengliudui
641f883b82 fix shellcheck in test/integration/... and test/kubemark/... 2019-02-18 01:16:39 -05:00
Kubernetes Prow Robot
b50c643be0
Merge pull request #73540 from rlenferink/patch-5
Updated OWNERS files to include link to docs
2019-02-08 09:05:56 -08:00
Davanum Srinivas
b975573385
move pkg/kubelet/apis/well_known_labels.go to staging/src/k8s.io/api/core/v1/
Co-Authored-By: Weibin Lin <linweibin1@huawei.com>

Change-Id: I163b2f2833e6b8767f72e2c815dcacd0f4e504ea
2019-02-05 13:39:07 -05:00
Roy Lenferink
b43c04452f Updated OWNERS files to include link to docs 2019-02-04 22:33:12 +01:00
AdamDang
f870382587
Fix some error in returned message
Fix some error in returned message:
a interval -> an interval
to small -> too small
2019-01-29 12:09:37 +08:00
Krzysztof Siedlecki
04c4bef206 adding 5000 nodes test to scheduler benchmark 2018-12-10 13:54:53 +01:00
Davanum Srinivas
954996e231
Move from glog to klog
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
  * github.com/kubernetes/repo-infra
  * k8s.io/gengo/
  * k8s.io/kube-openapi/
  * github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods

Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135
2018-11-10 07:50:31 -05:00
Wei Huang
5259d09c38
add more scheduler benchmark testcases
- add benchmark test for PodAffinity
- add benchmark test for NodeAffinity
- add 1000-nodes test for PodAntiAffinity/PodAffinity/NodeAffinity
2018-10-24 11:06:32 -07:00
k8s-ci-robot
94306c12f5
Merge pull request #69057 from denkensk/create-a-new-scheduler-constructor
create-a-new-scheduler-constructor
2018-10-11 13:45:02 -07:00
wangqingcan
a74fd15e62 create a new scheduler constructor 2018-10-10 17:10:10 +08:00
Da K. Ma
0064c2c4d4 Aligned sched_perf owner.
Signed-off-by: Da K. Ma <klaus1982.cn@gmail.com>
2018-10-10 16:05:04 +08:00
Kubernetes Submit Queue
75339d33cf
Merge pull request #64936 from wgliang/master.scheduler_perf_test
Automatic merge from submit-queue (batch tested with PRs 64122, 64936, 65288, 65383). 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>.

fix integer divide by zero panic

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

fix integer divide by zero panic when time.Since(start) < 1s

**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 #64935

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-06-22 19:03:16 -07:00
Jeff Grafton
23ceebac22 Run hack/update-bazel.sh 2018-06-22 16:22:57 -07:00
Guoliang Wang
2417f95308 fix integer divide by zero panic 2018-06-09 09:26:19 +08:00
Harry Zhang
923fb8ed39 remove knob of equiv class in perf test 2018-05-18 17:17:03 -07:00
David Eads
94e3d94d67 update tests to be specific about the versions they are testing instead of floating 2018-05-01 13:18:41 -04:00
Mike Danese
f427531179 boring 2018-04-18 09:55:57 -07:00
Satyadeep Musuvathy
68e18a6a36 Refactor common parts of scheduler_perf into reusable utils 2018-02-27 13:30:18 -08:00
Jeff Grafton
ef56a8d6bb Autogenerated: hack/update-bazel.sh 2018-02-16 13:43:01 -08:00