Commit Graph

259 Commits

Author SHA1 Message Date
Danielle Lancashire
d6c184084c sig-node: endocrimes as e2e_node approver 2022-04-20 17:12:09 +00:00
Sergiusz Urbaniak
1495c9f2cd test/e2e/*: default existing tests to privileged pod security policy
This is to ensure that all existing tests don't break when defaulting
the pod security policy to restricted in the e2e test framework.
2022-04-05 08:41:12 +02:00
Paco Xu
fc186d5616 use privileged enforce level for nfs test 2022-04-01 15:22:34 +08:00
Sergiusz Urbaniak
373c08e0c7 test/e2e/framework: configure pod security admission level for e2e tests 2022-03-28 15:42:10 +02:00
Clayton Coleman
ca98714ec0 test: Add E2E for init container pod deletion
Exploring termination revealed we have race conditions in certain
parts of pod initialization and termination. To better catch these
issues refactor the existing test so it can be reused, and then test
a number of alternate scenarios.
2022-03-16 13:15:03 -04:00
Kubernetes Prow Robot
7cc4fcd802 Merge pull request #108253 from pohly/kubelet-root
test: support storage tests with non-standard kubelet root directory
2022-03-15 00:30:10 -07:00
Kevin Klues
b815122f17 Add klueska to test/e2e/node/OWNERS file
Signed-off-by: Kevin Klues <kklues@nvidia.com>
2022-03-14 17:02:25 +01:00
Patrick Ohly
ff5558edc3 test: support storage tests with non-standard kubelet root directory
Some storage tests deploy DaemonSets which hard-code /var/lib/kubelet as root
directory for kubelet registration and pod directory. There was already a
parameter which allowed specifying the root directory, just with a very
confusing name ("--volume-dir") and matching field name. A --kubelet-root-dir
parameters gets added because this may make it easier to find the parameter,
with the old name preserved as an alias for the same field for backwards
compatibility.
2022-03-03 12:34:18 +01:00
Kubernetes Prow Robot
2c91952fcf Merge pull request #106486 from Ahmed-Aghadi/codeEnhanceNode
test/e2e/node + test/e2e/scheduling: improve checks
2022-02-28 11:17:46 -08:00
AHMED AGHADI
ff0a3009db Improve checks for test/e2e/node and test/e2e/scheduling 2022-02-28 23:44:21 +05:30
Ciprian Hacman
a0abe5aa33 Clean up dockershim in tests
Signed-off-by: Ciprian Hacman <ciprian@hakman.dev>
2021-12-22 13:05:34 +02:00
Davanum Srinivas
9405e9b55e Check in OWNERS modified by update-yamlfmt.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-12-09 21:31:26 -05:00
Kubernetes Prow Robot
3b9bd229b2 Merge pull request #106493 from endocrimes/dani/endocrimes-test-reviewer
node e2e: endocrimes as reviewer
2021-11-17 22:41:01 -08:00
Kubernetes Prow Robot
fbffe056dd Merge pull request #106511 from spiffxp/demote-events-test
demote kubelet events test from Conformance
2021-11-17 19:57:20 -08:00
Aaron Crickenberger
357ad91d78 demote kubelet events test from Conformance
This test has been part of the Conformance suite since at least
Kubernetes 1.2 (2015-10-xx). Some years later, around 2018-10-xx, we
drafted a rigorous set of rules for tests to follow in order to be
eligible for promotion to Conformance. We explicitly disallowed any
tests that check for specific Events, since they are not an API, and we
make no guarantees about their contents nor their delivery.

Unfortunately, we neglected to go through the existing corpus of
Conformance tests with a fine-toothed comb after drafting these rules.
The very nature of what this test is attempting to exercise and verify
is specific Events, and their delivery, thus making it ineligible for
Conformance. We should have caught and demoted this test back then.

Better late than never?
2021-11-17 15:36:30 -08:00
Antonio Ojea
d32b437b06 bump e2e period to wait for events 2021-11-17 23:46:52 +01:00
Danielle Lancashire
1f04f4ecbd test/e2e/node: Add endocrimes as reviewer 2021-11-17 15:43:41 +01:00
Nikhil Sharma
0316542704 Changed code to improve output for files under test/e2e/node 2021-11-04 20:09:59 +05:30
Tim Hockin
11a25bfeb6 De-share the Handler struct in core API (#105979)
* De-share the Handler struct in core API

An upcoming PR adds a handler that only applies on one of these paths.
Having fields that don't work seems bad.

This never should have been shared.  Lifecycle hooks are like a "write"
while probes are more like a "read". HTTPGet and TCPSocket don't really
make sense as lifecycle hooks (but I can't take that back). When we add
gRPC, it is EXPLICITLY a health check (defined by gRPC) not an arbitrary
RPC - so a probe makes sense but a hook does not.

In the future I can also see adding lifecycle hooks that don't make
sense as probes.  E.g. 'sleep' is a common lifecycle request. The only
option is `exec`, which requires having a sleep binary in your image.

* Run update scripts
2021-10-29 13:15:11 -07:00
David Porter
d28db6ee0c Support cgroupv2 in node problem detector test 2021-10-18 19:50:45 -07:00
Elana Hashman
f9a827b895 Fix bugs in e2e pod test
- Update test to account for late synced statuses
- Terminated containers are not running
- Add missing format values to test logline
2021-10-05 11:51:12 -07:00
David Porter
4b056a615a Skip runtimeclass test unless provider GCE
This test case requires special test-handler setup which is only done
for gce clusters created by kube-up scripts. Let's skip the test when
run under other providers.
2021-09-14 13:23:09 -07:00
Kubernetes Prow Robot
6b7c0cb386 Merge pull request #104048 from lizhuqi/fix-npd-test
Remove AUFSUmountHung from NPD test
2021-08-10 17:40:46 -07:00
Kubernetes Prow Robot
3670029b3d Merge pull request #103640 from saschagrunert/crictl-host-local-test
Make crictl tests host local
2021-08-06 07:33:19 -07:00
Sergey Kanzhelev
023f6a90db Add SergeyKanzhelev to node e2e test approvers 2021-08-05 21:32:55 +00:00
Elana Hashman
ac076838c8 Add ehashman to node e2e test approvers
List of files raised by matthyx in SIG Node during the 2021-08-03
meeting.
2021-08-03 10:48:06 -07:00
Julie Qi
c35502ad4b Remove AUFSUmountHung from NPD test 2021-08-02 11:37:30 -07:00
Sascha Grunert
8ad83fd685 Make crictl tests host local
We now use a host local exec instead of SSH commands to simplify the
test and make the result more robust.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2021-07-21 16:46:37 +02:00
Sascha Grunert
c1bac40880 Fix SIG Node SSH e2e test
This assumes that SSH via bastion works if the `KUBE_SSH_BASTION`
environment variable is set, which is the case for
`pull-kubernetes-e2e-gce-correctness`.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2021-07-21 15:57:14 +02:00
Davanum Srinivas
07332ad398 fix ineffassign and varcheck
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-07-14 08:41:22 -04:00
Kubernetes Prow Robot
15ef9d42e3 Merge pull request #101866 from saschagrunert/ssh-hosts
e2e: test SSH port on NodeSSHHosts
2021-07-09 07:37:05 -07:00
Clayton Coleman
3eadd1a9ea Keep pod worker running until pod is truly complete
A number of race conditions exist when pods are terminated early in
their lifecycle because components in the kubelet need to know "no
running containers" or "containers can't be started from now on" but
were relying on outdated state.

Only the pod worker knows whether containers are being started for
a given pod, which is required to know when a pod is "terminated"
(no running containers, none coming). Move that responsibility and
podKiller function into the pod workers, and have everything that
was killing the pod go into the UpdatePod loop. Split syncPod into
three phases - setup, terminate containers, and cleanup pod - and
have transitions between those methods be visible to other
components. After this change, to kill a pod you tell the pod worker
to UpdatePod({UpdateType: SyncPodKill, Pod: pod}).

Several places in the kubelet were incorrect about whether they
were handling terminating (should stop running, might have
containers) or terminated (no running containers) pods. The pod worker
exposes methods that allow other loops to know when to set up or tear
down resources based on the state of the pod - these methods remove
the possibility of race conditions by ensuring a single component is
responsible for knowing each pod's allowed state and other components
simply delegate to checking whether they are in the window by UID.

Removing containers now no longer blocks final pod deletion in the
API server and are handled as background cleanup. Node shutdown
no longer marks pods as failed as they can be restarted in the
next step.

See https://docs.google.com/document/d/1Pic5TPntdJnYfIpBeZndDelM-AbS4FN9H2GTLFhoJ04/edit# for details
2021-07-06 15:55:22 -04:00
Clayton Coleman
2d361d4306 e2e: Flag questionable durations in container status on termination
The e2e that create/deletes pods rapidly and verifies their status
was reporting a very long timing:

timings total=12.211347385s t=491ms run=2s execute=450402h8m25s

in a few scenarios. Add error checks that clarify when this happens
and why. Report p50/75/90/99 latencies on teardown as observed from
the test for baseline for future changes.
2021-05-24 11:48:42 -04:00
Kubernetes Prow Robot
1bd66f0301 Merge pull request #100859 from lack/relax_mount_propagation_e2e_test
Position e2e Mount Propagation test to be kubelet-specific
2021-05-18 09:44:49 -07:00
Sascha Grunert
9e372bffef e2e: test SSH port on NodeSSHHosts
Before assuming that a certain host runs an SSH server, we now test its
`SSHPort` for connectivity. This means that the test `should be able to
run crictl on the node` can be now more failure proof by checking only
hosts where SSH actually runs. Beside that, we can also test all hosts
and not only the first one.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2021-05-11 08:32:09 +02:00
wangyx1992
fda7421f24 cleanup: replace x.Sub(time.Now()) with time.Until(x) in e2e test
Signed-off-by: wangyx1992 <wang.yixiang@zte.com.cn>
2021-04-23 11:27:12 +08:00
Jim Ramsay
050001d1d3 Position e2e Mount Propagation test to be kubelet-specific
This replaces the check of mount propagation to/from the host OS mount
namespace to a similar check about the mount namespace where kubelet is
running (which may or may not be the same mount namespace as the host
OS).

This addresses issue #100259
2021-04-13 12:03:08 -04:00
Kubernetes Prow Robot
b85313b6dd Merge pull request #99853 from wojtek-t/cleanup_describe_17
Cleanup the remaining multi-owned sig-node tests
2021-03-08 19:23:44 -08:00
Jordan Liggitt
8bbb6704c1 Update flaky volume toleration regex to include projected volumes 2021-03-06 11:39:36 -05:00
wojtekt
ae8baefeff Cleanup the remaining multi-owned sig-node tests 2021-03-05 20:27:31 +01:00
wojtekt
f277e4d32a Remove nested SIGDescribe calls 2021-03-03 15:25:07 +01:00
Navid Shaikh
e61f790eac test/e2e: Move tests into test/e2e/node package
- assign sig-node ownership
 - Fix import aliases in test/e2e/node/examples.go
 - Fix merge conflicts in test/e2e/BUILD

Signed-off-by: Navid Shaikh <shaikhnavid14@gmail.com>
2021-03-02 10:05:53 +05:30
Benjamin Elder
56e092e382 hack/update-bazel.sh 2021-02-28 15:17:29 -08:00
Kubernetes Prow Robot
f2d5ee2d2d Merge pull request #99508 from wojtek-t/cleanup_describe_10
Move node_recreate test to cloud/gcp directory
2021-02-26 18:06:38 -08:00
wojtekt
4b98a9f1e6 Move node_recreate test to cloud/gcp directory 2021-02-26 21:47:27 +01:00
wojtekt
cad9957f95 Remove KubeDescribe from SIGDescribe calls 2021-02-26 08:49:25 +01:00
wojtekt
8df355b80a Replace some nested KubeDescribe calls with ginkgo.Describe 2021-02-25 14:44:39 +01:00
Kubernetes Prow Robot
8f15f7cf5e Merge pull request #99400 from wojtek-t/ttl_after_finished_test
Move TTLAfterFinished test to appropriate SIG
2021-02-24 08:53:02 -08:00
wojtekt
9bcb480574 Move TTLAfterFinished test to appropriate SIG 2021-02-24 16:09:20 +01:00
Mayank Kumar
2dfc7c3943 Promote RunAsGroup e2e test to Conformance 2021-02-18 21:21:29 -08:00