Itamar Holder
25d9d8d9ba
refactor: use getLocalNode() to avoid code duplication
...
Signed-off-by: Itamar Holder <iholder@redhat.com >
2025-07-08 15:48:35 +03:00
Itamar Holder
bc9e8e1a91
add a context argument to prePodCreationModificationFunc()
...
Signed-off-by: Itamar Holder <iholder@redhat.com >
2025-07-08 15:45:42 +03:00
Itamar Holder
90bbce56b9
PriorityMemoryEvictionOrdering: allocate more memory when swap is provisioned
...
Whenever swap is provisioned on the node,
the kernel might be able to reclaim much more memory,
hence it is harder to get the node to be memory pressured.
This will add another container that allocates
the same amount as the swap capacity to help
bring the node to memory pressure.
Signed-off-by: Itamar Holder <iholder@redhat.com >
2025-07-03 21:14:44 +03:00
Itamar Holder
25498cd34d
Eviction tests: small refactor
...
This small refactor:
- Adds swap log statistics.
- Adds a pre pods modification function.
The later can be used in order to perform
changes to pods before creation.
Signed-off-by: Itamar Holder <iholder@redhat.com >
2025-07-03 21:14:43 +03:00
Kevin Hannon
a237f429fc
Revert "Separate SeparateDiskTests from eviction"
2025-03-21 12:29:30 -04:00
Kevin Hannon
aa187d2d5a
add separate container runtime filesystem tests
2025-03-17 12:07:10 -04:00
Ed Bartosh
4c0b24b06d
e2e_node: eviction: fix ImageGCNoEviction test
...
ImageGCNoEviction fails when tests run by kubetest2 as the test depends
on the prepulled test images (framework.TestContext.PrepullImages), but
kubetest2 --prepull-images command line option is set to false by
default.
Prepulling images explicitly for the only test that uses them
should fix the issue.
2025-02-24 18:27:38 +02:00
Ed Bartosh
cf70b06e37
e2e_node: improve logging for eviction test
2025-02-24 10:39:04 +02:00
Ayato Tokubi
dbb34a04cc
Reduce the number of processes used in e2e to prevent unexpected OOM
...
Signed-off-by: Ayato Tokubi <atokubi@redhat.com >
2025-02-12 17:39:56 +00:00
Kevin Hannon
bae4122f56
deprecate nodefeature for feature labels
2025-01-20 17:02:59 -05:00
Kevin Hannon
8495df64b2
deprecate nodefeature for feature labels
2024-12-17 13:58:12 -05:00
carlory
060c653b53
scheduling e2e tests: add feature-gate label when these tests depend feature-gate
2024-12-06 17:22:43 +08:00
Kubernetes Prow Robot
453efd7a4b
Merge pull request #121604 from pacoxu/image-pull-e2e
...
[node-e2e] add test cases for serialize and parallel image pulling
2024-10-31 08:01:26 +00:00
Paco Xu
2bbc09b49d
add e2e test for image pull serialize and parallel
...
- wait for pod pulled: running/failed(no restart)
2024-10-22 09:21:00 +08:00
Kevin Hannon
1d752200af
promote size backed memory volumes to stable
2024-10-16 17:15:02 -04:00
Anish Shah
91b70a9f19
fix InodeEvictionTest
2024-10-04 22:49:14 +00:00
Anish Shah
a37101a202
gofmt fix
2024-10-04 19:47:21 +00:00
Anish Shah
9af732a349
added a comment to explain the usage of emptyDir volume in eviction test #127864
2024-10-04 18:38:40 +00:00
Anish Shah
7abfa2dafb
possible deflake
2024-10-03 16:00:48 +00:00
HirazawaUi
9d4e272c16
add e2e test for pod grace period being overridden
2024-09-20 22:25:03 +08:00
Paco Xu
3a21a033bd
add new e2e test with PodAndContainerStatsFromCRI enabled for pid pressure e2e
2024-09-05 09:10:27 +08:00
Kevin Hannon
7d8ba7849b
priority pid tests should match on processes
...
pids 0
process should not be nonzero
2024-07-22 10:54:42 -04:00
Michal Wozniak
780191bea6
review remarks for graduating PodDisruptionConditions
2024-06-28 17:32:27 +02:00
Michal Wozniak
bf0c9885a4
Graduate PodDisruptionConditions to stable
2024-06-28 16:36:51 +02:00
Kevin Hannon
19ae61bab0
innocent-pod should not be evicted due to exceeding requests/limits
2024-03-12 13:37:11 -04:00
Akihiro Suda
e8b08cd056
e2e_node: replace registry.k8s.io/stress:v1 with agnhost
...
agnhost now contains the stress functionality (PR 123258).
Fix issue 123146
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp >
2024-02-14 19:37:13 +09: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
Kevin Hannon
1ae5429629
add potential fixes for flakiness in eviction tests
2023-10-13 11:36:44 -04:00
carlory
d5d7fb595e
e2e_node: stop using deprecated framework.ExpectEqual
2023-10-09 16:42:42 +08:00
jinye
a774887262
cleanup:e2e:stop using deprecated framework.ExpectNotEqual
2023-09-05 18:16:57 +08:00
Todd Neal
ede524e1a6
fix a pidpressure test flake
...
With the new busybox, ash has a built-in sleep command. Prior to this
change we were creating half the pids expected since `sleep` wasn't
actually launching a new binary. Use the full path to /bin/sleep which
avoids the built-in and actually launches a new process.
2023-08-30 22:44:36 -05:00
Paco Xu
709eb6c030
eviction for pid trigger PIDPressure condition slowly on CRI-O
...
Signed-off-by: Paco Xu <paco.xu@daocloud.io >
2023-07-17 16:34:28 +08:00
Stanislav Laznicka
7f532891c9
e2e tests: set all PSa labels instead of just enforcing
2023-06-21 15:05:13 +02:00
Paco Xu
743e5525ed
fix eviction failing test for nil feature gates assignment
2023-06-06 17:05:04 +08:00
Patrick Ohly
41f23f52d0
test: fix ginkgolinter issues
...
All of these issues were reported by https://github.com/nunnatsa/ginkgolinter .
Fixing these issues is useful (several expressions get simpler, using
framework.ExpectNoError is better because it has additional support for
failures) and a necessary step for enabling that linter in our golangci-lint
invocation.
2023-02-22 19:36:05 +01:00
Patrick Ohly
2f6c4f5eab
e2e: use Ginkgo context
...
All code must use the context from Ginkgo when doing API calls or polling for a
change, otherwise the code would not return immediately when the test gets
aborted.
2022-12-16 20:14:04 +01:00
Patrick Ohly
df5d84ae81
e2e: accept context from Ginkgo
...
Every ginkgo callback should return immediately when a timeout occurs or the
test run manually gets aborted with CTRL-C. To do that, they must take a ctx
parameter and pass it through to all code which might block.
This is a first automated step towards that: the additional parameter got added
with
sed -i 's/\(framework.ConformanceIt\|ginkgo.It\)\(.*\)func() {$/\1\2func(ctx context.Context) {/' \
$(git grep -l -e framework.ConformanceIt -e ginkgo.It )
$GOPATH/bin/goimports -w $(git status | grep modified: | sed -e 's/.* //')
log_test.go was left unchanged.
2022-12-10 19:50:18 +01:00
Michal Wozniak
c803892bd8
Enable the feature into beta
2022-11-09 09:02:40 +01:00
Michal Wozniak
52cd6755eb
Add pod disruption conditions for kubelet initiated failures
2022-11-07 11:23:22 +01:00
Patrick Ohly
dfdf88d4fa
e2e: adapt to moved code
...
This is the result of automatically editing source files like this:
go install golang.org/x/tools/cmd/goimports@latest
find ./test/e2e* -name "*.go" | xargs env PATH=$GOPATH/bin:$PATH ./e2e-framework-sed.sh
with e2e-framework-sed.sh containing this:
sed -i \
-e "s/\(f\|fr\|\w\w*\.[fF]\w*\)\.ExecCommandInContainer(/e2epod.ExecCommandInContainer(\1, /" \
-e "s/\(f\|fr\|\w\w*\.[fF]\w*\)\.ExecCommandInContainerWithFullOutput(/e2epod.ExecCommandInContainerWithFullOutput(\1, /" \
-e "s/\(f\|fr\|\w\w*\.[fF]\w*\)\.ExecShellInContainer(/e2epod.ExecShellInContainer(\1, /" \
-e "s/\(f\|fr\|\w\w*\.[fF]\w*\)\.ExecShellInPod(/e2epod.ExecShellInPod(\1, /" \
-e "s/\(f\|fr\|\w\w*\.[fF]\w*\)\.ExecShellInPodWithFullOutput(/e2epod.ExecShellInPodWithFullOutput(\1, /" \
-e "s/\(f\|fr\|\w\w*\.[fF]\w*\)\.ExecWithOptions(/e2epod.ExecWithOptions(\1, /" \
-e "s/\(f\|fr\|\w\w*\.[fF]\w*\)\.MatchContainerOutput(/e2eoutput.MatchContainerOutput(\1, /" \
-e "s/\(f\|fr\|\w\w*\.[fF]\w*\)\.PodClient(/e2epod.NewPodClient(\1, /" \
-e "s/\(f\|fr\|\w\w*\.[fF]\w*\)\.PodClientNS(/e2epod.PodClientNS(\1, /" \
-e "s/\(f\|fr\|\w\w*\.[fF]\w*\)\.TestContainerOutput(/e2eoutput.TestContainerOutput(\1, /" \
-e "s/\(f\|fr\|\w\w*\.[fF]\w*\)\.TestContainerOutputRegexp(/e2eoutput.TestContainerOutputRegexp(\1, /" \
-e "s/framework.AddOrUpdateLabelOnNode\b/e2enode.AddOrUpdateLabelOnNode/" \
-e "s/framework.AllNodes\b/e2edebug.AllNodes/" \
-e "s/framework.AllNodesReady\b/e2enode.AllNodesReady/" \
-e "s/framework.ContainerResourceGatherer\b/e2edebug.ContainerResourceGatherer/" \
-e "s/framework.ContainerResourceUsage\b/e2edebug.ContainerResourceUsage/" \
-e "s/framework.CreateEmptyFileOnPod\b/e2eoutput.CreateEmptyFileOnPod/" \
-e "s/framework.DefaultPodDeletionTimeout\b/e2epod.DefaultPodDeletionTimeout/" \
-e "s/framework.DumpAllNamespaceInfo\b/e2edebug.DumpAllNamespaceInfo/" \
-e "s/framework.DumpDebugInfo\b/e2eoutput.DumpDebugInfo/" \
-e "s/framework.DumpNodeDebugInfo\b/e2edebug.DumpNodeDebugInfo/" \
-e "s/framework.EtcdUpgrade\b/e2eproviders.EtcdUpgrade/" \
-e "s/framework.EventsLister\b/e2edebug.EventsLister/" \
-e "s/framework.ExecOptions\b/e2epod.ExecOptions/" \
-e "s/framework.ExpectNodeHasLabel\b/e2enode.ExpectNodeHasLabel/" \
-e "s/framework.ExpectNodeHasTaint\b/e2enode.ExpectNodeHasTaint/" \
-e "s/framework.GCEUpgradeScript\b/e2eproviders.GCEUpgradeScript/" \
-e "s/framework.ImagePrePullList\b/e2epod.ImagePrePullList/" \
-e "s/framework.KubectlBuilder\b/e2ekubectl.KubectlBuilder/" \
-e "s/framework.LocationParamGKE\b/e2eproviders.LocationParamGKE/" \
-e "s/framework.LogSizeDataTimeseries\b/e2edebug.LogSizeDataTimeseries/" \
-e "s/framework.LogSizeGatherer\b/e2edebug.LogSizeGatherer/" \
-e "s/framework.LogsSizeData\b/e2edebug.LogsSizeData/" \
-e "s/framework.LogsSizeDataSummary\b/e2edebug.LogsSizeDataSummary/" \
-e "s/framework.LogsSizeVerifier\b/e2edebug.LogsSizeVerifier/" \
-e "s/framework.LookForStringInLog\b/e2eoutput.LookForStringInLog/" \
-e "s/framework.LookForStringInPodExec\b/e2eoutput.LookForStringInPodExec/" \
-e "s/framework.LookForStringInPodExecToContainer\b/e2eoutput.LookForStringInPodExecToContainer/" \
-e "s/framework.MasterAndDNSNodes\b/e2edebug.MasterAndDNSNodes/" \
-e "s/framework.MasterNodes\b/e2edebug.MasterNodes/" \
-e "s/framework.MasterUpgradeGKE\b/e2eproviders.MasterUpgradeGKE/" \
-e "s/framework.NewKubectlCommand\b/e2ekubectl.NewKubectlCommand/" \
-e "s/framework.NewLogsVerifier\b/e2edebug.NewLogsVerifier/" \
-e "s/framework.NewNodeKiller\b/e2enode.NewNodeKiller/" \
-e "s/framework.NewResourceUsageGatherer\b/e2edebug.NewResourceUsageGatherer/" \
-e "s/framework.NodeHasTaint\b/e2enode.NodeHasTaint/" \
-e "s/framework.NodeKiller\b/e2enode.NodeKiller/" \
-e "s/framework.NodesSet\b/e2edebug.NodesSet/" \
-e "s/framework.PodClient\b/e2epod.PodClient/" \
-e "s/framework.RemoveLabelOffNode\b/e2enode.RemoveLabelOffNode/" \
-e "s/framework.ResourceConstraint\b/e2edebug.ResourceConstraint/" \
-e "s/framework.ResourceGathererOptions\b/e2edebug.ResourceGathererOptions/" \
-e "s/framework.ResourceUsagePerContainer\b/e2edebug.ResourceUsagePerContainer/" \
-e "s/framework.ResourceUsageSummary\b/e2edebug.ResourceUsageSummary/" \
-e "s/framework.RunHostCmd\b/e2eoutput.RunHostCmd/" \
-e "s/framework.RunHostCmdOrDie\b/e2eoutput.RunHostCmdOrDie/" \
-e "s/framework.RunHostCmdWithFullOutput\b/e2eoutput.RunHostCmdWithFullOutput/" \
-e "s/framework.RunHostCmdWithRetries\b/e2eoutput.RunHostCmdWithRetries/" \
-e "s/framework.RunKubectl\b/e2ekubectl.RunKubectl/" \
-e "s/framework.RunKubectlInput\b/e2ekubectl.RunKubectlInput/" \
-e "s/framework.RunKubectlOrDie\b/e2ekubectl.RunKubectlOrDie/" \
-e "s/framework.RunKubectlOrDieInput\b/e2ekubectl.RunKubectlOrDieInput/" \
-e "s/framework.RunKubectlWithFullOutput\b/e2ekubectl.RunKubectlWithFullOutput/" \
-e "s/framework.RunKubemciCmd\b/e2ekubectl.RunKubemciCmd/" \
-e "s/framework.RunKubemciWithKubeconfig\b/e2ekubectl.RunKubemciWithKubeconfig/" \
-e "s/framework.SingleContainerSummary\b/e2edebug.SingleContainerSummary/" \
-e "s/framework.SingleLogSummary\b/e2edebug.SingleLogSummary/" \
-e "s/framework.TimestampedSize\b/e2edebug.TimestampedSize/" \
-e "s/framework.WaitForAllNodesSchedulable\b/e2enode.WaitForAllNodesSchedulable/" \
-e "s/framework.WaitForSSHTunnels\b/e2enode.WaitForSSHTunnels/" \
-e "s/framework.WorkItem\b/e2edebug.WorkItem/" \
"$@"
for i in "$@"; do
# Import all sub packages and let goimports figure out which of those
# are redundant (= already imported) or not needed.
sed -i -e '/"k8s.io.kubernetes.test.e2e.framework"/a e2edebug "k8s.io/kubernetes/test/e2e/framework/debug"' "$i"
sed -i -e '/"k8s.io.kubernetes.test.e2e.framework"/a e2ekubectl "k8s.io/kubernetes/test/e2e/framework/kubectl"' "$i"
sed -i -e '/"k8s.io.kubernetes.test.e2e.framework"/a e2enode "k8s.io/kubernetes/test/e2e/framework/node"' "$i"
sed -i -e '/"k8s.io.kubernetes.test.e2e.framework"/a e2eoutput "k8s.io/kubernetes/test/e2e/framework/pod/output"' "$i"
sed -i -e '/"k8s.io.kubernetes.test.e2e.framework"/a e2epod "k8s.io/kubernetes/test/e2e/framework/pod"' "$i"
sed -i -e '/"k8s.io.kubernetes.test.e2e.framework"/a e2eproviders "k8s.io/kubernetes/test/e2e/framework/providers"' "$i"
goimports -w "$i"
done
2022-10-06 08:19:47 +02:00
Davanum Srinivas
a9593d634c
Generate and format files
...
- Run hack/update-codegen.sh
- Run hack/update-generated-device-plugin.sh
- Run hack/update-generated-protobuf.sh
- Run hack/update-generated-runtime.sh
- Run hack/update-generated-swagger-docs.sh
- Run hack/update-openapi-spec.sh
- Run hack/update-gofmt.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com >
2022-07-26 13:14:05 -04:00
Dave Chen
fd4b5b629b
Stop using the deprecated method CurrentGinkgoTestDescription
...
Besides, the using of method might lead to a `concurrent map writes`
issue per the discussion here: https://github.com/onsi/ginkgo/issues/970
Signed-off-by: Dave Chen <dave.chen@arm.com >
2022-07-08 10:46:11 +08:00
Dave Chen
857458cfa5
update ginkgo from v1 to v2 and gomega to 1.19.0
...
- update all the import statements
- run hack/pin-dependency.sh to change pinned dependency versions
- run hack/update-vendor.sh to update go.mod files and the vendor directory
- update the method signatures for custom reporters
Signed-off-by: Dave Chen <dave.chen@arm.com >
2022-07-08 10:44:46 +08:00
Paul S. Schweigert
b6675fce4a
fix link to eviction policy in e2enode eviction test
...
Signed-off-by: Paul S. Schweigert <paulschw@us.ibm.com >
2022-06-29 19:23:49 -04:00
Davanum Srinivas
50bea1dad8
Move from k8s.gcr.io to registry.k8s.io
...
Signed-off-by: Davanum Srinivas <davanum@gmail.com >
2022-05-31 10:16:53 -04: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
f0e7025371
skip reduceAllocatableMemoryUsage if cgroup v2 is enabled
2021-12-16 14:46:50 +08:00
Kubernetes Prow Robot
9eaabb6b2e
Merge pull request #104304 from endocrimes/dani/eviction
...
[Failing Test] Fix Kubelet Storage Eviction Tests
2021-10-04 15:16:40 -07:00
Danielle Lancashire
7b91337068
e2e_node: eviction: Include names of pending-eviction pods in error
2021-10-04 13:07:40 +02:00
Danielle Lancashire
b5c2d3b389
e2e_node: eviction: Memory-backed Volumes seperation
...
This commit fixes the LocalStorageCapacityIsolationEviction test by
acknowledging that in its default configuration kubelet will no-longer
evict memory-backed volume pods as they cannot use more than their
assigned limit with SizeMemoryBackedVolumes enabled.
To account for the old behaviour, we also add a test that explicitly
disables the feature to test the behaviour of memory backed local
volumes in those scenarios. That test can be removed when/if the feature
gate is removed.
2021-10-04 13:07:40 +02:00