-
Notifications
You must be signed in to change notification settings - Fork 186
New operating system enablement
It is often requested to add a new Linux distribution or even different operating system to Uyuni.
This wiki page describes what is required to enable an operating system, using Manjaro Linux as the example.
Manjaro is based on Arch Linux and Salt supports Arch Linux, so as of this writing (07.02.2020), Manjaro might work as a Salt client. It will be limited, though.
There is currently no support for mirroring Manjaro repositories, as the package format is completely different.
Alternatives:
- Add proper support to spacewalk-repo-sync (preferred)
- Implement a different spacewalk-repo-sync and run it as a cron job. These can be usedas a starting point:
- Mirror the repositories using some other tool and configure the clients to use upstream repositories
- No mirroring of repositories at all and just configure the clients to use upstream repositories
Content Lifecycle Management functionality is completely dependent on how good the implementation of reposync for Manjaro is.
Also, it's important to look at the package version comparison algorithm used by Manjaro: if it's different from the one used by RPMs and DEBs, then implementation is required. Read the discussion in https://github.com/uyuni-project/uyuni/pull/1412 for more details.
Currently, there is no bootstrap repository for Manjaro (same as Debian), so clients will need to be bootstrapped manually (i. e. install Salt on the client, then accept the key in the server).
Bootstrap repositories may go away in the near future, so it might very well be the case that this is no longer a problem for Debian, Manjaro or any other operating system.
No Salt packages are available from Uyuni.
Arch Linux (base for Manjaro) includes Salt packages but they are missing the Uyuni patches (fixes and some new features, e. g. virtualization).
Recommendation: take the Arch package, add Uyuni's patches and build your own packages. Not trivial.
https://www.archlinux.org/packages/community/any/salt/ https://build.opensuse.org/package/show/systemsmanagement:saltstack:testing/salt
No patch information is available for Manjaro, so no CVE audit capabilities (same as Debian and Ubuntu, the patches concept does not exist on those OSs). It can be implemented externally, similar to the external service we documented for CentOS: https://www.uyuni-project.org/uyuni-docs/uyuni/client-configuration/clients-centos.html#_manage_errata
For Manjaro, it will have to be implemented on the Server side. It is not too complex, actually, as the CVE information can be obtained from Arch Linux (https://security.archlinux.org) which is the base for Manjaro. These scripts can be used as a starting point: https://github.com/rust84/spacewalk-scripts
Adding support for a new operating system is not a trivial task, especially if the package manager is completely new (i. e. not RPM or DEB).
If you still want to proceed, go for it! And join and ask our community resources: GitHub repository, mailing lists, IRC and Gitter.