Skip to content

[v5.4-rhel] Enable system tests on RHEL envs with TMT #26183

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

Draft
wants to merge 3 commits into
base: v5.4-rhel
Choose a base branch
from

Conversation

lsm5
Copy link
Member

@lsm5 lsm5 commented May 22, 2025

Does this PR introduce a user-facing change?

None

@openshift-ci openshift-ci bot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. release-note-none labels May 22, 2025
Copy link

Failed to load packit config file:

Cannot parse package config. ValidationError({'jobs[0].packages': 'Undefined package(s) referenced: podman-rhel.', 'jobs[1].packages': 'Undefined package(s) referenced: podman-rhel.'})

For more info, please check out the documentation or contact the Packit team. You can also use our CLI command config validate or our pre-commit hooks for validation of the configuration.

Copy link
Contributor

openshift-ci bot commented May 22, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: lsm5

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:

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

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 22, 2025
This reverts commit 64aaa45.

Signed-off-by: Lokesh Mandvekar <[email protected]>
@lsm5 lsm5 force-pushed the v5.4-rhel-tmt branch 3 times, most recently from f8c817f to e823b71 Compare May 22, 2025 14:45
Copy link

Ephemeral COPR build failed. @containers/packit-build please check.

Copy link

Tests failed. @containers/packit-build please check.

Copy link

Ephemeral COPR build failed. @containers/packit-build please check.

@lsm5 lsm5 force-pushed the v5.4-rhel-tmt branch 2 times, most recently from 85de7cb to 9bc6d8a Compare May 22, 2025 20:18
@Luap99
Copy link
Member

Luap99 commented May 26, 2025

We either must reconfigure merge protection to be turned off or hard code the tasks names there to the tmt ones for all rhel branches. I guess for RHEL branches the task names don't change so setting up branch protection and for each branch will be acceptable. (And I guess long term we wanted to drop the RHEL branches from the main repo here anyway so this would not be a forever situation)

Also why are we testing epel and nightly branches, would it not make much more sense to target the actual branches this version is being shipped in? I would expect to be tested against RHEL 9.6/10.0 only. That way we know the right go version is being used and the tests pass on the final version that should massively reduce any post merge surprises.

@Luap99
Copy link
Member

Luap99 commented May 26, 2025

Oh on other thing there is must include Jira link for RHEL CI setup via cirrus via the auto team. I am not sure what our commitment there is/was but I think we must have a way to ensure that only RHEL Jira approved changes can get merged.

@lsm5
Copy link
Member Author

lsm5 commented May 26, 2025

We either must reconfigure merge protection to be turned off or hard code the tasks names there to the tmt ones for all rhel branches. I guess for RHEL branches the task names don't change so setting up branch protection and for each branch will be acceptable. (And I guess long term we wanted to drop the RHEL branches from the main repo here anyway so this would not be a forever situation)

Agreed.

Also why are we testing epel and nightly branches, would it not make much more sense to target the actual branches
this version is being shipped in?

RE: epel, the way copr is setup, epel jobs are the most convenient for RHEL testing. The copr epel targets are RHEL + EPEL.

RE: nightly compose, the current rhel-10-main and rhel-9-main have v5.4, so I've enabled them here atm.

I would expect to be tested against RHEL 9.6/10.0 only. That way we know the right go version is being used and the tests pass on the final version that should massively reduce any post merge surprises.

Yup, I'll enable the other relevant targets too.

Eventually, it would be good to add these jobs in the main branch along with Packit's PR-label-based job triggers, which would make it a lot easier to enable these jobs whenever we cut a new rhel maint branch, instead of adding such a change separately to every new rhel branch.

Oh on other thing there is must include Jira link for RHEL CI setup via cirrus via the auto team. I am not sure what our commitment there is/was but I think we must have a way to ensure that only RHEL Jira approved changes can get merged.

I'll look into that. Thanks.

@lsm5
Copy link
Member Author

lsm5 commented May 26, 2025

Eventually, it would be good to add these jobs in the main branch along with Packit's PR-label-based job triggers, which would make it a lot easier to enable these jobs whenever we cut a new rhel maint branch, instead of adding such a change separately to every new rhel branch.

I'm also checking with the packit team about additional workflow options which could possibly help us maintain the official rpm through the rhel maint branch itself instead of having 2 separate repos. If we move hosting for rhel branches elsewhere, then of course my quoted comment won't be relevant.

@Luap99
Copy link
Member

Luap99 commented May 27, 2025

Eventually, it would be good to add these jobs in the main branch along with Packit's PR-label-based job triggers, which would make it a lot easier to enable these jobs whenever we cut a new rhel maint branch, instead of adding such a change separately to every new rhel branch.

I mean we talk about a branch once every six months so I would not worry about that.

If we move hosting for rhel branches elsewhere, then of course my quoted comment won't be relevant.

I think we must, given CNCF we cannot really have RHEL specific code in the same repo. Basic access rule would not work out. And I think that is actually a strong point in favour of tmt. Because we can easily switch to the centos gitlab or whatever and keep using the same packit/tmt config and infra I assume. And then we can have proper merge protection on such new repo for tmt based tasks.

