kubevirt / project-infra

Project infrastructure administrative tools
Apache License 2.0
25 stars 134 forks source link

kubevirt: Add optional kubernetes 1.31 presubmits & periodics #3543

Closed brianmcarey closed 1 month ago

brianmcarey commented 1 month ago

What this PR does / why we need it:

Lanes created by manually running the following:

bazel run //robots/cmd/kubevirt copy jobs -- --job-config-path-kubevirt-presubmits=$(pwd)/github/ci/prow-deploy/files/jobs/kubevirt/kubevirt/kubevirt-presubmits.yaml --job-config-path-kubevirt-periodics=$(pwd)/github/ci/prow-deploy/files/jobs/kubevirt/kubevirt/kubevirt-periodics.yaml --github-token-path= --k8s-release-semver 1.31 --dry-run=false

The k8s-1.31 provider has been added to the kubevirt repo[1]

[1] https://github.com/kubevirt/kubevirt/pull/12408

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged): Fixes #

Special notes for your reviewer: /cc @dhiller @xpivarc

Checklist

This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR. Approvers are expected to review this list.

Release note:

brianmcarey commented 1 month ago

/rehearse ?

kubevirt-bot commented 1 month ago

Rehearsal is available for the following jobs in this PR:

pull-kubevirt-e2e-k8s-1.31-sig-storage
pull-kubevirt-e2e-k8s-1.31-sig-network
pull-kubevirt-e2e-k8s-1.31-sig-operator
pull-kubevirt-e2e-k8s-1.31-sig-compute

You can trigger rehearsal for all jobs by commenting either /rehearse or /rehearse all on this PR.

For a specific PR you can comment /rehearse {job-name}.

For a list of jobs that you can rehearse you can comment /rehearse ?.

brianmcarey commented 1 month ago

/rehearse

kubevirt-bot commented 1 month ago

Rehearsal jobs created for this PR:

rehearsal-pull-kubevirt-e2e-k8s-1.31-sig-network
rehearsal-pull-kubevirt-e2e-k8s-1.31-sig-storage
rehearsal-pull-kubevirt-e2e-k8s-1.31-sig-compute
rehearsal-pull-kubevirt-e2e-k8s-1.31-sig-operator

You can trigger rehearsal for all jobs by commenting either /rehearse or /rehearse all on this PR.

For a specific PR you can comment /rehearse {job-name}.

For a list of jobs that you can rehearse you can comment /rehearse ?.

