[Spacewalk-list] Ubuntu/Deb Support

Robert Paschedag robert.paschedag at web.de
Wed Sep 26 15:09:43 UTC 2018



> Gesendet: Mittwoch, 26. September 2018 um 15:16 Uhr
> Von: "Randall R. Sargent" <rrsargent at pilotcat.com>
> An: "Robert Paschedag" <robert.paschedag at web.de>, "spacewalk-list at redhat.com" <spacewalk-list at redhat.com>, "spacewalk-list at redhat.com" <spacewalk-list at redhat.com>
> Betreff: RE: [Spacewalk-list] Ubuntu/Deb Support
>
> I'm having no luck getting my xenial clients to recognize the Release & Release.gpg files in my repos. I resorted to modifying the pre-invoke.py script to write [trusted=yes] for each line in spacewalk.list, now I'm no longer getting complaints about missing Release files when I do an apt update. I am still unable to upgrade any packages though:
> 
> # rhn_check -vvvv
> D: check_action{'action': "<?xml version='1.0'?>\n<methodCall>\n<methodName>packages.update</methodName>\n<params>\n<param>\n<value><array><data>\n<value><array><data>\n<value><string>bind9-host</string></value>\n<value><string>9.10.3.dfsg.P4</string></value>\n<value><string>8ubuntu1.11</string></value>\n<value><string>1</string></value>\n<value><string>amd64-deb</string></value>\n</data></array></value>\n</data></array></value>\n</param>\n</params>\n</methodCall>\n", 'version': 2, 'id': 26}
> updateLoginInfo() login info
> D: login(forceUpdate=True) invoked
> logging into up2date server
> D: rpcServer: Calling XMLRPC up2date.login
> D: writeCachedLogin() invoked
> D: Wrote pickled loginInfo at 1537966985.67 with expiration of 1537970585.67 seconds.
> successfully retrieved authentication token from up2date server
> D: logininfo:{'X-RHN-Server-Id': 1000010000, 'X-RHN-Auth-Server-Time': '1537966985.69', 'X-RHN-Auth': '8okffYSJDt+fznMR/PhU4rZCo31NCg9sFe84Gx6oRVo=', 'X-RHN-Auth-Channels': [['xenial-main', '20180925171652', '1', '1'], ['xenial-security', '20180925175349', '0', '1'], ['xenial-updates', '20180925172643', '0', '1']], 'X-RHN-Auth-User-Id': '', 'X-RHN-Auth-Expire-Offset': '3600.0'}
> D: handle_action{'action': "<?xml version='1.0'?>\n<methodCall>\n<methodName>packages.update</methodName>\n<params>\n<param>\n<value><array><data>\n<value><array><data>\n<value><string>bind9-host</string></value>\n<value><string>9.10.3.dfsg.P4</string></value>\n<value><string>8ubuntu1.11</string></value>\n<value><string>1</string></value>\n<value><string>amd64-deb</string></value>\n</data></array></value>\n</data></array></value>\n</param>\n</params>\n</methodCall>\n", 'version': 2, 'id': 26}
> D: handle_action actionid = 26, version = 2
> D: do_call packages.update([['bind9-host', '9.10.3.dfsg.P4', '8ubuntu1.11', '1', 'amd64-deb']],){'cache_only': None}
> D: Called update[['bind9-host', '9.10.3.dfsg.P4', '8ubuntu1.11', '1', 'amd64-deb']]
> Apt-Spacewalk: Updating sources.list

Error starts here

> D: Sending back response(1, 'update failed', {})

The python-apt module failes to verify the repos.

You said, your are using SW 2.8. Release? If yes, you are missing a patch to support "signed" debian repos. See PR https://github.com/spacewalkproject/spacewalk/pull/636. This is the part you need to patch on the server.

You also need to patch the clients. If you installed the newest packages (as stated within this thread), your clients should be ok. You can check this within
your /etc/apt/sources.list.d/spacewalk file. If this file contains one line for each channel your client subscribes, you are fine.

Now you still need to create the "InRelease" or "Release.gpg" files. @Phil has written in his blog years ago. See http://www.devops-blog.net/spacewalk/gpg-signing-apt-repository-in-spacewalk

You need to create these files for each repo, of course.

But even if this all works, you might still hit another bug with newer Ubuntu / Debian distros using newer APT version, which got some "improvements".
The error you might hit is the missing "Multi-Arch" header missing within the repo meta data for each channel.

So.....what I currently do (on my SW 2.7) system is.

- Use the "old" sync script from Steve Meier in a modified version. (see my repo https://github.com/rpasche/spacewalk-debian-sync/tree/add-multiarch-header)
- wait some minutes after the sync finshed to let SW recreate the "packages.gz" for each channel (here, the "Multi-Arch" headers are missing)
- now run my spacewalk-add-debian-multiarch-header script to add the missing headers to the packages.gz for each Debian channel I synced before.
- now sign the repos

Now, if all went well, clients have been patched (apt-spacewalk), server has been patched (rhnRepository.py - see PR 636), your clients should work.

Robert

> D: do_call packages.checkNeedUpdate('rhnsd=1',){}
> D: Called refresh_list
> Updating package profile
> D: rpcServer: Calling XMLRPC registration.welcome_message
> D: rpcServer: Calling XMLRPC registration.update_packages
> D: local action status: (0, 'package list refreshed', {})
> D: rpcServer: Calling XMLRPC registration.welcome_message
> 
> Does anyone have any ideas?
> 
> 
> 
> -----Original Message-----
> From: Robert Paschedag <robert.paschedag at web.de> 
> Sent: Monday, September 24, 2018 2:28 PM
> To: spacewalk-list at redhat.com; Randall R. Sargent <rrsargent at pilotcat.com>; spacewalk-list at redhat.com
> Subject: Re: [Spacewalk-list] Ubuntu/Deb Support
> 
> Am 24. September 2018 21:07:58 MESZ schrieb "Randall R. Sargent" <rrsargent at pilotcat.com>:
> >Thanks much for this. I’m not seeing any difference in the behavior of 
> >my 16.04 clients. They are able to register, but doing a package update 
> >fails (any package):
> >
> >[cid:image001.png at 01D4540F.FE7E7510]
> >
> 
> I'm pretty sure, you are not using signs repos.
> 
> Newer "apt", especially the python "apt" module fails while checking the signatures of the repo, thus the "update" fails.
> 
> Note: it is the update ("apt-get update") within the call to install the package that fails.
> 
> I also had this error with Debian 9, because I did not yet "sign" my repos and used "Allow unsigned = true" within apt.conf.
> 
> But these settings seem to be ignored, hence, the "apt" python module "requires" the repos to be signed. It took me a while to debug this.
> 
> In case you "are" using signs repos, you should provide some more info...e.g. "rhn_check -vvvv" while trying to install a package via SW.
> 
> Robert
> 
> >From: spacewalk-list-bounces at redhat.com 
> ><spacewalk-list-bounces at redhat.com> On Behalf Of Neal Gompa
> >Sent: Monday, September 24, 2018 12:49 PM
> >To: spacewalk-list at redhat.com
> >Subject: Re: [Spacewalk-list] Ubuntu/Deb Support
> >
> >On Mon, Sep 24, 2018 at 10:59 AM Randall R. Sargent 
> ><rrsargent at pilotcat.com<mailto:rrsargent at pilotcat.com>> wrote:
> >Hi all,
> >
> >*Newbie* to Spacewalk here. At the risk of beating a dead horse, has 
> >anyone been able to successfully manage Ubuntu clients on 2.8? We have
> >14.04 & 16.04 clients and it would make my life so much easier if I 
> >could get them to reliably work. I have been able to get 14.04 to 
> >register, and even update (with minor issues), but not 16.x.
> >Documentation is spotty out there in Google-land.
> >
> >Any help is appreciated!
> >
> >
> >Hey, yeah, it's possible to successfully manage Ubuntu clients with 
> >Spacewalk 2.8.
> >
> >A couple of months ago, my colleague and I fixed the clients to work in 
> >Spacewalk git master (upcoming Spacewalk 2.9), and we backported this 
> >to the 2.8 clients.
> >
> >The sources are here:
> >https://gitlab.com/datto/engineering/spacewalk-debian-client-packages
> >
> >We also built the packages and published them on OBS. You can use them 
> >by doing the following:
> >
> ># If you have older clients from Debian/Ubuntu repos $ sudo apt purge 
> >apt-transport-spacewalk rhnsd $ sudo apt autoremove # Installing the 
> >new packages $ sudo bash -c 'echo "deb 
> >http://download.opensuse.org/repositories/systemsmanagement:/spacewalk:
> >/2.8:/debclients/xUbuntu_16.04/ /" > 
> >/etc/apt/sources.list.d/spacewalk2.8-debclients.list'
> >$ sudo apt-key adv --fetch-keys
> >http://download.opensuse.org/repositories/systemsmanagement:/spacewalk:
> >/2.8:/debclients/xUbuntu_16.04/Release.key
> >$ sudo apt-get update
> >$ sudo apt install rhn-client-tools rhn-check rhn-setup rhnsd 
> >apt-transport-spacewalk rhncfg rhncfg-actions
> >
> >There are builds for xUbuntu 16.04 and 18.04, as well as Debian 8.0 and 
> >9.0. Just swap "xUbuntu_16.04" in the instructions above for 
> >"xUbuntu_18.04" or "Debian_8.0" or "Debian_9.0".
> >
> >Future development of the clients are going into Spacewalk's next 
> >release.
> >
> >
> >
> >--
> >真実はいつも一つ!/ Always, there's only one truth!
> 
> 
> --
> sent from my mobile device
> 
>




More information about the Spacewalk-list mailing list