@lsm5 lsm5 force-pushed the v5.4-rhel-tmt branch 3 times, most recently from 55d7e39 to 35d5205 Compare June 5, 2025 18:18
Copy link

Failed to load packit config file:

Please correct data and retry.

For more info, please check out the documentation or contact the Packit team. You can also use our CLI command config validate or our pre-commit hooks for validation of the configuration.

@lsm5 lsm5 force-pushed the v5.4-rhel-tmt branch 7 times, most recently from 6bbec66 to 248fbd1 Compare June 6, 2025 19:21
@lsm5 lsm5 force-pushed the v5.4-rhel-tmt branch 10 times, most recently from 162f195 to 7df52ad Compare June 13, 2025 12:41
@lsm5 lsm5 force-pushed the v5.4-rhel-tmt branch 9 times, most recently from 6affe67 to 7b3b842 Compare June 13, 2025 21:18
@lsm5 lsm5 marked this pull request as ready for review June 13, 2025 22:10
@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 13, 2025
@lsm5
Copy link
Member Author

lsm5 commented Jun 13, 2025

@containers/podman-maintainers PTAL

@lsm5
Copy link
Member Author

lsm5 commented Jun 13, 2025

No rpms are being built here. Just makefile targets as-is.

No rpms are built, tests are run directly on binaries built from
Makefile targets.

RHEL environments are provisioned on internal testing farm.

Signed-off-by: Lokesh Mandvekar <[email protected]>
Comment on lines 13 to 37
bash ./setup.sh &&
make -C $TMT_TREE localsystem
duration: 40m

/sys-rootless-local:
test: >
bash ./setup.sh &&
loginctl enable-linger $ROOTLESS_USER &&
chown -R $ROOTLESS_USER $TMT_TREE &&
su - "$ROOTLESS_USER" -c "CI_DESIRED_NETWORK=netavark make -C $TMT_TREE localsystem"
duration: 40m

/sys-root-remote:
test: >
bash ./setup.sh &&
make -C $TMT_TREE remotesystem
duration: 40m

/sys-rootless-remote:
test: >
bash ./setup.sh &&
loginctl enable-linger $ROOTLESS_USER &&
chown -R $ROOTLESS_USER $TMT_TREE &&
su - "$ROOTLESS_USER" -c "CI_DESIRED_NETWORK=netavark make -C $TMT_TREE remotesystem"
duration: 40m
Copy link
Member

Choose a reason for hiding this comment

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

Why doesn't this use the actual rpm build?
I think that is likely causing some of your testing issues. I would assume if this is using podman-tests like done on main/gating tests.

Copy link
Member Author

Choose a reason for hiding this comment

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

That's because using centos stream spec causes problems, mainly centos stream moving to v5.5 etc. and rhel specs aren't accessible. Which is why my comment on the tracker issue about finding a new home and change in process for RHEL branches.

I would have ideally preferred to put this whole thing on hold until we do the process change, but this at least gets us close to cirrus independence.

Packit is not available internally, so if we are moving the rhel branches to somewhere internal, the process change would need us to write our own build rpm job, or borrow the one that's used on centos stream dist-git. So, having some rpm job here would not easily transfer to the new home. So, if we don't use rpms here, it becomes much easier to move rhel branches elsewhere, as TMT jobs get triggered with or without packit.

Copy link
Member

Choose a reason for hiding this comment

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

ack go it, yeah it seems we are a in bit of weird spot right now.

I guess problems will get solved once we have a spec in repo + packit/tmt workflow for RHEL properly worked out, most likely means having an internal repo.

I am ok moving ahead with this but I suggest you ask QE to check all the newly skipped issues so we know if they actually test them or know how to make them pass in a RHEL env.

Copy link
Member Author

Choose a reason for hiding this comment

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

I guess problems will get solved once we have a spec in repo + packit/tmt workflow for RHEL properly worked out, most likely means having an internal repo.

The in-repo spec copy was one option I had in mind, but that could suffer from rot because we don't use the packit process for RHEL and there's risk of that spec being ignored/diverging from official spec. So, ideally it should be a spec that's regularly maintained in the official RHEL process and also easily fetchable.

It would be ideal to have the official rhel sources and the podman RHEL branch be a monorepo, so everyone could work on the same repo, but that process isn't in place yet.

I am ok moving ahead with this but I suggest you ask QE to check all the newly skipped issues so we know if they actually test them or know how to make them pass in a RHEL env.

On it. I'm gonna try running these on their environment tomorrow. Yiqiao said the rootless user is added to wheel in their env, but when I add rootless user to wheel as in 3b6d20c . it skips all of 252-quadlet.bats as in https://artifacts.osci.redhat.com/testing-farm/9b8695bd-3651-45f5-80d0-7505b7b90df7/ . I'll get back to this tomorrow.

Signed-off-by: Lokesh Mandvekar <[email protected]>
@lsm5 lsm5 marked this pull request as draft June 17, 2025 14:30
@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 17, 2025
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. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. release-note-none
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants