Commit Graph

330 Commits

Author SHA1 Message Date
Davanum Srinivas
fa44b9ca15
Fix panic in getNpdPodStat
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-02-28 10:50:43 -05:00
Kubernetes Prow Robot
2ec3ef62d6
Merge pull request #122594 from aravindhp/nlq-windows-e2e
e2e: add NodeLogQuery tests for Windows nodes
2024-02-05 21:41:27 -08:00
Patrick Ohly
de014579a1 e2e: enforce usage of WithFlaky instead of [Flaky]
Now that we have it (8a89a1f5a5), let's also make sure that
the new WithFlaky is used everywhere instead if [Flaky]. This way it can be
used for filtering by label.
2024-01-19 12:17:37 +01:00
Aravindh Puthiyaparambil
66ea02684b
e2e: add NodeLogQuery tests for Windows nodes 2024-01-15 16:08:22 -08:00
Kubernetes Prow Robot
2c96352cc4
Merge pull request #122240 from aravindhp/nlq-only-select-linux-nodes
e2e: only select linux nodes for NodeLogQuery tests
2024-01-03 20:33:24 +01:00
Antonio Ojea
86873d3335 NodeProblemDetector tags
Change-Id: I9b9848f468f9333b6169bdf5ffd850d762f639bb
2023-12-22 11:25:07 +00:00
Aravindh Puthiyaparambil
2208cb9493
e2e: only select linux nodes for NodeLogQuery tests
The current NodeLogQuery tests only work against Linux nodes, so
explicitly select them.
2023-12-08 10:11:05 -08:00
Aravindh Puthiyaparambil
6b6be38896
test: Fix NodeLogQuery tests
- Remove redundant tests
- Fix formatting of the query command by using fmt.Sprintf to
  prevent spurious characters from being introduced
- Fix running of the journalctl command on the node by add the
  default options
- Restrict running the tests on a single node
2023-11-03 15:21:49 -07:00
Patrick Ohly
f2cfbf44b1 e2e: use framework labels
This changes the text registration so that tags for which the framework has a
dedicated API (features, feature gates, slow, serial, etc.) those APIs are
used.

Arbitrary, custom tags are still left in place for now.
2023-11-01 15:17:34 +01:00
Kubernetes Prow Robot
dea3f1a119
Merge pull request #112599 from fabi200123/Adding-Windows-Support-for-InPlaceVerticalScaling
Adding Windows support for InPlace Pod Vertical Scaling
2023-10-31 19:15:12 +01:00
Kubernetes Prow Robot
7658fe8dc4
Merge pull request #118456 from testwill/bool-constant
chore: omit comparison to bool constant
2023-10-26 12:59:05 +02:00
Kubernetes Prow Robot
441d4b54ae
Merge pull request #120397 from ty-dc/StaticCheck
cleanup: omit comparison with bool constants
2023-10-24 05:25:52 +02:00
Kubernetes Prow Robot
604e9e0fb3
Merge pull request #121007 from borg-land/npd-host-exec-rewrite
Configure COS to use NPD in daemonset mode and align kubeup NPD manifests with the manifests in the NPD repo
2023-10-23 18:39:40 +02:00
Kubernetes Prow Robot
63ae3084b7
Merge pull request #121176 from bzsuni/cleanup/e2e/expect_not_equal
remove deprecated framework.ExpectNotEqual for node
2023-10-17 02:29:06 +02:00
upodroid
011c65e17e configure npd to run as daemonset on cos 2023-10-16 12:34:47 +01:00
bzsuni
5683660830 remove deprecated framework.ExpectNotEqual for node
Signed-off-by: bzsuni <bingzhe.sun@daocloud.io>
2023-10-16 09:21:26 +08:00
Patrick Ohly
f2d34426f8 e2e: enhance SIGDescribe
framework.SIGDescribe is better because:
- Ginkgo uses the source code location of the test, not of the wrapper,
  when reporting progress.
- Additional annotations can be passed.

To make this a drop-in replacement, framework.SIGDescribe generates a function
that can be used instead of the former SIGDescribe functions.

windows.SIGDescribe contained some additional code to ensure that tests are
skipped when not running with a suitable node OS. This gets moved into a
separate wrapper generator, to allow using framework.SIGDescribe as intended.
To ensure that all callers were modified, the windows.sigDescribe isn't
exported anymore (wasn't necessary in the first place!).
2023-10-10 18:15:49 +02:00
Patrick Ohly
0e8a1f1816 e2e: remove redundant spaces in test names
The spaces are redundant because Ginkgo will add them itself when concatenating
the different test name components. Upcoming change in the framework will
enforce that there are no such redundant spaces.
2023-09-29 08:30:57 +02:00
Kubernetes Prow Robot
7fb7e2625b
Merge pull request #120401 from shijinye/e2eclean-node-notequal
cleanup:e2e:stop using deprecated framework.ExpectNotEqual
2023-09-20 11:26:19 -07:00
Fabian Fulga
868adeb3bd Update IPPVS e2e tests for containerd version above 1.6.9 2023-09-12 01:53:28 +03:00
jinye
a774887262 cleanup:e2e:stop using deprecated framework.ExpectNotEqual 2023-09-05 18:16:57 +08:00
tao.yang
b35357b6c0 cleanup: omit comparison with bool constants
Signed-off-by: tao.yang <tao.yang@daocloud.io>
2023-09-05 10:24:38 +08:00
wen.rui
3d9b5d0577 e2e_node:stop using deprecated framework.ExpectError 2023-09-01 17:42:36 +08:00
Kubernetes Prow Robot
9ee7185be6
Merge pull request #119501 from Songjoy/cleanup-e2e-node-framework-equal
e2e_node: stop using deprecated framework.ExpectEqual
2023-08-16 16:36:30 -07:00
Sascha Grunert
8ab6bee676
Make seccomp status checks in e2e tests more robust
The tests have been introduced in
ca7be7dc6d
and checked for `ecc` in `/proc/self/status` since its creation.

We got a new field `Seccomp_filters:` with the Linux commit
c818c03b66,
means that `ecc` would now match both and interfere with possible test
results depending on the host.

The field `Seccomp:` got introduced in
2f4b3bf6b2
and has never changed since then, means we can use it directly to make
the tests more strict.

Refers to https://github.com/kubernetes-sigs/cri-tools/pull/1236

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2023-08-10 09:51:03 +02:00
宋文杰
63cf568251 e2e_node: stop using deprecated framework.ExpectEqual 2023-07-26 10:20:30 +08:00
Peter Hunt
a248c4de52 test: fix NodeLogQuery tests to query the correct node for logs
Currently, the test queries the local node, which is not correct for most kubernetes environments.
Instead, ssh to the target node and call journalctl there

Signed-off-by: Peter Hunt <pehunt@redhat.com>
2023-07-25 15:41:38 -04:00
Mark Rossetti
b5012ba1e2
Mark existing NodeLogQuery e2e tests as [LinuxOnly] since they do not run on Windows
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2023-07-18 13:24:01 -07:00
Kubernetes Prow Robot
2d9c951abe
Merge pull request #117011 from fabi200123/Add-Node-Log-Query-Tests-
Add e2e tests for feature NodeLogQuery
2023-07-11 20:03:11 -07:00
guoguangwu
0da37d8c54 chore: omit comparison to bool constant 2023-06-29 10:41:50 +08:00
Kubernetes Prow Robot
2190775b69
Merge pull request #118280 from stlaz/e2e_psa_labels
Set all PSa labels in tests
2023-06-28 11:14:43 -07:00
Patrick Ohly
8b33e8bdd1 e2e: fix gomega.Expect calls without assertions
"gomega.Expect" is not the same as "assert" in C: it always has to be combined
with a statement of what is expected.

Found with the new ginkgolinter, for example:

    test/e2e/node/pod_resize.go:242:3: ginkgo-linter: "Expect": missing assertion method. Expected "Should()", "To()", "ShouldNot()", "ToNot()" or "NotTo()" (ginkgolinter)
              gomega.Expect(found == true)
2023-06-27 14:20:20 +02:00
Stanislav Laznicka
7f532891c9
e2e tests: set all PSa labels instead of just enforcing 2023-06-21 15:05:13 +02:00
Fabian Fulga
bbf5c03dd8 Add NodeLogQuery e2e tests
e2e tests for feature-gate NodeLogQuery
2023-05-08 16:09:21 +03:00
Tim Hockin
dd7af241c1
Replace diff.ObjectDiff with cmp.Equal
More obvious and cheaper, and ObjectDiff is already written in terms of
cmp.
2023-04-12 08:45:32 -07:00
vinay kulkarni
9a805db010 Set default resize policy only for specified resource types, rename RestartNotRequired -> NotRequired 2023-03-12 23:46:40 +00:00
vinay kulkarni
8b23497ae7 Restructure naming of resource resize restart policy 2023-03-12 23:11:32 +00:00
vinay kulkarni
01b96e7704 Rename ContainerStatus.ResourcesAllocated to ContainerStatus.AllocatedResources 2023-03-10 14:49:26 +00:00
Kubernetes Prow Robot
83334ccaa1
Merge pull request #116320 from wangchen615/lastminute-scheduler-fix
Address last-minute requested changes for inplace update feature testing in scheduler
2023-03-07 19:31:26 -08:00
Chen Wang
fd6105d015 fix last minute scheduler changes for inplace update 2023-03-06 18:47:02 -05:00
Paco Xu
7d8437933e retry on conflict for negative TerminationGracePeriodSeconds update 2023-03-01 12:55:58 +08:00
Chen Wang
7db339dba2 This commit contains the following:
1. Scheduler bug-fix + scheduler-focussed E2E tests
2. Add cgroup v2 support for in-place pod resize
3. Enable full E2E pod resize test for containerd>=1.6.9 and EventedPLEG related changes.

Co-Authored-By: Vinay Kulkarni <vskibum@gmail.com>
2023-02-24 18:21:21 +00:00
Vinay Kulkarni
f2bd94a0de In-place Pod Vertical Scaling - core implementation
1. Core Kubelet changes to implement In-place Pod Vertical Scaling.
2. E2E tests for In-place Pod Vertical Scaling.
3. Refactor kubelet code and add missing tests (Derek's kubelet review)
4. Add a new hash over container fields without Resources field to allow feature gate toggling without restarting containers not using the feature.
5. Fix corner-case where resize A->B->A gets ignored
6. Add cgroup v2 support to pod resize E2E test.
KEP: /enhancements/keps/sig-node/1287-in-place-update-pod-resources

Co-authored-by: Chen Wang <Chen.Wang1@ibm.com>
2023-02-24 18:21:21 +00:00
Kubernetes Prow Robot
aa98f6f4da
Merge pull request #115606 from wzshiming/fix/termination_grace_period_seconds
`pod.spec.terminationGracePeriodSeconds` is a negative then convert to 1
2023-02-23 07:35:35 -08:00
Shiming Zhang
b70d1377bb Add test for Pod TerminationGracePeriodSeconds is negative 2023-02-22 13:36:16 +08:00
Michal Wozniak
fd28f69ca4 Add e2e_node test for oom killed container reason 2023-02-20 08:15:45 +01:00
Kubernetes Prow Robot
b2f8c8f00d
Merge pull request #115635 from bobbypage/npd-time-fix
test: Simplify NPD start timestamp calculation
2023-02-09 18:37:31 -08:00
David Porter
7fe371a974 test: Simplify NPD start timestamp calculation
The NPD test checks when NPD started to determine if it is needed to
check the kubelet start event. The current logic requires parsing the
journalctl logs which is quite fragile and is broken now because of
systemd changing the expected log format.

Newer versions of systemd do not print "end at" or "logs begin at" and
instead may print "No entries", which will result in the test panicking.

```
$ journalctl -u foo.service
-- No entries --
```

For units started, it will not print "end at" or "logs begin at":

```
root@ubuntu-jammy:~# journalctl -u foo.service
Feb 08 22:02:19 ubuntu-jammy systemd[1]: Started /usr/bin/sleep 1s.
Feb 08 22:02:20 ubuntu-jammy systemd[1]: foo.service: Deactivated successfully.
```

To avoid relying on log parsing which is fragile, let's instead directly
ask systemd when the NPD service started and parse the resulting
timestamp.

Signed-off-by: David Porter <david@porter.me>
2023-02-08 13:58:45 -08:00
Maciej Szulik
8b48ff3584
Don't explicitly set image version in tests
Image versions are already explicitly set in our manifests
configuration, so tests should not be setting these values
to ensure we're using the same versions across the board.
2023-02-02 19:06:00 +01:00
David Porter
b96290c08f e2e node: Update runtime class handler skip logic
There are two runtime class tests which required the container runtime
config to include explicit configuration for `test-handler`. The current
logic skips these tests in non GCE environments. This skip is too strict
since the test is skipped in node e2e environments and in other
environments such as kind, which support running the test and also
configure `test-handler`.

Instead of skipping based on provider, add a new function
`NodeSupportsPreconfiguredRuntimeClassHandler` which examines the
underlying container runtime config and checks if the config includes
`test-handler`. The check is a bit brittle since it assumes container
runtime config paths, but it is a net improvement over skipping the test
entirely on non GCE environments.

This results in the test working in the common test environments, namely
GCE kube-up, node e2e, and kind.

Signed-off-by: David Porter <david@porter.me>
2023-01-24 14:43:24 -08:00