Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate Ginkgo from v1 to v2 #109111

Merged
merged 19 commits into from Jul 8, 2022
Merged

Conversation

chendave
Copy link
Member

@chendave chendave commented Mar 29, 2022

With the GA of v2, v1 has been formally deprecated

see #109744 for some umbrella issues.

Signed-off-by: Dave Chen dave.chen@arm.com

What type of PR is this?

/kind feature

What this PR does / why we need it:

Which issue(s) this PR fixes:

Fixes #107936

Special notes for your reviewer:

Verified as below,

# export ACK_GINKGO_DEPRECATIONS=2.1.3
/usr/bin/e2e.test -ginkgo.focus="\[sig-network\] ClusterDns \[Feature:Example\] should create pod that uses dns" -report-dir=/var/log/kubernetes/e2e
Mar 29 22:54:28.913: INFO: The --provider flag is not set. Continuing as if --provider=skeleton had been used.
I0329 22:54:28.914153   16360 e2e.go:128] Starting e2e run "7e89c927-22d8-4e2e-9bde-e0bd1ab289a5" on Ginkgo node 0
Running Suite: Kubernetes e2e suite - /go/src/k8s.io/kubernetes
===============================================================
Random Seed: 1648565668

Will run 1 of 7371 specs
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
------------------------------
• [SLOW TEST] [13.539 seconds]
[sig-network] ClusterDns [Feature:Example] should create pod that uses dns
test/e2e/network/example_cluster_dns.go:74
------------------------------
...
Ran 1 of 7371 Specs in 13.747 seconds
SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 7370 Skipped
PASS

Does this PR introduce a user-facing change?

End-to-end testing has been migrated from Ginkgo v1 to v2.

ACTION REQUIRED: When running test/e2e via the Ginkgo CLI, the v2 CLI must be used and `-timeout=24h` (or some other, suitable value) must be passed because the default timeout was reduced from 24h to 1h. When running it via `go test`, the corresponding `-args` parameter is `-ginkgo.timeout=24h`. To build the CLI in the Kubernetes repo, use `make all WHAT=github.com/onsi/ginkgo/v2/ginkgo`.
ACTION REQUIRED: Ginkgo V2 doesn't accept go test's `-parallel` flags to parallelize Ginkgo specs, please switch to use `ginkgo -p` or `ginkgo -procs=N` instead.

Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:


@k8s-ci-robot k8s-ci-robot added kind/feature Categorizes issue or PR as related to a new feature. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. do-not-merge/needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. needs-priority Indicates a PR lacks a `priority/foo` label and requires one. area/apiserver area/cloudprovider area/code-generation labels Mar 29, 2022
@k8s-ci-robot k8s-ci-robot added area/conformance Issues or PRs related to kubernetes conformance tests area/dependency Issues or PRs related to dependency changes area/e2e-test-framework Issues or PRs related to refactoring the kubernetes e2e test framework area/kubeadm area/kubectl area/network-policy Issues or PRs related to Network Policy subproject area/test sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. sig/apps Categorizes an issue or PR as relevant to SIG Apps. sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. sig/auth Categorizes an issue or PR as relevant to SIG Auth. sig/autoscaling Categorizes an issue or PR as relevant to SIG Autoscaling. sig/cli Categorizes an issue or PR as relevant to SIG CLI. sig/cloud-provider Categorizes an issue or PR as relevant to SIG Cloud Provider. sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. and removed do-not-merge/needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. labels Mar 29, 2022
@k8s-ci-robot
Copy link
Contributor

@chendave: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
pull-kubernetes-e2e-aks-engine-windows-containerd 62d38dfa2bec1fd939fbdb9c7bcfb5d5da0c6d83 link false /test pull-kubernetes-e2e-aks-engine-windows-containerd
pull-kubernetes-e2e-gci-gce-ipvs 50d1b6c link false /test pull-kubernetes-e2e-gci-gce-ipvs
pull-kubernetes-e2e-gce-storage-snapshot 50d1b6c link false /test pull-kubernetes-e2e-gce-storage-snapshot

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@pohly
Copy link
Contributor

pohly commented Jul 8, 2022

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jul 8, 2022
@k8s-ci-robot k8s-ci-robot merged commit 4569e64 into kubernetes:master Jul 8, 2022
SIG Node CI/Test Board automation moved this from PRs Waiting on Author to Done Jul 8, 2022
SIG Node PR Triage automation moved this from Triage to Done Jul 8, 2022
SIG Auth Old automation moved this from Changes Requested to Closed / Done Jul 8, 2022
@k8s-ci-robot k8s-ci-robot added this to the v1.25 milestone Jul 8, 2022
@chendave chendave deleted the ginkgo_upstream branch July 8, 2022 07:30
@aojea
Copy link
Member

aojea commented Jul 10, 2022

sorry for missing the pings, I was out on vacation, glad to see this has merged 👏

@chendave
Copy link
Member Author

Added one action item,

ACTION REQUIRED: Ginkgo V2 doesn't accept go test's `-parallel` flags to parallelize Ginkgo specs, please switch to use `ginkgo -p` or `ginkgo -procs=N` instead.

based on what we observed here: #111040

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. area/apiserver area/cloudprovider area/code-generation area/conformance Issues or PRs related to kubernetes conformance tests area/dependency Issues or PRs related to dependency changes area/e2e-test-framework Issues or PRs related to refactoring the kubernetes e2e test framework area/kubeadm area/kubectl area/network-policy Issues or PRs related to Network Policy subproject area/test cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/feature Categorizes issue or PR as related to a new feature. lgtm "Looks good to me", indicates that a PR is ready to be merged. needs-priority Indicates a PR lacks a `priority/foo` label and requires one. release-note-action-required Denotes a PR that introduces potentially breaking changes that require user action. sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. sig/apps Categorizes an issue or PR as relevant to SIG Apps. sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. sig/auth Categorizes an issue or PR as relevant to SIG Auth. sig/autoscaling Categorizes an issue or PR as relevant to SIG Autoscaling. sig/cli Categorizes an issue or PR as relevant to SIG CLI. sig/cloud-provider Categorizes an issue or PR as relevant to SIG Cloud Provider. sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. sig/instrumentation Categorizes an issue or PR as relevant to SIG Instrumentation. sig/network Categorizes an issue or PR as relevant to SIG Network. sig/node Categorizes an issue or PR as relevant to SIG Node. sig/release Categorizes an issue or PR as relevant to SIG Release. sig/scheduling Categorizes an issue or PR as relevant to SIG Scheduling. sig/storage Categorizes an issue or PR as relevant to SIG Storage. sig/testing Categorizes an issue or PR as relevant to SIG Testing. sig/windows Categorizes an issue or PR as relevant to SIG Windows. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
Archived in project
Archived in project
SIG Auth Old
Closed / Done
Development

Successfully merging this pull request may close these issues.

Updating the test framework to ginkgo 2.0