Subscription Manager for Debian & Ubuntu on apt.atix.de

Dear Foreman Community,
with great pleasure I want to present apt.atix.de to you.

The site contains consumable repositories with a packaged subscription manager for Debian 10 and Ubuntu 20.04 along with general usage instructions. The packages are built for Debian 10 and Ubuntu 20.04 on architecture amd64 , codename stable , and component main . The metadata is signed.

We welcome any and all feedback.
Kind regards,
Maximilian.

21 Likes

Great job! :+1: Would you also be so kind, as ATIX is maintainer for GitHub - ATIX-AG/foreman_scc_manager: Foreman plugin to sync SUSE Customer Center products and repositories into Katello, to present an “official” repo for SLES15 and beyond to the foreman community, too? :slight_smile:

looks great will neeed to test this. Any availability for ubuntu 18 or ubuntu 16?

1 Like

Hi @thomas-merz & @besmirzanaj
there’s currently no plans to release a packaged subscription manager for either SLES or any other Ubuntu version.
Regarding Ubuntu 18.04 and 16.04, you might actually use the Debian 10 repository which relies on python2 (in contrast to the subscription manager for Ubuntu 20.04 which uses python3). Note that this is untested from my side.
Best of luck,
Maximilian.

1 Like

Thank you Maximilian for the response. Appreciate it

You’re welcome. Let me know if it’s working out for you.

The long awaited release! Thanks!

However: based on which sources are these packages built (certain branch of https://github.com/ATIX-AG/subscription-manager?) Or are the changes (except the gpg key download fix) already upstreamed and this is built based on subscription-manager-1.28.4-1?

The subscription manager is based on an internal development branch.

As of today, apt.atix.de holds version 1.25.1 of the subscription-manager for both Debian 10 and Ubuntu 20.04.

Are there any plans to publish the sources for the packages published on apt.atix.de and maybe potentially upstream them into the candlepin/subscription-manager repository as well?

Hey @stickman123

A lot of community members have been asking this question, so I took some time to talk to @Bernhard_Suttner this afternoon. Please correct me if I misrepresent anything from ATIX here, but to summarize:

  • This, as you can tell from the other threads on Discourse, was a highly sought after feature. The decision to release it from apt.atix.de stemmed from the desire to provide what people were asking for ASAP vs the time and resources ATIX had available to make the packages available via theforeman.
  • We discussed making a plan in which a full list of requirements to make the build environment available are known and as a community, we can work towards progressing with this.

If anything isn’t clear, please let me know!

Melanie

4 Likes

Hello Maximilian

I installed and used the ATIX subscription-manager succesfully on Ubuntu-18.04, very nice work
I also installed it on Ubuntu-16.04. It installed, but when trying to register the server I get a libssl error.
The subscription-manager expect libssl-1.1 but Ubuntu-16.04 has libssl-1.0.

~# subscription-manager
Unable to find Subscription Manager module.
Error: libssl.so.1.1: cannot open shared object file: No such file or directory

Can this issue been solved in the subscription-manager, or is there a workaround?
Or do I miss something else?

regards
Jurgen

The probem is that the packages are build for Ubuntu 20.04, so they require their dependencies in a version like it is on Focal. As you found out it could work on older versions of Ubuntu when they have similar versions of a library but not if they differ. This is the reason you build packages for every version.

As Maximilian stated ATIX has build this packages and made them public to help the community and the project, but because of limited time only for the newest versions of Debian and Ubuntu. So what you could do is rebuilding the packages on your own for the older versions.

2 Likes

Hello Dirk

Maximilian mentioned the Debian packages could work on Ubuntu 16 and 18 because both use python2.
It does work for Ubuntu-18, but with Ubuntu-16 I have this ssl issue.

I was wondering if this can be solved easily or with a ‘simple’ workaround.

Jurgen

Thanks @Dirk for jumping in.

You could try providing the necessary package (i.e. libssl) from another source as a potential workaround. Unfortunately, I cannot test this and this might cause incompatibilties with other software applications.

I installed it on a Debian 10 system and install was flawless.
I also got to register the host to my foreman server by activation key and the system is reported subscribed and with access to my Debian Buster repos under “Subscriptions” and “Repository Sets”.
The file “/etc/apt/sources.list.d/rhsm.sources” is created, but apart from comments, it’s empty. The suggested “apt-get update” doesn’t change that.

subscription-manager status reports “Overall Status: Current”.

In contrast to what is shown in Foreman, “subscription-manager repos” reports “This system has no repositories available through subscriptions.”

“subscriptions-manager refresh” or “unregister/register” does not help.

Is this supposed to work? Am I doing anything wrong?

I expect the /etc/apt/sources.list.d/rhsm.sources file to have content as follows:

root@host:/# cat /etc/apt/sources.list.d/rhsm.sources
#
# Certificate-Based Repositories
# Managed by (rhsm) subscription-manager
#
# *** This file is auto-generated.  Changes made here will be over-written. ***
# *** Use "subscription-manager repo-override --help" if you wish to make changes. ***
#
# If this file is empty and this system is subscribed consider
# a "apt-get update" to refresh available repos
#
# *** DO NOT EDIT THIS FILE ***
#

Suites: default
metadata_expire: 1
name: Debian Client 10
enable_metadata: 1
enabled: 1
Trusted: yes
sslclientcert: /etc/pki/entitlement/1234567890.pem
baseurl: https://foreman.example.com/pulp/deb/Dev/Library/Debian_10/custom/Debian_Client/Debian_Client_10
id: Dev_Debian_Client_Debian_Client_10
sslclientkey: /etc/pki/entitlement/1234567890-key.pem
sslcacert: /etc/rhsm/ca/katello-server-ca.pem
Components: all
gpgcheck: 0
sslverify: 1
URIs: katello://1234567890@foreman.example.com/pulp/deb/Dev/Library/Debian_10/custom/Debian_Client/Debian_Client_10
Types: deb

Could you please post the exact history of commands you’ve ran?

This is the list of commands from root’s shell history. Thanks for having a look!

  cd /etc/apt/sources.list.d/
  atix-submgr.list
  apt update
  wget https://apt.atix.de/atix_gpg.pub -O - | apt-key add -
  apt update
  apt install python-subscription-manager
  subscription-manager
  subscription-manager-gui 
  apt install python-gtk2
  subscription-manager-gui 
  subscription-manager register --name="vm-aptly.lan.net" --org='Default_Organization' --activationkey="Debian-10-Library" 
  wget --no-check-certificate https://vm-foreman.lan.net/pub/katello-rhsm-consumer
  bash -vx katello-rhsm-consumer 
  subscription-manager register --name="vm-aptly.lan.net" --org='Default_Organization' --activationkey="Debian-10-Library" 
  subscription-manager status
  apt update
  cd /etc/apt/
  cd sources.list.d/
  less rhsm.sources 
  apt-get update
  subscription-manager repos 
  cat rhsm.sources 
  subscription-manager refresh
  subscription-manager repos 
  cat rhsm.sources 
  apt-get update
  subscription-manager refresh
  cat rhsm.sources 
  subscription-manager unregister
  subscription-manager register --name="vm-aptly.lan.net" --org='Default_Organization' --activationkey="Debian-10-Library" 
  subscription-manager repos 
  subscription-manager auto-attach
  cat sources.list.d/rhsm.sources 
  apt-get update
  subscription-manager status

In Foreman it looks like this

Sorry, I can neither spot an error in your commands or screenshots nor really reproduce the issue.

I ran the following commands in a container running Debian 10:

apt-get update
apt-get install -y vim gpg wget
wget -qO - https://apt.atix.de/atix_gpg.pub | apt-key add -
echo "deb https://apt.atix.de/Debian10/ stable main" >> /etc/apt/sources.list
apt-get update
apt-get install -y subscription-manager
wget -q http://foreman.example.com/pub/katello-rhsm-consumer
chmod +x katello-rhsm-consumer
./katello-rhsm-consumer
subscription-manager register --org="Dev" --activationkey="debian10"

It shows up just fine on my Foreman instance and has a rhsm.sources just as I’ve posted above.

Can you maybe try these commands in a container and recheck your activation key?

I was playing with this back and forth, recreating CVs and Activation Keys and did not get it working. Finally I found it… it’s actually this problem

I removed the architecture (amd64) on my buster-updates repo and now I can see it on the client with “subscription-manager repos” and also rhsm.sources is created.

I will have to check the thread linked in that issue report if there is a work around, because I do not really want to sync buster main for all architectures.

It seems this was fixed with
https://github.com/Katello/katello/pull/9010

Any chance to provide updated debs?