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
d4729008ef
e2e: simplify test cleanup
...
ginkgo.DeferCleanup has multiple advantages:
- The cleanup operation can get registered if and only if needed.
- No need to return a cleanup function that the caller must invoke.
- Automatically determines whether a context is needed, which will
simplify the introduction of context parameters.
- Ginkgo's timeline shows when it executes the cleanup operation.
2022-12-13 08:09:01 +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
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
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
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
Stephen Augustus
481cf6fbe7
generated: Run hack/update-gofmt.sh
...
Signed-off-by: Stephen Augustus <foo@auggie.dev>
2021-08-24 15:47:49 -04: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
Morgan Bauer
24125781d7
enable benchmark by matching test config
...
Change kubernetes/test-infra@fc3e91a from 105 -> 90 causes this test
not to be run.
2020-10-15 08:14:49 -07:00
Marek Siarkowicz
7d309e0104
Move Kubelet Summary API to staging repo
2020-09-22 18:23:28 +02:00
SataQiu
d2bdf89a8b
fix golint issues in test/e2e_node
2019-11-26 16:26:55 +08:00
carlory
d1290ffdef
clean up test code
2019-09-05 23:44:19 +08:00
WanLinghao
92b0310cc5
Refactor and clean up e2e framework utils, this patch handles test/e2e/framework/kubelet_stats.go file
2019-08-01 17:40:02 +08:00
Kubernetes Prow Robot
e694959038
Merge pull request #80708 from WanLinghao/util_pods_refacotr
...
Move pod related functions in file test/e2e/framework/util.go to its sub directory
2019-07-31 20:08:38 -07:00
WanLinghao
e43572f02b
Move pod related functions file in test/e2e/framework/util.go to its sub direcotry
2019-07-31 13:53:41 +08:00
SataQiu
641d330f89
e2e_node: clean up non-recommended import
2019-07-28 12:49:36 +08:00
WanLinghao
4c394ddf3b
Refactor and clean up e2e framework utils, this patch handles test/e2e/framework/perf_util.go
2019-07-25 09:41:00 +08:00
Kubernetes Prow Robot
dc8b928136
Merge pull request #79162 from SataQiu/fix-test-20190619
...
Refactor: replace framework.Failf with e2elog.Failf
2019-06-21 12:17:04 -07:00
Kubernetes Prow Robot
465e96535d
Merge pull request #78836 from dims/verify-import-aliases-during-typecheck
...
Verify import aliases
2019-06-19 21:11:01 -07:00
SataQiu
332be4b1e3
refactor: replace framework.Failf with e2elog.Failf
2019-06-19 17:52:35 +08:00
Davanum Srinivas
a6f8d575ba
Add kubeletstatsv1alpha1 as the preferred alias for k8s.io/kubernetes/pkg/kubelet/apis/stats/v1alpha1
...
Change-Id: I05a8390a667dba307c09d95f836e08e0759c12ee
2019-06-15 22:31:51 -04:00
Odin Ugedal
6bb8bb0227
Cleanup e2e_node test style
...
Remove the use of Except(err).NotTo(HaveOccured()), and switch to using
framework ramework.ExpectNoError(err)
2019-06-14 17:51:48 +02:00
SataQiu
d3a902ff5b
e2e refactor: cleanup Logf form framework/util
2019-05-24 16:39:46 +08:00
Manjunath A Kumatagi
1bb810e749
Use pause manifest image
2018-04-06 11:00:50 +05:30
jianglingxia
76e90061a2
reopen #58913 Fix TODO move GetPauseImageNameForHostArch func
2018-01-31 15:06:32 +08:00
Aaron Crickenberger
040b80d9a7
Add [sig-node] to some unowned e2e_node tests
...
Follow the SIGDescribe pattern used in test/e2e/foo tests
2017-11-27 11:35:44 -05:00
Jacob Simpson
29c1b81d4c
Scripted migration from clientset_generated to client-go.
2017-07-17 15:05:37 -07:00
Yu-Ju Hong
71bd92ce3b
e2e: bump kubelet's resurce usage limit
...
We don't have per-OS image limits. Bumping these to more generous
numbers to not fail the tests.
2017-06-23 09:55:18 -07:00
Yang Guo
29b2db5af3
Logs node e2e perf data to standalone json files
2017-06-12 14:27:56 -07:00
Michael Taufen
cbad320205
Reorganize kubelet tree so apis can be independently versioned
2017-05-12 10:02:33 -07:00
David Ashpole
ad73b325f3
changed density test to use volumes, and include deletion before logging
2017-02-02 08:51:01 -08:00
NickrenREN
a12dea14e0
fix redundant alias clientset
2017-01-12 10:21:05 +08:00
Chao Xu
03d8820edc
rename /release_1_5 to /clientset
2016-12-14 12:39:48 -08:00
Chao Xu
29400ac195
test/e2e_node
2016-11-23 15:53:09 -08:00
Jan Chaloupka
4fde09d308
Replace client with clientset in code
2016-10-23 22:00:35 +02:00
Dawn Chen
6339b32a93
Collect resource usage test with 0 pod for node benchmark.
2016-10-18 17:38:09 -07:00
Random-Liu
ed411c9042
Add image white list, images in white list will be prepulled, and
...
only images in white list could be used in the test. Currently only
enabled in node e2e test.
2016-09-19 14:39:23 -07:00
Zhou Fang
a683eb0418
get image and machine info from api server instead of passing from test
...
# Please enter the commit message for your changes. Lines starting
2016-09-13 08:41:29 -07:00
Zhou Fang
0167f74c6c
explicitly delete pods in node perf tests
2016-08-30 15:18:37 -07:00
Zhou Fang
483655a312
increase latency and resource limit accroding to test results
2016-08-29 19:05:52 -07:00
Zhou Fang
58495b5214
add labels to perf dataset
2016-08-18 17:15:43 -07:00
Zhou Fang
f82746e038
move benchmark tag from context to it
2016-08-18 09:25:20 -07:00
Zhou Fang
5498130255
add logging time series data to benchmark tests
2016-08-18 09:20:40 -07:00
Zhou Fang
f2af00f821
add benchmark test which does not verify limits
2016-08-14 18:55:46 -07:00
Zhou Fang
ad81b6da80
migrate UsageToPerfDataWithLabels to perf_util.go
2016-08-11 11:18:00 -07:00
Zhou Fang
637e0f91ce
add +build linux to density_test, resource_usage_test and resource_collector
2016-08-04 10:21:01 -07:00
Marek Grabowski
621a589b6d
Revert "Add density (batch pods creation latency and resource) and resource performance tests to `test-e2e-node'"
2016-08-03 15:13:40 +02:00
Zhou Fang
f3f3e965cc
modify resource_collector.go to get container names of kubelet and docker dynamically
2016-08-02 09:20:04 -07:00