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

[RFE] Support other distributions #126

Open
nmorey opened this issue Apr 28, 2021 · 8 comments
Open

[RFE] Support other distributions #126

nmorey opened this issue Apr 28, 2021 · 8 comments
Assignees
Labels
enhancement New feature or request

Comments

@nmorey
Copy link

nmorey commented Apr 28, 2021

Is your feature request related to a problem? Please describe.
OpenFabrics is planning to use Beaker to automated RDMA kernel testing and to provide a dev/test/debug cluster for the OpenFabrics members.
As SUSE is interested in taking part in this, we would need Beaker to support other distros then RH based.
SUSE would obviously contribute for the autoyast part.

Describe the solution you'd like
Be able to deploy non RH-based distributions using Beaker

@nmorey nmorey added the enhancement New feature or request label Apr 28, 2021
@StykMartin StykMartin self-assigned this Apr 28, 2021
@JohnVillalovos
Copy link
Collaborator

That would be very cool to get SuSE support. I took a stab it in the past and the XML based autoyast confused me 😵

At the moment we are able to install Debian 10.X and Ubuntu 18.04 using Beaker. Probably could also install 20.04 but I would have to research that more as they changed the installer but I think it is possible to still be able to use deb-install on 20.04, but not 100% sure.

@StykMartin
Copy link
Contributor

I wouldn't like to dive into Ampere provisioning here. That's definitely not supported directly by Beaker. You hacked it a lot. @JohnVillalovos

@JohnVillalovos
Copy link
Collaborator

I wouldn't like to dive into Ampere provisioning here. That's definitely not supported directly by Beaker. You hacked it a lot. @JohnVillalovos

I tried to upstream all of our work though. The infrastructure is there, though the documentation is missing to be sure 😟

I think the biggest thing missing is likely the "kickstart" template file. I don't think I submitted that as it is not generic at this point. It needs work to make it templatable like the standard kickstart templates.

@nmorey
Copy link
Author

nmorey commented Apr 29, 2021

That would be very cool to get SuSE support. I took a stab it in the past and the XML based autoyast confused me dizzy_face

That's great to hear. I wouldn't be able to help you on Autoyast directly as I have very little experience with it myself, but I think we should be able to find someone at SUSE who knows a thing or two about it :)
I'll knock on a few doors internally and try to find someone who can help

@StykMartin
Copy link
Contributor

Making this work natively in Beaker will be more complicated than Autoyast. I believe there is tooling that we can use at least for validation.

I would like to know which SuSE version is a baseline for integration and where we can get the copies.
Will we need multiarch or x86_64 only?
Is there any metadata around the composes, as Fedora/RHEL/CentOS has.

@nmorey
Copy link
Author

nmorey commented Apr 29, 2021

I would like to know which SuSE version is a baseline for integration and where we can get the copies.

Tumbleweed is probably the target to start with. All the SLES/Leap inherits from it. So once Tumbleweed works, at least all future SUSE release should do too.

Will we need multiarch or x86_64 only?

At the moment x86_64 should be enough. I saw that you have an RFE for multiarch so we'll see then :)

Is there any metadata around the composes, as Fedora/RHEL/CentOS has.
I don't know what that is so can't say.

@StykMartin
Copy link
Contributor

File describing the distribution.
http://ftp.cvut.cz/centos/8.3.2011/BaseOS/x86_64/os/.treeinfo
For example

[checksums]
images/boot.iso = sha256:2b801bc5801816d0cf27fc74552cf058951c42c7b72b1fe313429b1070c3876c
images/efiboot.img = sha256:3b400994d93956d1a3c59d3c7fbefe1a73e287b2b2b0dedea7d16ef5042cb3c9
images/install.img = sha256:60115a4c57495f4ae4fa2a8b169523267b07b47b8333c9189a4586f54a8cc29f
images/pxeboot/initrd.img = sha256:31cb34ff174707a7846483a81579a124c0beea4cc1030f1884103a9a0622de47
images/pxeboot/vmlinuz = sha256:40fa3404fa9686065d95b9dc2caa97a08680b7e8566baa2c3f09ff48fd660d48

[general]
arch = x86_64
family = CentOS Linux
name = CentOS Linux 8
packagedir = Packages
platforms = x86_64,xen
repository = .
timestamp = 1605735523
variant = BaseOS
variants = BaseOS
version = 8

[header]
type = productmd.treeinfo
version = 1.2

[images-x86_64]
boot.iso = images/boot.iso
efiboot.img = images/efiboot.img
initrd = images/pxeboot/initrd.img
kernel = images/pxeboot/vmlinuz

[images-xen]
initrd = images/pxeboot/initrd.img
kernel = images/pxeboot/vmlinuz

[release]
name = CentOS Linux
short = CentOS
version = 8

[stage2]
mainimage = images/install.img

[tree]
arch = x86_64
build_timestamp = 1605735523
platforms = x86_64,xen
variants = BaseOS,AppStream

[variant-BaseOS]
id = BaseOS
name = BaseOS
packages = Packages
repository = .
type = variant
uid = BaseOS

[variant-AppStream]
id = AppStream
name = AppStream
packages = ../../../AppStream/x86_64/os/Packages
repository = ../../../AppStream/x86_64/os/
type = variant
uid = AppStream

@desnesn
Copy link

desnesn commented Aug 12, 2022

@StykMartin @nmorey @JohnVillalovos

It seems that Beaker is on a maintenance state nowadays (specially upstream); thus, as far as I know, new features like these will hardly be ever implemented.

Nonetheless, I don't know if this still in your radar, but as a side project in my company, since we had the necessity, we tackled non-RHEL support on Beaker on the past year.

In summary, among other things, we implemented SLES and Ubuntu support :-)
The beaker dn fork is able to generate autoyasts and autoinstalls automatically, just like Beaker does kickstarts by default.
Also, we tweaked Fedora installations to use upstream repos; and also enabled CentoStream to be fetched directly from the external repos (with an ugly hack).

I have built binaries of an open sourced version of these patches at:

Furthermore, the COPR can be enabled with:

dnf copr enable desnesn/beaker.dn

If someone plans to use this, read the setup instructions carefully on the beaker.dn.rpms repo linked above, to really understand what was tweaked, as well as to fetch the SLES/Ubuntu custom harness packages.

Needless to say, there is no guarantees whatsoever of this tweaked usage.

Enjoy \o/

PS: downside is that we mostly used this to provision ppc64le guests, thus for other arches, the autoyast and autoinstall will likely need patches.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants