Commit Graph

16227 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
f8f6229d77 Merge pull request #87950 from tanjunchen/fix-no-non-ascii-characters-/test
test/ : fix non-ascii characters
2020-02-10 17:22:15 -08:00
Kubernetes Prow Robot
921ef35e64 Merge pull request #87949 from 928234269/non_ascii_01
Fix non-ascii characters in test/e2e_node and test/network.
2020-02-10 17:22:01 -08:00
Michelle Au
1ee35e788e Use NodeSelector instead of NodeName in hostexec Pod so that the Pod runs through the scheduler
Change-Id: Ia2f7ad39af318bbe707b43dfea706293ecdf5203
2020-02-10 15:36:04 -08:00
Jonathan Basseri
09121d9686 Add missing tag to vSphere storage E2E tests
This adds the [Feature:vsphere] tag to those vSphere tests which were
missing it. This makes it easier to specifically target the vSphere
storage E2E test suite.
2020-02-10 14:48:55 -08:00
Francesco Romani
70cce5e3f1 e2e: topomgr: introduce sriov setup/teardown funcs
Reorganize the code with setup and teardown functions,
to make room for the future addition of more device plugin
support, and to make the code a bit tidier.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-10 22:47:54 +01:00
Francesco Romani
2f0a6d2c76 e2e: topomgr: use constants for test limits
Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-10 22:47:54 +01:00
Francesco Romani
fee1dba054 e2r: topomgr: improve the test logs
Add clarification to which test is doing what, to make
the test output easier to understand.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-10 22:47:54 +01:00
Francesco Romani
83c344647f e2e: topomgr: better check for AffinityError
Add a helper function to check if a Pod failed
admission for Topology Affinity Error.
So far we only check the Status.Reason.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-10 22:47:54 +01:00
Francesco Romani
512a4e8a3e e2e: topomgr: reduce node readiness timeout
Five minutes was initially used only to be overcautious.
From my experiments, the node is ready in usually less than a minute.
Double it to give some buffer space.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-10 22:47:54 +01:00
Francesco Romani
3b4122bd03 e2e: topomgr: get and use topology hints from conf
TO properly implement some e2e tests, we need to know
some basic topology facts about the system running the tests.
The bare minimum we need to know is how many PCI SRIOV devices
are attached to which NUMA node.

This way we know which core we can reserve for kube services,
and which NUMA socket we can take to test full socket reservation.

To let the tests know the PCI device topology, we use annotations
in the SRIOV device plugin ConfigMap we need anyway.
The format is

```yaml
  metadata:
    annotations:
      pcidevice_node0: "2"
      pcidevice_node1: "0"
```

with one annotation per NUMA node in the system.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-10 22:47:53 +01:00
Francesco Romani
d9d652e867 e2e: topomgr: initial negative tests
Negative tests is when we request a gu Pod we know the system cannot
fullfill - hence we expect rejection from the topology manager.

Unfortunately, besides the trivial case of excessive cores (request
more socket than a NUMA node provides) we cannot easily test the
devices, because crafting a proper pod will require detailed knowledge
of the hw topology.

Let's consider a hypotetical two-node NUMA system with two PCIe busses,
one per NUMA node, with a SRIOV device on each bus.
A proper negative test would require two SRIOV device, that the system
can provide but not on the same single NUMA node.
Requiring for example three devices (one more than the system provides)
will lead to a different, legitimate admission error.

For these reasons we bootstrap the testing infra for the negative tests,
but we add just the simplest one.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-10 22:47:53 +01:00
Francesco Romani
ee92b4aae0 e2e: topomgr: add more positive tests
this patch builds on the topology manager e2e infrastructure to
add more positive e2e test cases.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-10 22:47:53 +01:00
Francesco Romani
1b5801a086 e2e: topomgr: add option to specify the SRIOV conf
We cannot anticipate all the possible configurations
needed by the SRIOV device plugin: there is too much variety.

Hence, we need to allow the test environment to supply
a host-specific ConfigMap to properly configure the device
plugin and avoid false negatives.

We still provide a the default config map as fallback and reference.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-10 22:47:53 +01:00
Francesco Romani
6687fcc78c e2e: topomgr: autodetect SRIOV resource to use
The SRIOV device plugin can create different resources depending
on both the hardware present on the system and the configuration.
As long as we have at least one SRIOV device, the tests don't actually
care about which specific device is.

Previously, the test hardcoded the most common intel SRIOV device
identifier. This patch lifts the restriction and let the test
autodetect and use what's available.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-10 22:47:53 +01:00
Francesco Romani
fa26fb6817 e2e: topomgr: check pod resource alignment
This patch extends and completes the previously-added
empty topology manager test for single-NUMA node policy
by adding reporting in the test pod and checking
the resource alignment.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-10 22:47:53 +01:00
Francesco Romani
cd7e3d626c e2e: topomgr: add test infra
This patch all the testing infra and utilities needed
to run e2e topology manager tests. This include setup
a guaranteed pod which needs some devices.

The simplest real device available for the purpose
are the SRIOV devices, hence we use them.

This patch pulls the SRIOV device plugin from
the official, yet external, repository.
We do it as close as possible for the nvidia GPU plugin.

This patch also performs minor refactoring for some
test framework utilities, needed to support the new
e2e tests.

Finally, we add an empty e2e topology manager test,
to be completed by the next patch.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-10 22:47:53 +01:00
Francesco Romani
1fdf262137 e2e: topomgr: explicit save the kubelet config
For the sake of readability, save the old Kubelet config
once.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-10 22:47:53 +01:00
marosset
a4d7a67bbd Run Windows kubelet stats e2e tests serially because it needs to start many pods on a single node 2020-02-10 17:56:33 +00:00
tanjunchen
c2c3c478cd test/e2e/framework:move functions to test/e2e/scheduling/ 2020-02-10 12:34:19 +08:00
Morten Torkildsen
95ddc029fa Make DisruptionController eviction tests serial to avoid flakes 2020-02-09 13:41:07 -08:00
Kubernetes Prow Robot
c5d75749c8 Merge pull request #85029 from serathius/remove-prometheus-test-e2e
Remove references to prometheus is test/e2e
2020-02-09 01:27:52 -08:00
Kubernetes Prow Robot
09b13aec37 Merge pull request #87947 from tanjunchen/remove-TODO-and-unused-code
remove TODO and unused code
2020-02-09 00:19:52 -08:00
tanjunchen
e96b037be3 test/ : fix non-ascii characters 2020-02-09 01:40:44 +08:00
Mike Danese
25651408ae generated: run refactor 2020-02-08 12:30:21 -05:00
tanjunchen
364c6f1173 remove TODO and unused code 2020-02-09 00:38:16 +08:00
Kubernetes Prow Robot
334d788f08 Merge pull request #87299 from mikedanese/ctx
context in client-go
2020-02-08 06:43:52 -08:00
Sakura
44bf3475ea Fix non-ascii characters in test/e2e_node and test/network.
Signed-off-by: Sakura <longfei.shang@daocloud.io>
2020-02-08 17:47:19 +08:00
Kubernetes Prow Robot
0f13c5c3d1 Merge pull request #87930 from oomichi/issue/87679-1
Fix non-ascii characters in test/e2e/storage
2020-02-07 18:33:42 -08:00
Kubernetes Prow Robot
d9e574cb00 Merge pull request #87928 from johnbelamaric/show-output-in-test
LogResult if there is an error
2020-02-07 18:33:30 -08:00
Kubernetes Prow Robot
c5cb398826 Merge pull request #87242 from ingvagabund/scheduler-predicates-set-resource-requests
SchedulerPredicates [Serial] validates resource limits of pods that are allowed to run - set resource requests as well
2020-02-07 18:32:42 -08:00
Kubernetes Prow Robot
b61f89dd25 Merge pull request #85321 from MikeSpreitzer/apf-printers
Added server-side printers for API priority and fairness
2020-02-07 18:31:58 -08:00
Mike Danese
2637772298 some manual fixes 2020-02-07 18:17:40 -08:00
Mike Danese
3aa59f7f30 generated: run refactor 2020-02-07 18:16:47 -08:00
Kenichi Omichi
63a15da505 Fix non-ascii characters in test/e2e/storage
These characters are changed unintentionally if other parts of these
files are changed. It is better to fix them to avoid that.
2020-02-07 19:34:48 +00:00
John Belamaric
ba38816d42 LogResult if there is an error 2020-02-07 09:36:02 -08:00
Kubernetes Prow Robot
70807e8d80 Merge pull request #87841 from 928234269/non_ascii_00
Fix non-ascii characters in  test/e2e/node/pods.go
2020-02-07 07:37:45 -08:00
Kubernetes Prow Robot
651b2cfc41 Merge pull request #87910 from johnbelamaric/reduce-pull-flakes
Use longer pod start timeouts for specific tests
2020-02-07 05:58:30 -08:00
Kubernetes Prow Robot
888bfd62c3 Merge pull request #87897 from kubernetes/revert-85861-scheduler-perf-collect-data-items-from-metrics
Revert "Collect some of scheduling metrics and scheduling throughput"
2020-02-07 05:58:06 -08:00
Kubernetes Prow Robot
091b9abae5 Merge pull request #87798 from YuikoTakada/fix_non_ascii_projected_configmap
Fix non-ascii characters in test/e2e/common/projected_configmap.go
2020-02-07 05:57:15 -08:00
Kubernetes Prow Robot
4ea66a35e8 Merge pull request #87201 from aojea/skip_dual
fix e2e dual-stack test flakiness
2020-02-07 05:55:43 -08:00
Kubernetes Prow Robot
9c1e124b15 Merge pull request #87823 from tallclair/test-tokens
Ensure testing credentials are labeled as such
2020-02-06 17:47:29 -08:00
Kubernetes Prow Robot
04498c5955 Merge pull request #87513 from gavinfish/e2e_ingress_manifest
Move IngressFromManifest/IngressToManifest to ingress e2e fw
2020-02-06 17:45:45 -08:00
John Belamaric
bfe696b49c Use longer pod start timeouts for specific tests
The kubelet test here is using a one minute timeout, instead of the
normal framework.PodStartTimeout.

