Paco Xu
140502af8c
add warning for PVC template in statefulset and in pod ephemeral volume source
2022-10-22 09:14:03 +08:00
Kubernetes Prow Robot
ad26b315f2
Merge pull request #86139 from jasimmons/pr_normalize_probes_lifecycle_handlers
...
Normalize HTTP lifecycle handlers with HTTP probers
2022-10-19 17:44:56 -07:00
Kubernetes Prow Robot
bf14677914
Merge pull request #112546 from oscr/the-the
...
grammar: replace all occurrences of "the the" with "the"
2022-10-19 10:03:02 -07:00
Jason Simmons
5a6acf85fa
Align lifecycle handlers and probes
...
Align the behavior of HTTP-based lifecycle handlers and HTTP-based
probers, converging on the probers implementation. This fixes multiple
deficiencies in the current implementation of lifecycle handlers
surrounding what functionality is available.
The functionality is gated by the features.ConsistentHTTPGetHandlers feature gate.
2022-10-19 09:51:52 -07:00
Maciej Szulik
f2b9479f8e
Wait for pod not running or gone in storage tests
2022-10-18 13:18:54 +02:00
Kubernetes Prow Robot
3e06830f2d
Merge pull request #109924 from mauriciopoppe/provisioning-sync
...
Use sync in e2e storage provisioning tests
2022-10-17 15:49:17 -07:00
Kubernetes Prow Robot
4216ad3542
Merge pull request #113106 from pohly/dep-ginkgo-gomega
...
dependencies: update to gomega v1.22.1 and ginkgo v2.3.1
2022-10-17 11:09:26 -07:00
Patrick Ohly
b667933741
e2e: adapt to modified Ginkgo output
2022-10-17 15:12:41 +02:00
Patrick Ohly
3c162af45f
e2e: skip AllNodesReady when the test skipped framework initialization
...
This addresses a problem caused by
https://github.com/kubernetes/kubernetes/pull/112043 : because the AfterEach
which invokes AllNodesReady always runs, including tests that skipped early,
those tests ran into a nil pointer access. This increased the size of log
files. The tests still worked.
2022-10-17 10:27:14 +02:00
Kubernetes Prow Robot
6705015101
Merge pull request #112133 from knabben/remove-kproxy-userspace
...
Remove kube-proxy userspace modes
2022-10-14 17:31:06 -07:00
Oscar Utbult
e4f776f230
grammar: replace all occurrences of "the the" with "the"
2022-10-14 09:03:14 +02:00
Patrick Ohly
2ba1d9e014
e2e framework: remove AddonResourceConstraints
...
According to spiffx in
https://github.com/kubernetes/kubernetes/pull/112043/files#r978031680 :
> Last in-tree tests that used it were removed in #83322 (1.17 timeframe)
> so I think it can be safely removed
2022-10-06 08:19:47 +02:00
Patrick Ohly
9b49ef433c
e2e framework: add top-level README.md
...
This documents the cleaned up package structure and explains how callbacks are
invoked. Ginkgko v2 has led to some improvements in that area.
2022-10-06 08:19:47 +02:00
Patrick Ohly
7f8831407c
e2e framework: also test BeforeEach and extension mechanism
...
This adds test coverage for NewFrameworkExtensions and shows better how
BeforeEach callbacks are invokved. The unit test is not strictly about just the
cleanup operations anymore, but that's okay(ish).
2022-10-06 08:19:47 +02: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
Patrick Ohly
5614a9d064
e2e framework: eliminate interim sub packages
...
The "todo" packages were necessary while moving code around to avoid hitting
cyclic dependencies. Now that any sub package can depend on the framework, they
are no longer needed and the code can be moved into the normal sub packages.
2022-10-06 08:16:47 +02:00
Patrick Ohly
2d21acb1be
e2e framework: eliminate redundant framework/[log|ginkgowrapper]
...
These sub packages were created by mistake. Logging and failure handling are
core features and must be implemented in the framework package.
2022-10-06 08:16:47 +02:00
Patrick Ohly
a46fea53e6
e2e framework: move pod exec and create into sub package
2022-10-06 08:16:47 +02:00
Patrick Ohly
8af3258526
e2e framework: move NodeKiller into framework/node
...
This removes some more dependencies from the framework.
Removing the configuration needs to be handled as part of refactoring the
TestContext.
2022-10-06 08:16:47 +02:00
Patrick Ohly
70d0824f01
e2e framework: move resource gathering into framework/debug
...
This helps getting rid of the ssh dependency. The same init package as for
dumping namespaces takes care of adding the functionality back to framework
instances.
2022-10-06 08:16:47 +02:00
Patrick Ohly
f9bc4f837b
e2e framework: move log size verification into framework/debug
...
This helps getting rid of the ssh dependency. The same init package as for
dumping namespaces takes care of adding the functionality back to framework
instances.
2022-10-06 08:16:47 +02:00
Patrick Ohly
802451b6ca
e2e framework: move metrics gathering into sub package
...
This reduces the size of the test/e2e/framework itself. Because it does not
gather metrics data anymore by default, E2E test suites must set their
callbacks function or set the original one by importing
"k8s.io/kubernetes/test/e2e/framework/todo/metrics/init".
2022-10-06 08:16:47 +02:00
Patrick Ohly
b8d28cb6c3
e2e framework: move node helper code into sub package
...
This reduces the size of the test/e2e/framework itself. Because it does not
check nodes anymore by default, E2E test suites must set their own check
function or set the original one by importing
"k8s.io/kubernetes/test/e2e/framework/todo/node/init".
2022-10-06 08:16:47 +02:00
Patrick Ohly
c45a924c5e
e2e framework: move dumping of information into sub package
...
This reduces the size of the test/e2e/framework itself. Because it does not
dump anything anymore by default, E2E test suites must set their own dump
function or set the original one by importing
"k8s.io/kubernetes/test/e2e/framework/debug/init".
2022-10-06 08:16:47 +02:00
Patrick Ohly
2c8ef492ae
e2e framework: move kubectl and pod helper code
2022-10-06 08:16:47 +02:00
Patrick Ohly
e95c2dbbe3
e2e framework: introduce todo sub packages
2022-10-06 08:16:47 +02:00
Patrick Ohly
37d562b454
e2e framework: support callbacks during framework creation and before each test
...
This will be used as mechanism for invoking some of the code which is currently
hard-coded in the framework once that code is placed in optional packages.
2022-10-06 08:16:47 +02:00
Amim Knabben
7df6c02288
Remove Linux and Windows Kube-proxy Userspace mode
2022-10-05 16:59:02 -03:00
Kubernetes Prow Robot
4af079a3a1
Merge pull request #112663 from aojea/reachability
...
do not assume backend on e2e service jig
2022-09-22 12:51:28 -07:00
Kubernetes Prow Robot
3a0dbe5749
Merge pull request #112335 from piotrnosek/fixcustomcrd
...
Fix HPA E2E CustomResourceDefinition test
2022-09-22 11:01:06 -07:00
Antonio Ojea
909a08d011
do not assume backend on e2e service jig
2022-09-22 07:49:05 +02:00
Piotr Nosek
96ff1b1bcb
Fix HPA E2E CRD test
2022-09-21 22:39:47 +00:00
Kubernetes Prow Robot
f0823c0f59
Merge pull request #112503 from pohly/e2e-framework-pod-polling
...
e2e framework: pod polling
2022-09-20 00:05:20 -07:00
Patrick Ohly
004c1b6441
e2e framework: abort polling for running pod early
...
When the pod state is failed or completed, the pod will never again enter the
running state and polling can stop.
2022-09-19 18:10:04 +02:00
Kubernetes Prow Robot
d2e3c70f1d
Merge pull request #111961 from pohly/e2e-klog-output
...
e2e: klog output
2022-09-17 14:38:28 -07:00
Manjunath A Kumatagi
2384a341e1
Add no-op package file to avoid build constraints exclude all Go files error
2022-09-17 12:15:49 +05:30
Kubernetes Prow Robot
4bc1398c08
Merge pull request #112510 from humblec/new-2
...
various typo corrections in test/e2e package
2022-09-16 14:59:00 -07:00
Kubernetes Prow Robot
06fd0a0728
Merge pull request #112489 from dims/etcd_update_v3.5.5
...
etcd: Updated to v3.5.5
2022-09-16 08:49:16 -07:00
Kubernetes Prow Robot
740011927c
Merge pull request #112504 from pohly/e2e-wait-service-account
...
e2e framework: better error when service account creation times out
2022-09-16 06:31:28 -07:00
Humble Chirammal
9e9fc2be88
various corrections in test/e2e package
...
Signed-off-by: Humble Chirammal <hchiramm@redhat.com >
2022-09-16 18:59:30 +05:30
Kubernetes Prow Robot
0f582f7c3f
Merge pull request #112416 from aojea/race_apiserver_startup
...
Don't run TestCleanup that requires etcd on non linux+amd64 platforms
2022-09-16 02:49:18 -07:00
Patrick Ohly
efc172f4bf
e2e framework: better error when service account creation times out
...
When waiting for the default service account in a new namespace, not finding
one was reported as "unexpected error: timed out waiting for the condition"...
2022-09-16 11:21:31 +02:00
Antonio Ojea
920dec740b
skip etcd unit tests on non fully supported architectures
...
etcd only fully supports linux && amd64, the other architectures
and OS are only guaranteed to build, see:
https://etcd.io/docs/v3.5/op-guide/supported-platform/#support-tiers
Skip the test that use etcd on not well supported environment to
guarantee the stability of the test.
2022-09-16 10:38:03 +02:00
Patrick Ohly
0bd901afea
e2e framework: better error messages when pod has failed or completed
...
Getting a message about "pod ran to completion" is confusing when the pod
hasn't been able to start at all. The failed state now has a different message.
To address the previous ambiguity, the success state is described as "ran to
completion successfully".
2022-09-16 09:12:51 +02:00
Davanum Srinivas
0f6b9b883c
etcd: Updated to v3.5.5
...
Signed-off-by: Davanum Srinivas <davanum@gmail.com >
2022-09-15 21:05:13 -04:00
Kubernetes Prow Robot
ee94dce5b1
Merge pull request #112015 from humblec/glusterfs-gone
...
Removal of GlusterFS code from the repo
2022-09-14 10:03:00 -07:00
Humble Chirammal
c2a7bfd6b4
removal of glusterfs in-tree driver code from the source
...
Signed-off-by: Humble Chirammal <hchiramm@redhat.com >
2022-09-13 20:11:50 +05:30
Patrick Ohly
84990d53cf
e2e: improve description of framework callbacks
...
When Ginkgo shows a BeforeEach/AfterEach/DeferCleanup, then it can only show
the source code where the callback was registered because there is no
description parameter. This can be improved by passing a custom CodeLocation.
Because a description like "set up framework" might not be enough, the source
code is still shown, too.
2022-09-13 14:27:32 +02:00
Kubernetes Prow Robot
d7d82ad972
Merge pull request #112252 from piotrnosek/hpa-average-metrics
...
Add e2e HPA Tests: CPU and Memory Average with different aggregation methods: Average Value and Utilization
2022-09-12 09:41:24 -07:00
Kubernetes Prow Robot
3e9e41f82c
Merge pull request #112389 from pohly/test-cleanup-flake
...
e2e: avoid random control plane output through GinkoWriter
2022-09-12 05:27:37 -07:00