[Spacewalk-list] Ubuntu/Deb Support

Randall R. Sargent rrsargent at pilotcat.com
Thu Sep 27 20:55:40 UTC 2018


I'm still unable to update packages on Xenial. I've updated '/usr/lib/python2.7/site-packages/spacewalk/server/rhnRepository.py' to include Release files, I'm using spacewalk-debian-sync.pl & spacewalk-add-debian-multiarch-header.py to sync repos and 'secureApt.sh' to sign the files. Running 'apt update' on the client gives zero errors on the Spacewalk repos. Still not working.

Does anyone have ideas? How can I debug to get the reason why the rhnpush-initiated update is failing?

/etc/rhn/spacewalk-debian-sync.pl --url=http://us.archive.ubuntu.com/ubuntu/dists/xenial/main/binary-amd64/ --channel=xenial-main --username=xxxx --password=xxxx

/etc/rhn/spacewalk-add-debian-multiarch-header.py /var/cache/rhn/repodata/xenial-main/Packages /var/satellite/sat-tmp/xenial-main

gzip -c /var/cache/rhn/repodata/xenial-main/Packages.new > /var/cache/rhn/repodata/xenial-main/Packages.gz && touch -r /var/cache/rhn/repodata/xenial-main/Packages 

/var/cache/rhn/repodata/xenial-main/Packages.gz 

/etc/rhn/secureApt.sh xenial-main Xenial

-----Original Message-----
From: Randall R. Sargent 
Sent: Thursday, September 27, 2018 8:40 AM
To: 'Robert Paschedag' <robert.paschedag at web.de>; spacewalk-list at redhat.com
Cc: spacewalk-list at redhat.com
Subject: RE: [Spacewalk-list] Ubuntu/Deb Support

The other issue I'm having is the sync script keeps keeps giving me "rhnpush failed". The first time it was permissions issues for the apache process on /tmp. I fixed that and got about 75% of the way finished syncing, then it did it again. Next I tried running it as 'apache' and now I'm getting permission issues writing to '/usr/share/httpd/.rhnpushcache'.

-----Original Message-----
From: Robert Paschedag <robert.paschedag at web.de>
Sent: Thursday, September 27, 2018 12:07 AM
To: spacewalk-list at redhat.com; Randall R. Sargent <rrsargent at pilotcat.com>
Cc: spacewalk-list at redhat.com
Subject: Re: [Spacewalk-list] Ubuntu/Deb Support

Am 27. September 2018 07:03:19 MESZ schrieb Robert Paschedag <robert.paschedag at web.de>:
>Am 26. September 2018 18:01:16 MESZ schrieb "Randall R. Sargent"
><rrsargent at pilotcat.com>:
>>Thanks Robert.
>>
>>I applied the patch for rhnRepository.py and verified the client 
>>version is up to date using the criteria gave (spacewalk.list). I did 
>>follow Phil's blog and have been able to create Release & Release.gpg 
>>files. I did not do any of the patching he mentioned though because
>I'm
>>assuming my versions are updated since he wrote the post.
>>
>>Attempting to patch after that gives me the same error.
>>
>>Next I am trying to run your add-multiarch-header script but am
>getting
>>the following error: 
>>
>>/etc/rhn/spacewalk-add-debian-multiarch-header.py
>>/var/cache/rhn/repodata/xenial-main/Packages /tmp/xenial-main
>>Error: Inputfile '/tmp/xenial-main' not available.
>>
>>Am I just running your modified script, or do I need to run 
>>spacewalk-debian-sync.pl before?
>
>Of course you must sync the repos with the modified sync script (as 
>stated). This extracts the Multi-Arch headers from the original Ubuntu 
>/ Debian repos and writes them to temporary files within /tmp.

But you should check your repos are signed correctly by running apt-get update.

If this does not work correctly or complains about missing release files, you made a mistake somewhere.

Robert
>
>Robert
>>
>>Thanks again.
>>
>>-----Original Message-----
>>From: Robert Paschedag <robert.paschedag at web.de>
>>Sent: Wednesday, September 26, 2018 10:10 AM
>>To: Randall R. Sargent <rrsargent at pilotcat.com>
>>Cc: spacewalk-list at redhat.com
>>Subject: Aw: RE: [Spacewalk-list] Ubuntu/Deb Support
>>
>>
>>
>>> 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<val
>>>
>>ue><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<val
>>>
>>ue><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-spa
>>cewalk
>>
>>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-he
>>ader)
>>- 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
>>> 
>>>
>
>
>--
>sent from my mobile device
>
>_______________________________________________
>Spacewalk-list mailing list
>Spacewalk-list at redhat.com
>https://www.redhat.com/mailman/listinfo/spacewalk-list


--
sent from my mobile device





More information about the Spacewalk-list mailing list