kubevirt-bot commented 1 month ago

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: dhiller

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files: - ~~[github/ci/prow-deploy/files/jobs/kubevirt/kubevirt/OWNERS](https://github.com/kubevirt/project-infra/blob/main/github/ci/prow-deploy/files/jobs/kubevirt/kubevirt/OWNERS)~~ [dhiller] Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment
kubevirt-bot commented 1 month ago

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

Test name Commit Details Required Rerun command
rehearsal-pull-kubevirt-e2e-k8s-1.31-sig-storage 51641d6d2b6167860e900ed87a54c9ba36c9c19d link unknown /test pull-kubevirt-e2e-k8s-1.31-sig-storage
Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
brianmcarey commented 1 month ago

@dhiller - there is 1 test failure on the 1.31-sig-storage lane but apart from that the rest of the lanes look good.

I think it is worth adding the lanes to get more data - also having a presubmit available will help sig-storage with troubleshooting the test failure. WDYT?

cc @awels @akalenyu

akalenyu commented 1 month ago

@dhiller - there is 1 test failure on the 1.31-sig-storage lane but apart from that the rest of the lanes look good.

I think it is worth adding the lanes to get more data - also having a presubmit available will help sig-storage with troubleshooting the test failure. WDYT?

cc @awels @akalenyu

Very weird. Don't see where 1.31 would have an integration point with that simple flow. Maybe PVCs are dangling for a long time, since I don't see CloneWithoutSource events anywhere. Can I get 1.31 on kubevirt main today? so I could debug it locally?

brianmcarey commented 1 month ago

@dhiller - there is 1 test failure on the 1.31-sig-storage lane but apart from that the rest of the lanes look good. I think it is worth adding the lanes to get more data - also having a presubmit available will help sig-storage with troubleshooting the test failure. WDYT? cc @awels @akalenyu

Very weird. Don't see where 1.31 would have an integration point with that simple flow. Maybe PVCs are dangling for a long time, since I don't see CloneWithoutSource events anywhere. Can I get 1.31 on kubevirt main today? so I could debug it locally?

The beta provider is available in kubevirt/kubevirt - KUBEVIRT_PROVIDER=k8s-1.31

akalenyu commented 1 month ago

Maybe PVCs are dangling for a long time, since I don't see CloneWithoutSource events anywhere.

Yeah the PVC hanging for a few extra seconds was it. I was able to reproduce locally and could fix it with

$ git diff
diff --git a/tests/storage/datavolume.go b/tests/storage/datavolume.go
index ab0a8d2cdd..0a585c41dc 100644
--- a/tests/storage/datavolume.go
+++ b/tests/storage/datavolume.go
@@ -955,6 +955,7 @@ var _ = SIGDescribe("DataVolume Integration", func() {
                                }
                                err = virtClient.CoreV1().PersistentVolumeClaims(testsuite.NamespaceTestAlternative).Delete(context.Background(), dataVolume.Name, metav1.DeleteOptions{})
                                Expect(err).ToNot(HaveOccurred())
+                               Eventually(ThisPVCWith(testsuite.NamespaceTestAlternative, dataVolume.Name), 10*time.Second, 1*time.Second).Should(BeGone())

                                // We check if the VM is succesfully created
                                By("Creating VM")

So it appears that in 1.31 (at least on my machine) it takes the PVC 3 seconds to complete the deletion as opposed to almost instantly on 1.30

dhiller commented 1 month ago

/unhold

brianmcarey commented 1 month ago

/override rehearsal-pull-kubevirt-e2e-k8s-1.31-sig-storage

thanks for taking a look into it @akalenyu - we are going to go ahead and merge this PR so we can get more results for the k8s-1.31 provider - as this is a beta provider, it may improve when the 1.31 rc become available.

kubevirt-bot commented 1 month ago

@brianmcarey: Overrode contexts on behalf of brianmcarey: rehearsal-pull-kubevirt-e2e-k8s-1.31-sig-storage

In response to [this](https://github.com/kubevirt/project-infra/pull/3543#issuecomment-2247405582): >/override rehearsal-pull-kubevirt-e2e-k8s-1.31-sig-storage > >thanks for taking a look into it @akalenyu - we are going to go ahead and merge this PR so we can get more results for the k8s-1.31 provider - as this is a beta provider, it may improve when the 1.31 rc become available. Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository.
kubevirt-bot commented 1 month ago

@brianmcarey: Updated the job-config configmap in namespace kubevirt-prow at cluster default using the following files:

In response to [this](https://github.com/kubevirt/project-infra/pull/3543): >**What this PR does / why we need it**: > >Lanes created by manually running the following: >``` >bazel run //robots/cmd/kubevirt copy jobs -- --job-config-path-kubevirt-presubmits=$(pwd)/github/ci/prow-deploy/files/jobs/kubevirt/kubevirt/kubevirt-presubmits.yaml --job-config-path-kubevirt-periodics=$(pwd)/github/ci/prow-deploy/files/jobs/kubevirt/kubevirt/kubevirt-periodics.yaml --github-token-path= --k8s-release-semver 1.31 --dry-run=false >``` > >The k8s-1.31 provider has been added to the kubevirt repo[1] > >[1] https://github.com/kubevirt/kubevirt/pull/12408 > >**Which issue(s) this PR fixes** *(optional, in `fixes #(, fixes #, ...)` format, will close the issue(s) when PR gets merged)*: >Fixes # > >**Special notes for your reviewer**: >/cc @dhiller @xpivarc > >**Checklist** > >This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR. >Approvers are expected to review this list. > >- [ ] Design: A [design document](https://github.com/kubevirt/community/tree/main/design-proposals) was considered and is present (link) or not required >- [ ] PR: The PR description is expressive enough and will help future contributors >- [ ] Code: [Write code that humans can understand](https://en.wikiquote.org/wiki/Martin_Fowler#code-for-humans) and [Keep it simple](https://en.wikipedia.org/wiki/KISS_principle) >- [ ] Refactor: You have [left the code cleaner than you found it (Boy Scout Rule)](https://learning.oreilly.com/library/view/97-things-every/9780596809515/ch08.html) >- [ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required >- [ ] Testing: New code requires [new unit tests](https://github.com/kubevirt/kubevirt/blob/main/docs/reviewer-guide.md#when-is-a-pr-good-enough). New features and bug fixes require at least on e2e test >- [ ] Documentation: A [user-guide update](https://github.com/kubevirt/user-guide/) was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change. >- [ ] Community: Announcement to [kubevirt-dev](https://groups.google.com/g/kubevirt-dev/) was considered > >**Release note**: > >```release-note > >``` > Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository.