Hi Robert,I've been looking at this solution and I ran into an issue on step 33) Call the script: spacewalk-create-yumrepo.py (Which I installed in /usr/local/bin)
/usr/local/bin/spacewalk-create-yumrepo.py -s <SW IP ADDR> -u admin -p xxxx -c <SW channel name> -d /var/www/html/pub/<dir>/<software>/usr/local/bin/spacewalk-create-yumrepo.py -s 220.127.116.11 -u ghs_admin -p "password" -c Spacewalk-Client -d /^Cr/www/html/pub/spacewalk-client/packagesWhen I run this I get the following...xmlrpclib.Fault: <Fault -210: 'redstone.xmlrpc.XmlRpcFault: No such channel: Spacewalk-Client'>Do I have to create a channel first in spacewalk gui or should I be referring to my CentOS base channel?Thank you,Jason
- From: "Boyd, Robert" <Robert Boyd peoplefluent com>
- To: "spacewalk-list redhat com" <spacewalk-list redhat com>
- Subject: Re: [Spacewalk-list] Registering Clients in Spacewalk 2.2
- Date: Fri, 20 Feb 2015 17:39:02 +0000
I think you might consider using spacewalk-create-yumrepo.py to do this.
If you have a channel or subchannel with the Spacewalk Client packages you can use that python script to create a yum style repo front end to the Spacewalk content. Then you can set up a temporary spacewalk-client repo config for yum on your clients that will point to the repo address on your Spacewalk server.
Here’s a fairly recent message from the list that discusses the create yum repo process:
Thank you a lot: I install it and works fine to me!
I'm thinking of improve it to include parameters to define "last" or "all" packages, and also to perform createrepo automatically on changed repos. If I do it, I'll submit to original author.
2014-10-07 13:27 GMT-03:00 Glen Collins <glenc2004 comcast net>:
Oh, one thing I need to mention. I did have to make one change to the code in the script so it would link all rpm's. The code from GIT actually only links the latest in the channel and not everything. So the change I made was....
Change "spacewalk.channel.software.listLatestPackages" to "spacewalk.channel.software.listAllPackages". See below....
## for pkg in spacewalk.channel.software.listLatestPackages(spacekey, options.channel):
for pkg in spacewalk.channel.software.listAllPackages(spacekey, options.channel):
if not os.path.exists("%s/packages/%s" % (options.directory, fn)):
os.symlink("%s/%s" % (options.satdir, det['path']), "%s/packages/%s" % (options.directory, fn))
----- Original Message -----
Are you asking if you can create a pseudo repo in Spacewalk that can mimic a YUM repository via HTTP? If that is what you are asking, then yes it is possible. And I have done it so I can install my spacewalk clients using the yum method. Here is what you do...
1) Download and install: https://github.com/angrox/spacewalk-api-scripts
2) Create directory under: /var/www/html/pub/<software name> (this is accessible using the URL http://<SW IP ADDR>/pub/<software name>)
3) Call the script: spacewalk-create-yumrepo.py (Which I installed in /usr/local/bin)
/usr/local/bin/spacewalk-create-yumrepo.py -s <SW IP ADDR> -u admin -p xxxx -c <SW channel name> -d /var/www/html/pub/<dir>/<software>
4) Run createrepo against the new directory: createrepo /var/www/html/pub/<dir>/<software>
5) And then configure you client using the stand YUM file in /etc/yum.repos.d
6) Verify you can see it using your web browser. You may run into permissions issue accessing the repomd.xml in the repodata directory. What I do is a chmod -R 755 on the entire /var/www/html/pub/<dir>/<software> so I don't have any issues with he web server accessing the files.
What this is doing is creating links to the actual RPM's in /var/satellite/..... so when you access it via HTTP it looks exactly like a standard YUM repo. So you don't have to have any extra copies of any of the RPM's taking up extra space. Now while I only have done this for the SW client install, I can assume since it works for the client and it should work for everything include the OS, EPEL and all the other channels you may have in SW.
----- Original Message -----
Fabiano Martins wrote:
% Hi all,
% I have a Spacewalk 2.2 server running on my environment.
% But some machines aren't registered on Spacewalk (RHELs registered on RHN,
% CentOSs that sysadmin don't like to register on Spacewalk, etc.).
% Once my Spacewalk server already have a mirror of external repos (EPEL,
% VMWare, etc.), I would that these exceptions not use my Internet link when
% installing/updating packages.
% Have a form to offer these repos mirrored into Spacewalk as a "pure http"
Unfortunately Spacewalk can't do this.
% I know that I can mirror external repos via rsync and "re-mirror" to
% Spacewalk via spacewalk-repo-sycnc, but on this case I would use 2 times
% each file on disk...
% Fabiano Martins
Satellite Engineering, Red Hat
Spacewalk-list mailing list
Spacewalk-list redhat com
Sr. Systems Engineer
1) centos is virtually same as centos, its needed for both
On 19 February 2015 at 22:28, Jason Calafiore <jason calafiore gmail com> wrote:
I am testing Spacewalk and trying to register my first CentOS client. I am following the directions on the main documentation.
According to the directions I need to install on the client OS
- Install spacewalk-client-repo RPM
- Do a yum install rhn-client-tools rhn-check rhn-setup rhnsd m2crypto yum-rhn-plugin
- Are those yum packages needed for CentOS or only RHEL?
- The client OS is not connected to the internet, hence the reason I am want to use spacewalk to do patch management. So the main issue is how to get the necessary RPM’s on the client. I’ve downloaded the spacewalk-client-repo on the Spacewalk server and added it /var/www/html so that I could download and install it from the client. Is this what others have done to deal with this situation?