Commit Graph

213 Commits

Author SHA1 Message Date
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
Benjamin Elder
f2b2d44614 s/master/primary in agnhost guestbook usage 2020-06-24 12:14:33 -07:00
Benjamin Elder
279ce5d89e s/master/primary in agnhost guestbook test references & agnhost code
to do in follow-up: update the agnhost deployments and references to those when the new image is pushed
2020-06-19 12:23:16 -07:00
Benjamin Elder
d65a3b15bf update agnhost guestbook usage for s/slave/replica/ 2020-06-15 20:08:27 -07:00
Benjamin Elder
3298dfa73a up sleep time in racy test 2020-06-10 17:23:27 -07:00
Kubernetes Prow Robot
d32875543b
Merge pull request #91227 from aojea/kcliwait
kubectl run test: the pod wait (some time) until attach before printing
2020-05-20 19:41:20 -07:00
Kubernetes Prow Robot
62a4cb930b
Merge pull request #90367 from julianvmodesto/conformance-diff-dry-run
Promote diff and dry-run to conformance
2020-05-20 16:44:19 -07:00
Antonio Ojea
a0f0e58373 kubectl run test wait until pod terminates
the test "executing a command with run and attach without stdin"
is inherently flaky, there are several discussion but seems that
it requires changing the way the kubectl run and attach works.

The test fails if we are not able to attach before the container prints
"stdin closed", but hasn't exited yet.

Because the race seems difficult to solve, we can wait 5 seconds
 before printing to give time to kubectl to attach to the container.
2020-05-19 13:09:32 +02:00
Julian V. Modesto
7af0011884 Promote diff and dry-run to conformance 2020-05-13 13:04:41 -04:00
Maciej Szulik
6f1484256d
waitForPod should use different exitCondition depending on restart policy 2020-04-24 16:30:46 +02:00