Join the Gitter channel! https://gitter.im/uyuni-project/hackweek

Currently there are a few distributions that are completely untested on Uyuni or SUSE Manager (AFAIK) or just not tested since a long time, and could be interesting knowing how hard would be working with them and, if possible, fix whatever is broken.

The idea is testing Salt and Salt-ssh clients, but NOT traditional clients.

To consider that a distribution has basic support, we should cover at least:

  1. Reposync (this will require using spacewalk-common-channels and adding channels to the .ini file)
  2. Onboarding (both salt and salt-ssh) (this will probably require adding OS to the bootstrap repository creator)
  3. Package management
  4. Patching
  5. Applying any basic salt state
  6. Salt remote commands
  7. Bonus point: Java part for product identification, and monitoring enablement
  8. Bonus point: sumaform enablement (https://github.com/uyuni-project/sumaform)
  9. Bonus point: Documentation (https://github.com/uyuni-project/uyuni-docs)
  10. Bonus point: testsuite enablement (https://github.com/uyuni-project/uyuni/tree/master/testsuite)

If something is breaking: we can try to fix it, but the main idea is research how supported it is right now. Beyond that it's up to each project member how much to hack :-)

If you don't have knowledge about some of the steps: ask the team. If you still don't know what to do: switch to another distribution and keep testing. This card is for EVERYONE. Not just developers.

Pending

None

In progress

AlmaLinux9

https://almalinux.org/

PR: https://github.com/uyuni-project/uyuni/pull/5609/

As of today, seems to be the most successful successor to CentOS8

  • [W] Reposync
  • [W] Onboarding (salt bundle and salt-ssh)
  • [W] Package management
  • [W] Patching
  • [W] Applying any basic salt state
  • [W] Salt remote commands

Oracle Linux 9

https://www.oracle.com/linux/

PR: https://github.com/uyuni-project/uyuni/pull/5609/

  • [W] Reposync
  • [W] Onboarding (salt bundle and salt-ssh)
  • [W] Package management
  • [W] Patching
  • [W] Applying any basic salt state
  • [W] Salt remote commands

openEuler

https://www.openeuler.org/en/

PR: https://github.com/uyuni-project/uyuni/pull/5611/

A RHEL based operating system. Last time we checked seemed to be a flateneed CentOS8 (https://github.com/uyuni-project/uyuni/issues/4000)

Ubuntu 22.04

https://releases.ubuntu.com/22.04/

PR: https://github.com/uyuni-project/uyuni/pull/5543

This one should be more or less easy, but it requires an update for python-debian so we can analyze the new control file compressed with ztd.

  • [W] Reposync
  • [W] Onboarding (both salt and salt-ssh) (salt-ssh does not work as non-root, works as root, I created an issue)
  • [W] Package management
  • [W] No patching on Ubuntu yet, but pending updates ae detected
  • [W] Applying any basic salt state
  • [W] Salt remote commands

Astra Linux

https://astralinux.ru/en/

PR: https://github.com/uyuni-project/uyuni/pull/1915

Originally it was a GNU/Linux developed for the Russian army and intelligence agencies, but it now offers a free (as in free beer) version for general usage. It is based on Debian GNU/Linux, so maybe getting some basic support will not be that hard.

Our team in Russia told me about it, so I joined their Telegram support channel some months ago.

Right now there are more than 1600 users at their Telegram channel (linked to Matrix.org with a bridge, which I suspect is what most of the users use) with a lot of traffic each day talking not only about support, but also about news regarding the distribution.

The distribution is now Linux Foundation Corporate Member (Silver).

  • [W] Reposync (this will require using spacewalk-common-channels and adding channels to the .ini file)
    1. After adding the repositories to spacewalk-common-channels works fine.
  • [W] Onboarding (both salt and salt-ssh)
    1. WebUI works (salt and salt-ssh), with some caveats: https://github.com/uyuni-project/uyuni/pull/1915
    2. I can bootstrap using a script.
  • [W] Package management
    1. Works!
  • [ ] Patching
    1. Can't test yet, no patches available.
  • [W] Applying any basic salt state
    1. Works!
  • [W] Salt remote commands
    1. Works!

Already implemented

AlmaLinux8

NOTE: Already implemented

Alibaba Cloud Linux 2

NOTE: Already implemented

Oracle Linux 6/7/8

NOTE: Already implemented

Debian 10/9

NOTE: Already implemented

Others

Interested on testing other distributions? Ping me and let's try.

[W] = works [F] = Fails [P] = in Progress

This project is part of:

Hack Week 19 Hack Week 20 Hack Week 21

Activity

  • 4 months ago: brejoc liked this project.
  • 6 months ago: deneb_alpha liked this project.
  • 6 months ago: mbussolotto liked this project.
  • 6 months ago: juliogonzalezgil added keyword "terraform" to this project.
  • 6 months ago: raulosuna joined this project.
  • over 1 year ago: vzhestkov joined this project.
  • over 1 year ago: j_renner liked this project.
  • almost 2 years ago: juliogonzalezgil added keyword "python" to this project.
  • almost 2 years ago: juliogonzalezgil added keyword "bash" to this project.
  • almost 2 years ago: juliogonzalezgil added keyword "java" to this project.
  • almost 3 years ago: Pharaoh_Atem liked this project.
  • almost 3 years ago: pagarcia liked this project.
  • almost 3 years ago: jcavalheiro liked this project.
  • almost 3 years ago: nicoladm joined this project.
  • almost 3 years ago: keichwa joined this project.
  • almost 3 years ago: keichwa liked this project.
  • almost 3 years ago: nicoladm liked this project.
  • almost 3 years ago: nicoladm disliked this project.
  • almost 3 years ago: nicoladm liked this project.
  • almost 3 years ago: juliogonzalezgil added keyword "testing" to this project.
  • almost 3 years ago: juliogonzalezgil added keyword "linux" to this project.
  • almost 3 years ago: juliogonzalezgil added keyword "management" to this project.
  • almost 3 years ago: juliogonzalezgil added keyword "uyuni" to this project.
  • almost 3 years ago: juliogonzalezgil added keyword "susemanager" to this project.
  • almost 3 years ago: juliogonzalezgil added keyword "distribution" to this project.
  • All Activity

    Comments

    • nicoladm
      almost 3 years ago by nicoladm | Reply

      Hi, nice project. I was trying to help with the debian 9 onboarding testing https://github.com/uyuni-project/uyuni/issues/1356 since the process is still fairly manual. Looks like mgr-create-bootstrap-repo needs tweaking https://github.com/uyuni-project/uyuni/issues/1495 i am not a developer but i can probably tweak scripts and help with some guidance

    • juliogonzalezgil
      almost 3 years ago by juliogonzalezgil | Reply

      Hi @nicoladm

      If that's the only think that's failing, it's not so hard to fix.

      The packages to be added to a bootstrap repository by mgr-create-bootstra-repo are at https://github.com/uyuni-project/uyuni/blob/master/susemanager/src/mgr_bootstrap_data.py

      You just need to add a new variable PKGLISTDEBIAN9 with the list of packages required to bootstrap with salt (salt itself and all dependencies). Most probably the list will be similar to Ubuntu18.04.

      Then at DATA you need a new entry debian8-amd64-uyuni (similar to ubuntu-18.04-amd64-uyuni) using the basechannel debian-9-pool-amd64 and adapting the rest.

      And finally, you maybe you will need to adjust https://github.com/uyuni-project/uyuni/tree/master/susemanager-utils/susemanager-sls/salt/bootstrap (specifically init.sls) if the bootstrap procedure itself fails to find the repository.

      It would be good if you can add both Debian9 and Debian10 :-)

      • nicoladm
        almost 3 years ago by nicoladm | Reply

        systems used: KVM VM openSUSE Leap 15.1 with Uyuni 2020.01 KVM VM debian 9.9 Salt minion version: salt-minion2019.2.0+ds-1all.deb

        NOTE: The following repo as mentioned by mateiw on github should contain the patch for salt-minion deb package that suppose to fix the problems related with removing/disabling Debian repos during the bootstrap hence i am using this version salt patch (https://build.opensuse.org/package/show/systemsmanagement:saltstack:products:testing:debian/salt): https://download.opensuse.org/repositories/systemsmanagement:/saltstack:/products:/testing:/debian/Debian_10/

        Debian 9 repos synced successfully, created a test/qa channel using the Content lifecycle section and created an activation key (1-qa-debian9-test) with the qa channels added to it.

        spacecmd softwarechannel_listchildchannels

        debian-9-amd64-main-security debian-9-amd64-main-updates debian9-opensuse-salt debian9-servers-qa-debian9-debian-9-amd64-main-security debian9-servers-qa-debian9-debian-9-amd64-main-updates debian9-servers-qa-debian9-debian9-opensuse-salt

        spacecmd activationkey_listchildchannels 1-qa-debian9-test

        debian9-servers-qa-debian9-debian-9-amd64-main-security debian9-servers-qa-debian9-debian-9-amd64-main-updates debian9-servers-qa-debian9-debian9-opensuse-salt

        After the bootstrap the file pushed by salt is empty.

        /etc/apt/sources.list.d/susemanager:channels.list

        First question that is puzzling me: Is it normal that the channels are not subscribed automatically even if the activation key has the debian channells assigned correctly? Has this something to do with the susemanager-sls state you have mentioned right?

        I will have a closer look to the below files on the uyuni server tomorrow and start play with them

        /usr/share/susemanager/mgrbootstrapdata.py /usr/sbin/mgr-create-bootstrap-repo

        • juliogonzalezgil
          almost 3 years ago by juliogonzalezgil | Reply

          What's the content of /etc/apt/sources.list.d/susemanager\:channels.list

          Is it normal that the channels are not subscribed automatically even if the activation key has the debian channells assigned correctly?

          Well, if the activation key had the channels assigned BEFORE the onboarding, then that's a bug.

          If you add channels to an activation key AFTER the onboarding, then already onboarded clients will not get the channels.

          • nicoladm
            almost 3 years ago by nicoladm | Reply

            What's the content of /etc/apt/sources.list.d/susemanager:channels.list

            root@debian9-uyuni:~# cat /etc/apt/sources.list/susemanager:channels.list # Channels managed by SUSE Manager # Do not edit this file, changes will be overwritten

            To double check I have tried to deselect and reselect the debian channels from the activation key and bootstrapped again and i can confirm I had the same behaviour - i needed to manually subscribe the channels from Systems --> Debian host --> Software --> Software channels because shown as none, disable service.

            Where is the place to raise this bug?

            • juliogonzalezgil
              almost 3 years ago by juliogonzalezgil | Reply

              Did the onboarding complete without issues?

              • nicoladm
                almost 3 years ago by nicoladm | Reply

                Not yet, at least not automatically.

                I am facing like a chicken and the egg situation where i need salt-minion-2019.2.0+ds-1.all-deb to be installed in order for the bootstrap to work properly (disable default debian channels and assign the susemanager channels and so on).

                I am looking at the bootstrap script there might be something we need to tweak there as well which is failing with:

                pkg|-salt-minion-package|-salt-minion|-latest(retcode=2): No information found for 'salt-minion'. file|-/etc/salt/minion.d/susemanager.conf|-/etc/salt/minion.d/susemanager.conf|-managed(retcode=2): One or more requisite failed: bootstrap.salt-minion-package file|-/etc/salt/pki/minion/minion.pub|-/etc/salt/pki/minion/minion.pub|-managed(retcode=2): One or more requisite failed: bootstrap.salt-minion-package service|-salt-minion|-salt-minion|-running(retcode=2): One or more requisite failed: bootstrap.salt-minion-package, bootstrap./etc/salt/pki/minion/minion.pem, bootstrap./etc/salt/minion.d/susemanager.conf, bootstrap./etc/salt/pki/minion/minion.pub, bootstrap./etc/salt/minionid file|-/etc/salt/minionid|-/etc/salt/minionid|-managed(retcode=2): One or more requisite failed: bootstrap.salt-minion-package file|-/etc/salt/pki/minion/minion.pem|-/etc/salt/pki/minion/minion.pem_|-managed(retcode=2): One or more requisite failed: bootstrap.salt-minion-package<\code>

                Regarding the mgr-bootstrap i made the changes you suggested to /usr/share/susemanager/mgrbootstrapdata.py and it seems to be working fine:

                mgr-create-bootstrap-repo --with-custom-channels 1. SLE-12-SP4-x86_64 2. debian9-amd64-uyuni Enter a number of a product label: 2 Creating bootstrap repo for debian9-amd64-uyuni

                copy 'libsodium18-1.0.11-2.amd64-deb' copy 'dctrl-tools-2.24-2+b1.amd64-deb' copy 'libzmq5-4.2.1-4+deb9u2.amd64-deb' copy 'python-chardet-2.3.0-2.all-deb' copy 'python-croniter-0.3.12-2.all-deb' copy 'python-crypto-2.6.1-7.amd64-deb' copy 'python-dateutil-2.5.3-2.all-deb' copy 'python-enum34-1.1.6-1.all-deb' copy 'python-ipaddress-1.0.17-1.all-deb' copy 'python-jinja2-2.8-1.all-deb' copy 'python-markupsafe-0.23-3.amd64-deb' copy 'python-minimal-2.7.13-2.amd64-deb' copy 'python-msgpack-0.4.8-1.amd64-deb' copy 'python-openssl-16.2.0-1.all-deb' copy 'python-pkg-resources-33.1.1-1.all-deb' copy 'python-psutil-5.0.1-1.amd64-deb' copy 'python-requests-2.12.4-1.all-deb' copy 'python-six-1.10.0-3.all-deb' copy 'python-systemd-233-1.amd64-deb' copy 'python-tornado-4.4.3-1.amd64-deb' copy 'python-tz-2016.7-0.3.all-deb' copy 'python-urllib3-1.19.1-1.all-deb' copy 'python-yaml-3.12-1.amd64-deb' copy 'python-zmq-16.0.2-2.amd64-deb' copy 'python-pycurl-7.43.0-2.amd64-deb' copy 'salt-common-2019.2.0+ds-1.all-deb' copy 'salt-minion-2019.2.0+ds-1.all-deb' copy 'dmidecode-3.0-4.amd64-deb' Exporting indices...

                ll /srv/www/htdocs/pub/repositories/debian/9/bootstrap/ total 0 drwxr-xr-x 1 root root 26 Feb 11 23:21 conf drwxr-xr-x 1 root root 154 Feb 11 23:21 db drwxr-xr-x 1 root root 18 Feb 11 23:21 dists drwxr-xr-x 1 root root 8 Feb 11 23:21 pool

                • juliogonzalezgil
                  almost 3 years ago by juliogonzalezgil | Reply

                  Is it normal that the channels are not subscribed automatically even if the activation key has the debian channells assigned correctly?

                  Then in this case, I think it normal. The first thing the bootstraping does is disabling the repositories, and then add the bootstrap repository.

                  no information found for 'salt-minion' seems to show that the package was not found, despite I can at the log you offer.

                  First, check that you can find the package at /srv/www/htdocs/pub/repositories/debian/9/bootstrap/(most probably you will).

                  If that's the case, then it's time to check the susemanage-sls package, as there is where the association between an OS and the bootstrap repository happens, according to the salt grains available during bootstrap (check susemanager-utils/susemanager-sls/salt/bootstrap/).

                  Maybe a patch is needed there, most probably at the init.sls file.

                  • juliogonzalezgil
                    almost 3 years ago by juliogonzalezgil | Reply

                    BTW, if you can join Rocket.chat maybe we'll be able to collaborate faster than only using the website :-)

    • juliogonzalezgil
      almost 3 years ago by juliogonzalezgil | Reply

      Having a look at Amazon Linux 2 already :-)

    • nicoladm
      almost 3 years ago by nicoladm | Reply

      @juliogonzalezgil thanks Julio for the suggestions!! will start to do some testing hopefully this afternoon/evening

    • Pharaoh_Atem
      almost 3 years ago by Pharaoh_Atem | Reply

      @juliogonzalezgil What about OpenMandriva? They seem interesting... add-emoji

    • juliogonzalezgil
      almost 3 years ago by juliogonzalezgil | Reply

      @Pharaoh_Atem join and try :-D

      So far I will be happy if can complete Amazon Linux, Astra Linux and (maybe) Oracle Linux. No more time during this hackweek :-\

      So either for next hackweek, or you (or someone else) can have a look :-)

      • juliogonzalezgil
        almost 3 years ago by juliogonzalezgil | Reply

        For reference, we are using a rocket.chat channel as so far only Nicola and I working on this.

        If someone from the community wants to join during this hackweek, we can move to Freenode or Gitter.

    • truquaeb
      over 2 years ago by truquaeb | Reply

      I'm trying to move away from Spacewalk, but getting stuck with my Fedora clients. It seems there aren't Uyuni client tools built for Fedora, I've got the repo's syncing and salt seems to work, machines are registered. Can't access the susemanager repos. I assume client tools need to be built, but where can I start?

      • juliogonzalezgil
        over 2 years ago by juliogonzalezgil | Reply

        Well, that depends. New distributions will only support salt (unless community actually takes care of maintaining traditional for them)

        You could start by creating an OBS repository based on Fedora and try to build salt there. You can use https://build.opensuse.org/project/show/systemsmanagement:Uyuni:Master:CentOS8-Uyuni-Client-Tools as inspiration.

        But I guess we'd also need changes at other packages, so Uyuni is able to recognize this new distribution. My PR to Add Astra Linux (https://github.com/uyuni-project/uyuni/pull/1915) can also be used as insperation (Astra Linux is Debian Based, but even with this in mind, it can be of help).

    • pagarcia
      almost 2 years ago by pagarcia | Reply

      More to add: Alibaba Cloud Linux 2 (WIP here: https://github.com/paususe/uyuni/commits/paususe-aliyun), Alma Linux and Rocky Linux.

      • juliogonzalezgil
        almost 2 years ago by juliogonzalezgil | Reply

        As soon as we have someone to take care of them, I will add them :-)

        I understand you want to take care of Alibaba, right @pagarcia?

        • pagarcia
          almost 2 years ago by pagarcia | Reply

          Yes, I will try to have Alibaba Cloud Linux 2 done before Hackweek even.

          • juliogonzalezgil
            over 1 year ago by juliogonzalezgil | Reply

            Alibaba Clolud Linux 2 added, with all checkboxes. Please add join the project, using the button above.

            If you will also handle Alma, let me know and I'll add it.

            • pagarcia
              over 1 year ago by pagarcia | Reply

              Other than traditional stack (untested), everything else tested and works for Alibaba Cloud Linux 2

    • juliogonzalezgil
      6 months ago by juliogonzalezgil | Reply

      Project is updated, in preparation for Hackweek 21.

      As always, we can add more distributions if someone wants to work on them. I plan to focus on finishing Ubuntu 22.04, and testing AlmaLinux9 :-)

    Similar Projects

    Saline: Salt state appliement monitoring by vzhestkov

    Project Description

    In case of applying s...


    Write a formula with forms for setting up a container registry by mcalmer

    [comment]: # (Please use the project descriptio...


    salt formula for uyuni proxy setup by mbussolotto

    Project Description

    Goal is to write a sa...


    Uyuni/SUSE Manager Server Helm chart on k3s by moio

    ![Combined icons of k3s and Uyuni](https://user...


    Create tool to analyze supportconfig to spot common SUSE Manager issues by cbosdonnat

    [comment]: # (Please use the project descriptio...


    Uyuni/SUSE Manager Server Helm chart on k3s by moio

    ![Combined icons of k3s and Uyuni](https://user...


    Create tool to analyze supportconfig to spot common SUSE Manager issues by cbosdonnat

    [comment]: # (Please use the project descriptio...


    Refresh the internal SUSE Manager maintenance documentation by deneb_alpha

    Project Description

    With this project I wou...


    Saline: Salt state appliement monitoring by vzhestkov

    Project Description

    In case of applying s...


    openSUSE build supported by SUSE IT by vgrinco

    Project Description

    SUSE IT needs help fr...


    Switch software-o-o to parse repomd data by hennevogel

    Currently software.opensuse.org search is using...


    MicroOS Desktop by RBrownSUSE

    [Video Recording of openSUSE Conference sessio...


    Azure Active Directory for Linux by lramage

    Project Description

    [comment]: # (What ar...


    Generic retry command in openSUSE by okurz

    Motivation

    When automating tasks often the r...


    Rust in linux kernel by dsterba

    [comment]: # (Please use the project descriptio...


    Blog about our ScummVM Freeware games packages by sndirsch

    Blog about ScummVM Freeware games of our open...


    web-based testing tracker for aquarist-labs's s3gw by jluis

    [comment]: # (Please use the project descriptio...


    OS self documentation, health check and troubleshooting by roseswe

    [comment]: # (Please use the project descriptio...


    Generic retry command in openSUSE by okurz

    Motivation

    When automating tasks often the r...


    ClusterMon Wrapper - Pacemaker Cluster Monitoring that customers can re-use by roseswe

    [comment]: # (Please use the project descriptio...


    Video For Linux 2 Camera monitor, frame capture, day/night exposure control and timelapse generator in python by dmair

    Use the V4L2 API in a PySide qt6.3 application ...


    web-based testing tracker for aquarist-labs's s3gw by jluis

    [comment]: # (Please use the project descriptio...


    Script that loads dummy data into HANA database for testing purposes. by rangelino

    [comment]: # (Please use the project descriptio...


    OMEMO Hexchat plugin by dknorr

    [comment]: # (Please use the project descriptio...


    Rewrite libkdumpfile Python binding using CFFI by ptesarik

    Project Description

    The [libkdumpfile](ht...


    AWS Terraform Modules by mtrachier

    Project Description

    Provide modules in Te...


    Add combustion support to the terraform-provider-libvirt by oholecek

    [comment]: # (Please use the project descriptio...