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

ZTS: Add archlinux #16816

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

ZTS: Add archlinux #16816

wants to merge 2 commits into from

Conversation

Kaz205
Copy link

@Kaz205 Kaz205 commented Nov 28, 2024

Motivation and Context

Arch Linux gets newer kernels faster than other distros.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Performance enhancement (non-breaking change which improves efficiency)
  • Code cleanup (non-breaking change which makes code smaller or more readable)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Library ABI change (libzfs, libzfs_core, libnvpair, libuutil and libzfsbootenv)
  • Documentation (a change to man pages or other documentation)

Checklist:

@n0xena
Copy link

n0xena commented Nov 28, 2024

you might want to have a read: https://github.com/orgs/archzfs/discussions/555
the archzfs team is on it - and for now the gist is: the main branch will be the latest stable zfs upstream release (currently 2.2.6) with the latest archlinux lts kernel (currently 6.6.x) - anything else will be at least unstable or even experimental
if you want to use zfs on arch 6.12 right now: https://github.com/n0xena/archzfs/releases

@snajpa
Copy link
Contributor

snajpa commented Nov 28, 2024

Fedora has pretty new kernels too... what we need is to test these new kernels under load, since that is how many of the problems with them manifest - low memory conditions, a lot of churn generally

With that said, I have no objection to adding Arch, agree that the sooner problems are found the better

@Kaz205 would you be around to maintain it? I'd guess it could require regular maintenance since it's a fast moving target

@Harry-Chen
Copy link
Contributor

You might want to add ZFS-CI-Type: full to any of your commits, so that a full CI (including newly added archlinux) will run against your PR.

@sempervictus
Copy link
Contributor

Aside from newer kernels, arch also has newer tool chains which can help identify logic or binary problems during the build and test steps.

Copy link
Contributor

@behlendorf behlendorf left a comment

Choose a reason for hiding this comment

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

We can try enabling builds for Arch. Can you just add ZFS-CI-Type: full to the commit message as suggested and force update the CI to trigger a full run on all platforms including Arch.

@@ -56,7 +56,8 @@ function linux() {
--prefix=/usr \
--enable-pyzfs \
--enable-debug \
--enable-debuginfo
--enable-debuginfo \
--sysconfdir=/etc
Copy link
Contributor

Choose a reason for hiding this comment

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

Why is this needed on Arch but not elsewhere?

Copy link
Author

Choose a reason for hiding this comment

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

Looks like the configs get installed to /usr/etc/zfs instead of /etc/zfs.

Copy link
Contributor

Choose a reason for hiding this comment

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

This looks good and should be applied I think.

@behlendorf behlendorf added Status: Code Review Needed Ready for review and testing Status: Revision Needed Changes are required for the PR to be accepted labels Dec 2, 2024
@github-actions github-actions bot removed the Status: Revision Needed Changes are required for the PR to be accepted label Dec 3, 2024
@Kaz205
Copy link
Author

Kaz205 commented Dec 3, 2024

Sorry for the late response.

Fedora has pretty new kernels too... what we need is to test these new kernels under load, since that is how many of the problems with them manifest - low memory conditions, a lot of churn generally

Maybe add something like "mem=1G" to the kernel cmdline?

With that said, I have no objection to adding Arch, agree that the sooner problems are found the better

@Kaz205 would you be around to maintain it? I'd guess it could require regular maintenance since it's a fast moving target

How much maintenance would this require? I was planning for this to be a one-off thing.

We can try enabling builds for Arch. Can you just add ZFS-CI-Type: full to the commit message as suggested and force update the CI to trigger a full run on all platforms including Arch.

Done.

@tonyhutter
Copy link
Contributor

tonyhutter commented Dec 3, 2024

Since we don't officially support Arch, and it's going to have a lot of churn, it would be good to name the runner in such a way so that people don't freak out if it doesn't pass, like:

 qemu-x86 (ArchLinux - doesn't need to pass) Expected — Waiting for status to be reported 

I'm open to other ways to do this too.

@snajpa
Copy link
Contributor

snajpa commented Dec 4, 2024

I guess the primary question is what are you expecting Arch will provide. If it's the ability to use OpenZFS with new kernels reliably, then I think this doesn't do anything to help on that front. If it's to make sure it compiles OK on new kernels, OK, that will work.

But if you're after actual reliability, then I'd say we need more help, a kernel param doesn't move the needle either.

Those bugs that really hinder uptime because you hit them just enough to be annoying or outright damaging to operations, but not as easy enough to be able to reproduce them easily, those are the worst and those take some effort to debug. The sooner we can uncover those, the better. Knowing on which commit things break without having to bisect for it with tests that take hours is priceless :)) And that is where we could IMO do better. This class of bugs doesn't eat data or corrupt what's on disk, but uptime is a reliability metric too :)

Oftentimes that only happens after a certain amount of (meta)data turnover, or you only notice if you run without init_on_alloc/init_on_free, or some other subtly changed kernel config.

If it's enough for you to know it compiles and runs the current test suite, OK - it looks like there isn't much to maintain overall, other than the package list, which doesn't seem difficult.

Copy link
Contributor

@mcmilk mcmilk left a comment

Choose a reason for hiding this comment

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

The first two commits look fine. But adding archlinux within the testings seems to much for me.

@@ -56,7 +56,8 @@ function linux() {
--prefix=/usr \
--enable-pyzfs \
--enable-debug \
--enable-debuginfo
--enable-debuginfo \
--sysconfdir=/etc
Copy link
Contributor

Choose a reason for hiding this comment

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

This looks good and should be applied I think.

@@ -22,7 +22,7 @@ jobs:
- name: Generate OS config and CI type
id: os
run: |
FULL_OS='["almalinux8", "almalinux9", "centos-stream9", "debian11", "debian12", "fedora40", "fedora41", "freebsd13-4r", "freebsd14-0r", "freebsd14-1s", "ubuntu20", "ubuntu22", "ubuntu24"]'
FULL_OS='["almalinux8", "almalinux9", "archlinux", "centos-stream9", "debian11", "debian12", "fedora40", "fedora41", "freebsd13-4r", "freebsd14-0r", "freebsd14-1s", "ubuntu20", "ubuntu22", "ubuntu24"]'
Copy link
Contributor

Choose a reason for hiding this comment

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

Archlinux is most of the time ahead our linux-max version in the META file.
I don't think it's useful for the OpenZFS repository. You can add archlinux within you own Actions for testings an so on.

Copy link
Author

Choose a reason for hiding this comment

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

You can add archlinux within you own Actions for testings an so on.

Sounds good to me. Thanks for the review.

@mcmilk
Copy link
Contributor

mcmilk commented Dec 21, 2024

@Kaz205 - could you reabse without the last commit? That would be fine.

On Linux distros like Arch Linux, files that should be in /etc/zfs end
up being installed in /usr/etc/zfs. Specifying sysconfdir path fixes it.

Signed-off-by: Kazuki Hashimoto <[email protected]>
@Kaz205
Copy link
Author

Kaz205 commented Dec 21, 2024

@Kaz205 - could you reabse without the last commit? That would be fine.

Done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Code Review Needed Ready for review and testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants