Commit Graph

16259 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
6b6336e5c0 Merge pull request #88227 from tanjunchen/remove-todo-and-move-code
remove unused and repeat code and remove TODO
2020-02-25 00:52:48 -08:00
Kubernetes Prow Robot
74c0fca37e Merge pull request #88314 from bertinatto/remove-node-labels-csimock
Avoid adding labels to nodes in CSI mock driver
2020-02-24 19:07:15 -08:00
John Schnake
2683b1065c Update the conformance list and doc generation logic
The existing walk.go and conformance.txt have a few shortcomings
which we'd like to resolve:
 - difficult to get the full test name due to test context nesting
 - complicated AST logic and understanding necessary due to the
different ways a test can be invoked and written

This changes the AST parsing logic to be much more simple and simply
looks for the comments at/around a specific line. This file/line
information (and the full test name) is gathered by a custom ginkgo
reporter which dumps the SpecSummary data to a file.

Also, the SpecSummary dump can, itself, be potentially useful for
other post-processing and debugging tasks.

Signed-off-by: John Schnake <jschnake@vmware.com>
2020-02-24 14:00:44 -08:00
Kubernetes Prow Robot
607ed67754 Merge pull request #88415 from ingvagabund/readme-for-metrics-based-scheduler-perf-tests
scheduler_perf: describe how to run BenchmarkPerfScheduling manually
2020-02-24 13:11:47 -08:00
Kubernetes Prow Robot
624da8b9a3 Merge pull request #88110 from fromanirh/refactor-get-current-kubelet-conf
e2e: e2e_node: refactor getCurrentKubeletConfig
2020-02-24 13:11:36 -08:00
Patrick Lang
886214f48c Fix recent context change after rebase 2020-02-24 19:53:25 +00:00
Patrick Lang
63ff616aa8 Adding Windows CPU limit tests 2020-02-24 19:46:39 +00:00
Jan Chaloupka
0f3e0b40f6 scheduler_perf: describe how to run BenchmarkPerfScheduling manually 2020-02-24 19:12:00 +01:00
Antonio Ojea
64c4876ccd Add e2e session affinity timeout test
The service session affinity allows to set the maximum session
sticky timeout.
This commit adds e2e tests to check that the session is sticky
before the timeout and is not after.
2020-02-24 09:48:18 +01:00
Antonio Ojea
e268f033b6 Revert "Mark session affinity tests as [Flaky]"
This reverts commit f00ac0694b.
2020-02-24 09:48:18 +01:00
Antonio Ojea
457c05feb8 deflake e2e session affinity tests
Executing commands in pods is expensive in terms of time and the
execution time is unpredictable and random.
The session affinity tests send several http requests from a pod
to check that the session is sticky. Instead of executing one
http request at a time, we can execute several requests from the
pod at one time and process the output.
2020-02-24 09:48:18 +01:00
Kubernetes Prow Robot
9a8e869590 Merge pull request #88417 from aramase/conformance-nodeport
check ip family for node port connectivity test
2020-02-21 22:30:56 -08:00
Kubernetes Prow Robot
8ac7a5bdc1 Merge pull request #88374 from tanjunchen/remove-TODO-simplify-code
test/e2e/framework/node/:remove TODO and and make some functions private
2020-02-21 18:32:13 -08:00
Kubernetes Prow Robot
26f8535838 Merge pull request #88354 from jiahuif/nodee2e-stack-protector-flags
node-e2e testing: fix alias for stack protector kernel config.
2020-02-21 18:31:51 -08:00
Kubernetes Prow Robot
23045f9247 Merge pull request #88057 from julianvmodesto/remove-deprecated-rolling-update
Remove deprecated rolling-update command
2020-02-21 18:31:30 -08:00
Kubernetes Prow Robot
c69c91987b Merge pull request #87811 from mborsz/pv
Remove unnecessary calls to GCE API after PD is created
2020-02-21 18:31:01 -08:00
Kubernetes Prow Robot
2e0760c659 Merge pull request #87611 from claudiubelu/test-images/updates-readme
test images: Adds Image Promoter details in the README
2020-02-21 18:30:48 -08:00
Kubernetes Prow Robot
3631887a28 Merge pull request #87215 from egernst/e2e-scheduler
E2e scheduler: introduce e2e test for PodOverhead
2020-02-21 15:44:47 -08:00
Anish Ramasekar
c811fc58ef check ip family for node port connectivity test 2020-02-21 14:43:06 -08:00
Jiahui Feng
68b7564e7e fix alias for stack protector kernel config.
- fix YAML syntax
- alias -> aliases
- no need for CONFIG prefix
- add renamed config since 4.18
2020-02-21 11:04:48 -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
Fabio Bertinatto
cd5cf567d8 Avoid adding labels to nodes in CSI mock driver
It's unnecessary to add labels to nodes because we're already
using NodeSelection to schedule pods on specific nodes.
2020-02-21 14:33:56 +01:00
Claudiu Belu
bb0a5ab016 tests: Fixes Hybrid cluster network test
Previously, we've centralized several images into agnhost, including
test-webserver.

