Kubernetes Prow Robot
948d5b8d52
Merge pull request #114565 from aojea/fix_e2e_after_contexts
...
cleanup e2e kubectl cli tests
2022-12-18 16:05:42 -08:00
Antonio Ojea
e05e96bfdd
e2e kubect run tests
...
These tests create their own pods, however, they were inside a block
that was always creating a pod, that was not used later on the tests,
but can influence on the conditions asserted to succeed the test.
Change-Id: I3bb9a0f123fb0766d75934ef8e197f92e3f5f3b8
2022-12-18 16:22:15 +00:00
Patrick Ohly
02b6b6520a
e2e kubectl: increase wait timeout
...
After adding error checking in df5d84ae81
, the "[sig-cli] Kubectl client
Simple pod should return command exit codes [Slow] running a failing command
without --restart=Never, but with --rm" test was found to time out.
Doubling the timeout might help. Alternatively, the entire
WaitForPodToDisappear could get removed, which would make this scenario similar
to the others which also don't wait.
2022-12-18 16:10:15 +01:00
Antonio Ojea
c1580e960d
e2e kubectl test cleanup
...
the test uses a BeforeEach block to create a pod with the name defined
but the simplePodName variables, however, some test use the value of
the variable directly.
To avoid future problems use the variable name instead of the value on
all tests.
Change-Id: I21a01019d91fe5ae7e35566184420001978ce355
2022-12-18 13:57:41 +00: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
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
Maciej Szulik
50c7ebb5b4
Move events command to top level
2022-11-10 14:44:22 +01:00
Paco Xu
05de50e1a5
kubectl-alpha-events: e2e ignore some timeout errors(flake)
2022-10-20 16:41:29 +08:00
Paco Xu
6c0d294138
kubectl-e2e: the event rendering may have 3 or 4 whitespaces
2022-10-19 15:33:29 +08: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
Arda Güçlü
0303535506
Add e2e tests for events command ( #111855 )
...
* Add e2e tests for events command
* Run events tests as normal e2e instead conformance
Conformance tests are only for GA features. Since `kubectl events`
currently is in alpha stage, e2e tests for this command should be
run as standard e2e.
2022-09-26 08:10:08 -07:00
Kevin Delgado
d815449ae5
Adjust testing for server-side validation as default
2022-07-18 16:16:00 +00: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
Kevin Delgado
1bfaccb434
Use namespace created by framework
2022-06-13 07:08:58 +00:00
Brian Pursley
457181fbd6
Fix e2e test failure
...
Remove namespace from manifest to fix the error: the namespace from
the provided object "my-ns" does not match the namespace
"kubectl-8939". You must pass '--namespace=my-ns' to perform this
operation.
2022-05-28 18:09:41 -04:00
Kevin Delgado
91c016e4d5
Add unknown metadata field validation tests ( #109316 )
...
* add unknown metadata validation e2e tests
* Address PR Feedback
* explicitly check for unexpected nil errors or namespace errors
2022-05-17 15:04:30 -07:00
Jordan Liggitt
f12d001b20
Revert "Adjust testing for server-side validation as default"
...
This reverts commit f234cb142a
.
2022-04-04 12:26:51 -04:00
Kubernetes Prow Robot
ea0dc6ed41
Merge pull request #108889 from kevindelgado/validation-beta-flag
...
ServerSideFieldValidation Beta Graduation
2022-03-28 14:20:12 -07:00
Sergiusz Urbaniak
373c08e0c7
test/e2e/framework: configure pod security admission level for e2e tests
2022-03-28 15:42:10 +02:00
Kevin Delgado
f234cb142a
Adjust testing for server-side validation as default
2022-03-28 04:11:27 +00:00
Kevin Delgado
b0f3b5a796
Adjust validation checks to pass for both client-side and server-side validation
2022-03-26 03:45:13 +00:00
Jefftree
8a1d5947ad
googleapis/gnostic -> google/gnostic
2022-03-15 20:44:03 -07:00
ahrtr
fe95aa614c
io/ioutil has already been deprecated in golang 1.16, so replace all ioutil with io and os
2022-02-03 05:32:12 +08:00
Nikhil Sharma
a69a6aa4b5
Changed code to improve output for files under test/e2e/kubectl
2021-10-29 12:35:49 +05:30
Sean Sullivan
1ce594b7ee
Fixes flaky GKE kubectl test
2021-08-06 22:31:55 -07:00
wangyysde
558bdd18aa
Update cronjob integration test to batch/v1
...
Signed-off-by: wangyysde <net_use@bzhy.com>
2021-06-04 21:04:21 +08:00
Kubernetes Prow Robot
c05810cc5d
Merge pull request #96702 from lingsamuel/wait-for-delete-ignore-not-found
...
Fix `kubectl wait --for=delete` ignore not found
2021-05-07 20:29:17 -07:00
Eddie Zaneski
1bc5364b16
[e2e] match kubectl run timeout to pod start timeout
...
Signed-off-by: Eddie Zaneski <eddiezane@gmail.com>
2021-04-22 11:10:56 -06:00
Kubernetes Prow Robot
48f1b8fb28
Merge pull request #99293 from chymy/e2e-kubectl
...
Remove unused field in test/e2e/kubectl/kubectl.go
2021-03-04 18:34:41 -08:00
Jacek Kaniuk
f3f4d535d5
Revert "tests: Set a 5 minute timeout for kubectl cluster-info dump"
...
This reverts commit bc16100549
.
2021-02-25 11:27:29 +01:00
chymy
71f33cf8e1
Remove unused field in test/e2e/kubectl/kubectl.go
...
Signed-off-by: chymy <chang.min1@zte.com.cn>
2021-02-22 02:05:29 -05:00
Justin SB
bc16100549
tests: Set a 5 minute timeout for kubectl cluster-info dump
...
We've observed this test causing e2e runs to time-out; the ginkgo
behaviour here is unhelpful, in that we don't see any output on a
timeout.
Set a (generous) time limit to start to get output and enforce some
limit to the response time.
2021-02-15 19:15:51 -05:00
Ling Samuel
99cdc37e2a
fix kubectl wait --for=delete ignore not found
...
Signed-off-by: Ling Samuel <lingsamuelgrace@gmail.com>
2021-01-04 13:38:06 +08:00
Kubernetes Prow Robot
4364ef6206
Merge pull request #95678 from SaiHarshaK/kubectl-version-check
...
check if kubectl version required values are empty
2020-11-05 02:46:54 -08:00
Sai Harsha Kottapalli
06148eda25
check if kubectl version required values are empty
2020-11-05 02:51:43 +05:30
Carlos Panato
a9ff313c5b
use patch instead of replace to test the dry-run option
2020-11-03 14:27:16 +01:00
Maciej Szulik
788ef39cab
Fix --dry-run invocation in kubectl e2e
2020-10-15 12:51:58 +02:00
Ricardo Pchevuzinske Katz
ab129349ac
Change kubectl clusterinfo to non offensive words
...
Signed-off-by: Ricardo Pchevuzinske Katz <ricardo.katz@gmail.com>
2020-10-01 08:25:52 -03:00
Kubernetes Prow Robot
660e1e4969
Merge pull request #94789 from zhouya0/cleanup_ns_flag
...
Clean up remaining ns flag
2020-09-17 07:08:45 -07:00
Clayton Coleman
aaa90476cb
test/e2e: Busybox image is not being templatized
...
All images used by e2e tests must use templates in order to allow
relocation. In addition this is hitting Dockerhub which will be
getting throttled soon.
2020-09-16 14:54:03 -04:00
Manuel Alejandro de Brito Fontes
ee2c4e514f
Refactor kubectl without stdin test
2020-09-16 09:31:59 -03:00
Kubernetes Prow Robot
3e8e0dbf4a
Merge pull request #94482 from oomichi/expect_no_error-2
...
Use ExpectNoError(err) for some e2e tests
2020-09-15 18:27:19 -07:00
zhouya0
438ec9be49
Clean up remaining ns flag
2020-09-15 10:43:51 +08:00
Maciej Szulik
eec4a04c2d
Use namespace flag passed to RunKubectl* methods
2020-09-11 14:51:03 +02:00
Kenichi Omichi
12c0eaef25
Use ExpectNoError(err)
...
We missed another pattern to check error doesn't happen on e2e tests.
This covers the pattern for consistent test implementation.
2020-09-03 23:29:07 +00:00
zhouya0
b18e265315
[Flaky test]kubectl log test never restart pod
2020-08-12 18:26:18 +08:00
Jefftree
ace97738e2
Update formatting of conformance comment
2020-07-29 20:50:44 -07:00
Ciprian Hacman
5d87704ed3
Skip arch dependent kubectl test for non AMD64 nodes
2020-07-13 20:25:14 +03:00
Aaron Crickenberger
28768166f5
decouple testfiles from framework
...
This drops testfiles.ReadOrDie and updated testfiles.Exists to return an
error, forcing the caller to decide whether to call framework.Fail or do
something else.
It makes for a slightly less friendly API, but also means the package is
decoupled from framework again, as per the comments at the top of the
file
2020-06-29 14:54:09 -07:00