Commit Graph

59 Commits

Author SHA1 Message Date
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
Paulo Gonçalves Lima
d1278a0830 Fix: Improves the log for failing tests in e2e/apps.
Issue #105678
2023-01-28 02:50:32 -03:00
Rafa de Castro
a887a3b4fd
Changed code to improve output messages on error for files under test/e2e/apps (#109944)
* Improving the output of tests in case of error

* Better error message

Also, the condition in the second case was reversed

* Fixing 2 tests whose condition was inverted

* Again I got the conditions wrong

* Sorry for the confusion

* Improved error messages on failures
2023-01-11 02:11:44 -08: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
Maciej Szulik
cb8eabe651
Add simple e2e verifying TimeZone support for CronJob 2022-08-02 16:53:10 +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
373c08e0c7
test/e2e/framework: configure pod security admission level for e2e tests 2022-03-28 15:42:10 +02:00
sayaoailun
f2d585e356 It is weird that lastScheduleTime is earlier than creationTime
Signed-off-by: sayaoailun <guojianwei007@126.com>
2022-01-13 14:07:38 +08:00
Paul Morie
48a84fe9c7 conformance: correct typo for cronjob forbidconcurrent 2021-12-07 16:55:03 -05: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
Maciej Szulik
3c9bbe427b
Promote cronjob e2es to conformance 2021-03-06 19:01:02 +01:00
Maciej Szulik
0603a14be1
Switch to batch/v1 in cronjob's e2es 2021-03-05 19:08:27 +01:00
Maciej Szulik
263ec9b3da
cronjob: Add CRUD tests for CronJob API verbs 2021-02-22 21:52:10 +01:00
Alay Patel
8d7dd4415e add cronjob_controllerv2.go 2020-11-10 17:32:06 -05:00
wawa0210
9d1948a2f5
fix test/e2e/apps staticcheck 2020-07-02 18:14:12 +08:00
drfish
f4da086cbe Move resource methods from e2e fw to e2e resource fw 2020-03-08 15:27:49 +08:00
Mike Danese
c58e69ec79 automated refactor 2020-03-05 14:59:46 -08:00
Mike Danese
25651408ae generated: run refactor 2020-02-08 12:30:21 -05:00
Mike Danese
3aa59f7f30 generated: run refactor 2020-02-07 18:16:47 -08:00
toyoda
0c12ae5240 Modify alias of e2e/framework/job to e2ejob 2020-01-17 10:56:05 +09:00
toyoda
91dca8ff8c Use e2eskipper package in e2e/apps 2020-01-10 15:08:19 +09:00
danielqsj
6596a14d39 add missing alias of api errors under test 2019-12-26 17:29:38 +08:00
Kubernetes Prow Robot
fc1824fadd
Merge pull request #86348 from soltysh/issue86179
Split cronjob tests, so they don't interfere
2019-12-17 19:48:21 -08:00
Maciej Szulik
667aaf33a6
Split cronjob tests, so they don't interfere 2019-12-17 15:36:42 +01:00
Kubernetes Prow Robot
9b840a72c9
Merge pull request #86148 from tanjunchen/use-framework-Equal
test/e2e/: use framework.Equal() replace gomega.Expect(...).To(gomega…
2019-12-17 04:19:59 -08:00
Jordan Liggitt
5c537915bf Mark '[sig-apps] CronJob should delete successful/failed finished jobs with limit of one job' flaky 2019-12-16 17:05:30 -05:00
tanjunchen
f786cb07b7 test/e2e/: use framework.Equal() replace gomega.Expect(...).To(gomega.BeTrue()|BeFalse()) 2019-12-13 10:11:47 +08:00
Justin SB
e3a9d6fd1a
e2e: Provide more helpful error output for failing test
Tests should provide more verbose output when their core functionality
fails; in this case we were only logging that the job count did not
match but this is not sufficient for understanding a failure.
2019-11-05 23:09:12 -05:00
toyoda
c3fdb5e7d9 Use log functions of core framework on test/e2e/apps 2019-08-26 17:38:11 +09:00
toyoda
6ce0d547e5 add failedJobsHistoryLimit to successfulJobsHistoryLimit test 2019-07-10 09:17:38 +09:00
toyoda
b4ccb62c39 add e2e test for cronjob failedJobsHistoryLimit 2019-07-10 09:10:58 +09:00
tanshanshan
2c130b236c Use ExpectEqual under apps 2019-07-04 08:43:42 +08:00
toyoda
749e76351f change BeTrue to Equal or BeNumerically in cronjob e2e test 2019-05-24 13:22:07 +09:00
danielqsj
f3ea5e5c94 replace test error checking with more readable way 2019-05-10 10:15:45 +08:00
hui luo
4d4e4f4056 Modify apimachinery,apps,instrumentation tests to import framework/log
This is part of the transition to using framework/log instead
of the Logf inside the framework package. This will help with
import size/cycles when importing the framework or subpackages
2019-05-08 16:46:39 -07:00
toyoda
2c098b37e3 use framework.ExpectNoError() for e2e/apps 2019-04-26 19:23:12 +09:00
SataQiu
03180ec2b2 fix golint failures of test/e2e/apps 2019-04-17 19:04:51 +08:00
draveness
f32352ac7e refactor: clean up e2e framework job utils
1. Move job_util to e2e/framework/job package
2. Remove unused UpdateJobWithFunc
2019-04-12 21:26:33 +08:00
Andrew Sy Kim
1470df7a05 remove usages of internal clientset in e2e framework
Signed-off-by: Andrew Sy Kim <kiman@vmware.com>
2019-03-28 21:13:40 -04:00
war-turtle
6a2cdabed0 making some error messages helpful in cronjob tests 2019-01-14 21:33:05 +05:30
Vikram Krishnamurthy
da0896c101 Make error messages more helpful in some e2e tests 2018-12-25 11:13:03 -08:00
Maciej Szulik
65e074fd1a Set delete propagation policy to background when removing jobs and its dependents 2018-12-06 17:20:23 +01:00
Antonio Murdaca
48f12259b1 test/e2e/apps: fix race in cronjob test
With CRI-O we've been hitting a lot of flakes with the following test:

[sig-apps] CronJob should remove from active list jobs that have been deleted

The events shown in the test failures in both kube and openshift were the following:

STEP: Found 13 events.
Oct 24 20:20:05.541: INFO: At 2018-10-24 20:14:02 +0000 UTC - event for forbid: {cronjob-controller } SuccessfulCreate: Created job forbid-1540412040
Oct 24 20:20:05.541: INFO: At 2018-10-24 20:14:02 +0000 UTC - event for forbid-1540412040: {job-controller } SuccessfulCreate: Created pod: forbid-1540412040-z7n7t
Oct 24 20:20:05.541: INFO: At 2018-10-24 20:14:02 +0000 UTC - event for forbid-1540412040-z7n7t: {default-scheduler } Scheduled: Successfully assigned e2e-tests-cronjob-rjr2m/forbid-1540412040-z7n7t to 127.0.0.1
Oct 24 20:20:05.541: INFO: At 2018-10-24 20:14:03 +0000 UTC - event for forbid-1540412040-z7n7t: {kubelet 127.0.0.1} Pulled: Container image "docker.io/library/busybox:1.29" already present on machine
Oct 24 20:20:05.541: INFO: At 2018-10-24 20:14:03 +0000 UTC - event for forbid-1540412040-z7n7t: {kubelet 127.0.0.1} Created: Created container
Oct 24 20:20:05.541: INFO: At 2018-10-24 20:14:03 +0000 UTC - event for forbid-1540412040-z7n7t: {kubelet 127.0.0.1} Started: Started container
Oct 24 20:20:05.541: INFO: At 2018-10-24 20:14:12 +0000 UTC - event for forbid: {cronjob-controller } MissingJob: Active job went missing: forbid-1540412040
Oct 24 20:20:05.541: INFO: At 2018-10-24 20:15:02 +0000 UTC - event for forbid: {cronjob-controller } SuccessfulCreate: Created job forbid-1540412100
Oct 24 20:20:05.541: INFO: At 2018-10-24 20:15:02 +0000 UTC - event for forbid-1540412100: {job-controller } SuccessfulCreate: Created pod: forbid-1540412100-rq89l
Oct 24 20:20:05.541: INFO: At 2018-10-24 20:15:02 +0000 UTC - event for forbid-1540412100-rq89l: {default-scheduler } Scheduled: Successfully assigned e2e-tests-cronjob-rjr2m/forbid-1540412100-rq89l to 127.0.0.1
Oct 24 20:20:05.541: INFO: At 2018-10-24 20:15:06 +0000 UTC - event for forbid-1540412100-rq89l: {kubelet 127.0.0.1} Started: Started container
Oct 24 20:20:05.541: INFO: At 2018-10-24 20:15:06 +0000 UTC - event for forbid-1540412100-rq89l: {kubelet 127.0.0.1} Created: Created container
Oct 24 20:20:05.541: INFO: At 2018-10-24 20:15:06 +0000 UTC - event for forbid-1540412100-rq89l: {kubelet 127.0.0.1} Pulled: Container image "docker.io/library/busybox:1.29" already present on machine

The code in test is racy because the Forbid policy can still let the controller to create
a new pod for the cronjob. CRI-O is fast at re-creating the pod and by the time
the test code reaches the check, it fails. The events are as follow:

[It] should remove from active list jobs that have been deleted
  /go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/e2e/apps/cronjob.go:192
STEP: Creating a ForbidConcurrent cronjob
STEP: Ensuring a job is scheduled
STEP: Ensuring exactly one is scheduled
STEP: Deleting the job
STEP: deleting Job.batch forbid-1540412040 in namespace e2e-tests-cronjob-rjr2m, will wait for the garbage collector to delete the pods
Oct 24 20:14:02.533: INFO: Deleting Job.batch forbid-1540412040 took: 2.699182ms
Oct 24 20:14:02.634: INFO: Terminating Job.batch forbid-1540412040 pods took: 100.223228ms
STEP: Ensuring job was deleted
STEP: Ensuring there are no active jobs in the cronjob
[AfterEach] [sig-apps] CronJob
  /go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/e2e/framework/framework.go:148

It looks clear that by the time we're ensuring that there are no more active jobs, there
could be _already_ a new job spinned, making the test flakes.

This PR fixes all the above by making sure that the _deleted_ job is not in the Active
list anymore, besides other pod already running but with different UUID which is
going to be fine anyway for the purpose of the test.

Signed-off-by: Antonio Murdaca <runcom@linux.com>
2018-10-25 00:14:19 +02:00
Maciej Szulik
5c33898843
Wait for events instead of just checking them in cronjob e2e 2018-09-19 11:03:11 +02:00
Davanum Srinivas
6cd8bd62fe
e2e test harness - use busybox from dockerhub
Use the same pattern everywhere in the e2e test
harness, use busybox (from dockerhub) instead
of using the one from k8s.gcr.io registry.

Change-Id: I57c3b867408c1f9478a8909c26744ea0368ff003
2018-08-07 11:22:16 -04:00
Maciej Szulik
383872615d
Remove kubectl reapers 2018-05-25 22:18:05 +02:00
xuzhonghu
393324497f make use of simple dynamic client in test 2018-04-27 13:38:58 +08:00
p0lyn0mial
1f1d24005a removes custom scalers from kubectl 2018-03-26 19:33:42 +02:00
Di Xu
48388fec7e fix all the typos across the project 2018-02-11 11:04:14 +08:00