The Hybrid cluster network test was using the test-webserver image, and
was updated to use agnhost, but without properly making it so it behaves like
test-webserver, resulting in a failing test.
2020-02-21 04:37:45 -08:00
tanjunchen
7c3f6fa323 test/e2e/framework/node/:remove TODO and make some functions private 2020-02-21 18:45:09 +08:00
Kubernetes Prow Robot
d675e55915 Merge pull request #88299 from kolyshkin/e2e-framework-log
e2e/test/framework: optimize PrunedStack()
2020-02-20 21:20:46 -08:00
Kubernetes Prow Robot
468af72a15 Merge pull request #88301 from abhiraut/e2e-except
Add e2e test to test Except clause in NetworkPolicy
2020-02-20 16:30:41 -08:00
Kubernetes Prow Robot
1591590030 Merge pull request #88292 from julianvmodesto/add-dry-run
Add --dry-run=server|client|none to more kubectl commands
2020-02-20 16:30:25 -08:00
Kubernetes Prow Robot
57764e34d4 Merge pull request #87921 from Deepthidharwar/cpu-mgr-e2etest-NUMA-nodes
e2e test CPU-Manager: Extend CPUManager e2e tests to run on MultiNUMA node with/without HT
2020-02-20 16:29:57 -08:00
Eric Ernst
e5760015d2 e2e-framework-node: add runtimeclass to dedup code
Similar functionality is required across e2e tests for RuntimeClass.
Let's create runtimeclass as part of the framework/node package.

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2020-02-20 15:58:52 -08:00
Kir Kolyshkin
78e98da1db test/e2e/framework/log: optimize PrunedStack()
Use bytes instead of strings, and slice in-place filter
(see https://github.com/golang/go/wiki/SliceTricks#filter-in-place)
to avoid copying strings around.

In my benchmark it shows almost 2x improvement:

BenchmarkString-8    	 1477207	     10198 ns/op
BenchmarkBuffer-8    	 1561291	      7622 ns/op
BenchmarkInPlace-8   	 2295714	      5202 ns/op

String is the original implementation, Buffer is an intermediary
one that uses strings.Builder, and InPlace is the one from this commit.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2020-02-20 12:58:26 -08:00
Abhishek Raut
a980a1fa24 Add e2e test to test Except clause in NetworkPolicy
Add a new e2e test to test the Except clauses in IPBlock CIDR
based NetworkPolicies. This test adds an egress rule which
allows client to connect to a CIDR which includes the
ServerPod's IP, however carves an except subnet which excludes
this ServerPod.
2020-02-20 11:32:00 -08:00
Kubernetes Prow Robot
3ae1b0ce80 Merge pull request #88234 from fromanirh/topomgr-e2e-tests-multicnt
e2e topology manager: single-numa-node multi container tests
2020-02-20 10:35:56 -08:00
Francesco Romani
64904d0ab8 e2e: topomgr: extend tests to all the policies
Per https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/0035-20190130-topology-manager.md#multi-numa-systems-tests
we validate only the results for single-numa node policy,
because the is no a simple and reliable way to validate
the allocation performed by the other policies.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-20 18:22:34 +01:00
Kubernetes Prow Robot
51e8cafd70 Merge pull request #88353 from roycaihw/deflake/run-crd-test
run_crd_tests: wait for pruned CR to be invisible from API
2020-02-20 03:07:14 -08:00
Francesco Romani
a249b93687 e2e: topomgr: address reviewer comments
Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-20 10:31:09 +01:00
Kubernetes Prow Robot
937008e3ac Merge pull request #81226 from claudiubelu/tests/reduce-to-agnhost-part-4
tests: Replaces images used with agnhost (part 4)
2020-02-20 01:13:03 -08:00
Haowei Cai
aecce98a54 wait for pruned CR to be invisible from API 2020-02-19 17:41:13 -08:00
Kubernetes Prow Robot
96dfa3f605 Merge pull request #88341 from tnqn/flaky-networkpolicy-e2e
NetworkPolicy e2e test should wait for Pod ready
2020-02-19 16:12:11 -08:00
Kubernetes Prow Robot
992aa00a46 Merge pull request #85819 from nan-yu/pdb_e2etest
Add more tests for the pod disruption budget endpoints
2020-02-19 16:11:04 -08:00
Julian V. Modesto
a9ec444d74 Add --dry-run to more kubectl commands.
- delete
- taint
- replace
2020-02-19 17:53:21 -05:00
Kubernetes Prow Robot
d4c5637680 Merge pull request #88200 from liu-cong/benchmark
Make MetricCollector configurable for scheduler benchmark tests
2020-02-19 09:38:26 -08:00
Quan Tian
92759ea642 NetworkPolicy e2e test should wait for Pod ready
The test "should enforce egress policy allowing traffic to a server in a
different namespace based on PodSelector and NamespaceSelector
[Feature:NetworkPolicy]" is flaky because it doesn't wait for the server
Pod to be ready before testing traffic via its service, then even the
NetworkPolicy allows it, the SYN packets will be rejected by iptables
because the service has no endpoints at that moment.

This PR fixes it by making it wait for Pods to be ready like other
tests.
2020-02-20 00:32:12 +08:00
Francesco Romani
833519f80b e2e: topomgr: properly clean up after completion
Due to an oversight, the e2e topology manager tests
were leaking a configmap and a serviceaccount.
This patch ensures a proper cleanup

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-19 17:15:42 +01:00
Francesco Romani
7c12251c7a e2e: topomgr: add multi-container tests
Add tests to check alignment of pods which contains more than one
container.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-19 17:15:42 +01:00
Francesco Romani
8e9d76f1b9 e2e: topomgr: validate all containers in pod
Up until now, the test validated the alignment of resources
only in the first container in a pod. That was just an overlook.
With this patch, we validate all the containers in a given pod.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-19 17:15:42 +01:00
Francesco Romani
ddc18eae67 e2e: topomgr: autodetect NUMA position of VF devs
Add autodetection code to figure out on which NUMA node are
the devices attached to.
This autodetection work under the assumption all the VFs in
the system must be used for the tests.
Should not this be the case, or in general to handle non-trivial
configurations, we keep the annotations mechanism added to the
SRIOV device plugin config map.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-19 17:15:42 +01:00
Francesco Romani
0c2827cb50 e2e: topomgr: remove single-numa node hack
On single-NUMA node systems the numa_node of sriov devices was
sometimes reported as "-1" instead of, say, 0. This makes some
tests that should succeed[0] fail unexpectedly.

The reporting works as expected on real multi-NUMA node systems.

This small workaround was added to handle this corner case,
but it makes overall the code less readable and a bit too lenient,
hence we remove it.

+++

[0] on a single NUMA node system some resources are obviously
always aligned if the pod can be admitted. It boils down to the
node capacity at pod admittal time.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-19 17:15:41 +01:00
Francesco Romani
bb6beb99e5 e2e: topomgr: early check to detect VFs, not PFs
The e2e_node topology_manager check have a early, quick check
to rule out systems without sriov device, thus skipping the tests.

The first version of the ckeck detected PFs, (Physical Functions),
under the assumption that VFs (Virtual Functions) were already been
created. This works because, obviously, you can't have VFs without PFs.

However, it's a little safer and easier to understand if we check
firectly for VFs, bailing out from systems which don't provide them.

Nothing changes for properly configured test systems.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-19 17:15:41 +01:00
Kubernetes Prow Robot
507a2decf9 Merge pull request #88228 from pohly/node-podlog
podlogs: include node name in prefix
2020-02-19 03:28:25 -08:00
Patrick Ohly
0ec85320cf podlogs: include node name in prefix
This is useful for logs from daemonset pods because for those it is
often relevant which node they ran on because they interact with
resources or other pods on the host.

To keep the log prefix short, it gets limited to a maximum length of
10 characters.
2020-02-19 10:10:23 +01:00