The DNS results validation functions pull several images including
the jessie-dnsutils which is a bit bigger than usual.
2020-02-06 16:41:10 -08:00
Mike Danese
38ecb30c58 Revert "Collect some of scheduling metrics and scheduling throughput" 2020-02-06 10:18:00 -08:00
marosset
e8f12692df adding e2e test to ensure it takes less than 10 seconds to query kubelet stats for windows nodes 2020-02-06 17:59:05 +00:00
Kubernetes Prow Robot
6858c25ee4 Merge pull request #85861 from ingvagabund/scheduler-perf-collect-data-items-from-metrics
Collect some of scheduling metrics and scheduling throughput
2020-02-06 07:05:34 -08:00
Kubernetes Prow Robot
641321c94c Merge pull request #87358 from tanjunchen/use-e2eskipper-final
test/e2e/framework: remove skip.go and use e2eskipper subpackage
2020-02-05 19:47:33 -08:00
Marek Siarkowicz
30989b648d Remove references to prometheus is test/e2e 2020-02-05 15:54:36 +01:00
Kubernetes Prow Robot
e27245490e Merge pull request #87793 from msau42/storageclass-name
Add an option to external storage e2es to use a copy of a pre-installed StorageClass
2020-02-05 01:09:06 -08:00
Kubernetes Prow Robot
8f5e8279f6 Merge pull request #87781 from caesarxuchao/fix-webhook-image-bugs
Only set admission review reponse patch type if the patch is not empty
2020-02-05 01:08:23 -08:00