Skip to content

Update lifecycle release selector for s390x #2232

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

aditi-sharma-1
Copy link

What this PR does / why we need it:

Full support for the s390x architecture is available starting from CNAO v0.98.2.

This pull request updates the lifecycle CI pipeline and end-to-end test configurations to use v0.98.2 as the starting version for s390x, so that tests can run successfully. These changes help improve compatibility for the s390x architecture.

Release note:

NONE

Previous CNAO versions did not fully support the s390x architecture. Full support has been added starting from v0.98.2.
This pull request sets v0.98.2 as the starting version in the lifecycle CI pipeline and the end-to-end test configurations for s390x, ensuring that tests run successfully. These changes improve compatibility for this architecture.

Signed-off-by: Aditi Sharma <Aditi.Sharma@ibm.com>
@kubevirt-bot kubevirt-bot added release-note-none Denotes a PR that doesn't merit a release note. dco-signoff: yes Indicates the PR's author has DCO signed all their commits. labels Apr 9, 2025
@kubevirt-bot
Copy link
Collaborator

Hi @aditi-sharma-1. Thanks for your PR.

PRs from untrusted users cannot be marked as trusted with /ok-to-test in this repo meaning untrusted PR authors can never trigger tests themselves. Collaborators can still trigger tests on the PR using /test all.

I understand the commands that are listed here.

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-sigs/prow repository.

@kubevirt-bot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign qinqon for approval. For more information see the Code Review Process.

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

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Copy link

sonarqubecloud bot commented Apr 9, 2025

@@ -28,7 +28,14 @@ main() {
export E2E_TEST_TIMEOUT=4h
else
# Don't run all upgrade tests in regular PRs, stick to those released under HCO
export RELEASES_SELECTOR="{0.89.3,0.91.1,0.93.0,0.95.0,99.0.0}"
case "$(go env GOARCH)" in
Copy link
Collaborator

@oshoval oshoval Apr 9, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks

instead the change please consider exporting the RELEASES_SELECTOR you want in the s390x lane
i do understand that you will need to update it from time to time, but it can be nicer
wdyt ?

alternative is to auto detect if a release has s390x and skip it if not, and then no need additional changes anymore
It will be best if we can find something minimal that does the job please

cc @RamLavi wdyt?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good suggestion!

I think we can approach it like this:

  1. Add version 0.98.2 to the list in check-patch.e2e-lifecycle-k8s.sh.

if we don't want to do that then we can skip lifecycle for s390x as s390x supported version 0.98.2 is not release under HCO yet

if we are okay with 1 then
For the s390x Prow lane, we can use RELEASES_DESELECTOR env instead of RELEASES_SELECTOR:

if releasesDeselectorRaw, found := os.LookupEnv("RELEASES_DESELECTOR"); found {

However, one issue I noticed is that 0.98.2 is not currently part of the populated release list. not sure why ???
You can confirm that from the output shown here: https://sharepad.io/p/5L7nfm9

It seems that the version isn't added in the releases initialization:

Expect(validateReleasesSelector(releases, releasesSelectorRaw)).NotTo(HaveOccurred())

So before anything else, we’ll need to ensure 0.98.2 is included in the releases definition.

Copy link
Collaborator

@oshoval oshoval Apr 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for looking on it deeply

0.98.2 is just a release on main, so HCO can consume it, since it doesnt belong to a stable branch we should not add it to RELEASES_SELECTOR

Please just set RELEASES_SELECTOR as you wish in the job, but make sure please that someone maintains it

Possible idea for the future - to think on a way that auto select the 3 latest stable branches that are formal, or at least to have one place where we add it manually in the beginning and from there, helper scripts are populating it to the required place, i.e 390x lane

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just setting export RELEASES_SELECTOR=0.98.2 is not working, it is failing at below check, as explained earlier

Expect(validateReleasesSelector(releases, releasesSelectorRaw)).NotTo(HaveOccurred())

Setting RELEASES_SELECTOR alone won't work until we add 0.98.2 to the populated releases list.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can't add it
we add only latest patch on stables and this isn't stable

can you please try to think about other way / debug it deeper ?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@RamLavi wdyt ?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we should use 0.98.2, as @oshoval said.
The first release that will have a stable branch AND support the new arch - IIUC is the next one (0.99.0) - which is currently pending merge (once quay outage is over it sould be merged quickly).
I suggest to use that version instead

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0.99 is out (well on main still)
once there is a stable branch
#2284
and then we can try according suggested in this thread ?
(strive to keep it as simple as possible please, and as low maintenance we need)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

okay, noted.

@oshoval oshoval mentioned this pull request May 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dco-signoff: yes Indicates the PR's author has DCO signed all their commits. release-note-none Denotes a PR that doesn't merit a release note. size/S
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants