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:
- Reposync (this will require using spacewalk-common-channels and adding channels to the .ini file)
- Onboarding (both salt and salt-ssh) (this will probably require adding OS to the bootstrap repository creator)
- Package management
- Patching
- Applying any basic salt state
- Salt remote commands
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.
In progress
Amazon Linux 2
https://aws.amazon.com/amazon-linux-2/
PR: https://github.com/uyuni-project/uyuni/pull/1919
This could be really interesting, as it's heavily used on AWS. I could have use a product like SUSE/Manager Uyuni at my former job to take care of over 100 Amazon Linux instances plus some Red Hat, Ubuntu and CentOS we had.
It's neither CentOS 7 or 8 as they do their own maintenance, but the package manager is still yum, and not dnf (so more CentoS7 like, but without binary compatibility, as they can -for example- add packages that break repositories intended for CentOS7 -as it happened to me in the past with Puppet's yum repository-).
There's also Amazon Linux 1, but it's less interesting as Standard Support ends on December 2020, and the Maintenance Support phase will only patch a few packages (https://aws.amazon.com/amazon-linux-ami/)
[W]
Reposync (this will require using spacewalk-common-channels and adding channels to the .ini file)[W]
Onboarding (both salt and salt-ssh) (this will probably require adding OS to the bootstrap repository creator)[W]
Package management[ ]
Patching[W]
Applying any basic salt state[W]
Salt remote commands
IMPORTANT NOTE: Despite salt seems to work, it shows this at the minion log: 2020-02-14 16:38:31,902 [salt.loaded.int.grains.core:1854][ERROR ][5673] Broken CPE_NAME format in /etc/os-release!
** Seems to be a problem in our salt package. The ion squad should have a look (discussed at Rocket.Chat). Doesn't affect functionality.
AlmaLinux8
PR: https://github.com/uyuni-project/uyuni/pull/3455
As of today, seems to be the most successful successor to CentOS8
[W]
Reposync But for now we do not support the mirrorlist. See the PR[F]
Onboarding (both salt and salt-ssh) (salt requires promotion, will be ready soon)[ ]
Package management[ ]
Patching[ ]
Applying any basic salt state[ ]
Salt remote commands
Astra Linux
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)- After adding the repositories to
spacewalk-common-channels
works fine.
- After adding the repositories to
[W]
Onboarding (both salt and salt-ssh)- WebUI works (salt and salt-ssh), with some caveats: https://github.com/uyuni-project/uyuni/pull/1915
- I can bootstrap using a script.
[W]
Package management- Works!
[ ]
Patching- Can't test yet, no patches available.
[W]
Applying any basic salt state- Works!
[W]
Salt remote commands- Works!
Alibaba Cloud Linux 2
https://www.alibabacloud.com/help/doc-detail/111881.htm
Distribution compatible with CentOS7. Since this is CentOS7, the traditional stack is available as well.
[ ]
Reposync (this will require using spacewalk-common-channels and adding channels to the .ini file)[ ]
Onboarding- salt, salt-ssh and traditional via WebUI
- salt and traditional via Bootstrap Script
[ ]
Package management (salt and traditional)[ ]
Patching (salt and traditional)[ ]
Applying any basic salt state (salt and traditional)[ ]
Salt remote commands (salt and traditional)
Already implemented
Oracle Linux
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
Looking for hackers with the skills:
uyuni susemanager distribution linux management testing java bash python
This project is part of:
Hack Week 19 Hack Week 20
Activity
Comments
-
over 2 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
-
over 2 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/mgrbootstrapdata.pyYou 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 entrydebian8-amd64-uyuni
(similar to ubuntu-18.04-amd64-uyuni) using the basechanneldebian-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 :-)
-
over 2 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/mgr_bootstrap_data.py /usr/sbin/mgr-create-bootstrap-repo
-
over 2 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.
-
over 2 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?
-
over 2 years ago by juliogonzalezgil | Reply
Did the onboarding complete without issues?
-
over 2 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/minion_id file_|-/etc/salt/minion_id_|-/etc/salt/minion_id_|-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
-
over 2 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 (checksusemanager-utils/susemanager-sls/salt/bootstrap/
).Maybe a patch is needed there, most probably at the
init.sls
file.-
over 2 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 :-)
-
-
-
-
-
-
-
-
over 2 years ago by juliogonzalezgil | Reply
Having a look at Amazon Linux 2 already :-)
-
over 1 year ago by juliogonzalezgil | Reply
Just discovered that Amazon Linux 2 is now publishing XML information, and not just sqlite:
http://amazonlinux.default.amazonaws.com/2/core/2.0/x8664/34112b4f91c3e1ecf2b2e90cfd565b12690fa3c6a3e71a5ac19029d2a9bd3869/repodata/repomd.xml http://amazonlinux.default.amazonaws.com/2/core/2.0/x8664/34112b4f91c3e1ecf2b2e90cfd565b12690fa3c6a3e71a5ac19029d2a9bd3869/repodata/primary.xml.gz
So it seems we I will be able to bring this back to life without maybe any changes to reposync.
Plan is reopen my PR, test again, and if it works see if I can fix the product detection (no promisies) and some more stuff.
As for Astra Linux, let's see if I can convince OBS guys to fix the repos they added, so I can enable for Uyuni.
-
-
over 2 years ago by nicoladm | Reply
@juliogonzalezgil thanks Julio for the suggestions!! will start to do some testing hopefully this afternoon/evening
-
over 2 years ago by Pharaoh_Atem | Reply
@juliogonzalezgil What about OpenMandriva? They seem interesting...
-
over 2 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 :-)
-
over 2 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.
-
-
about 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?
-
about 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).
-
-
over 1 year 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.
-
over 1 year 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?
-
about 1 year ago by pagarcia | Reply
Yes, I will try to have Alibaba Cloud Linux 2 done before Hackweek even.
-
about 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.
-
-
-
Similar Projects
Uyuni/SUSE Manager Server Helm chart on k3s by moio
![Combined icons of k3s and Uyuni](https://user...
Uyuni/SUSE Manager Server Helm chart on k3s by moio
![Combined icons of k3s and Uyuni](https://user...
openSUSE build supported by SUSE IT by vgrinco
Project Description
SUSE IT needs help fr...
Extend repomd-parser with appstream data by hennevogel
Extending [repomd-parser](https://github.com/ik...
OS self documentation, health check and troubleshooting by roseswe
[comment]: # (Please use the project descriptio...
ClusterMon Wrapper - Pacemaker Cluster Monitoring that customers can re-use by roseswe
[comment]: # (Please use the project descriptio...