Satellite API calls

Georgios Magklaras georgios at biotek.uio.no
Sat Feb 16 09:59:07 UTC 2013


On 15/02/13 22:12, Jens Skott wrote:
> Heyas. Im currently working on a deploymentflow using RHEL6 with
> satellite as repo to deploy new machines.
> Since we build alot of inhouse applications for our systems we package
> using RPM and send them to a channel in the satellite.
> I have worked out a scrip that syncs the whole channel and/or child
> channels, but since our application channel consists of more then just
> one application I can´t automate it.
> If I clone our test channel (with all the packages in it), some
> untested packages might be synced to our staging channel.
> Since i havnt found a way to call the satellite using API to just move
> one package i have to do it manually and it takes alot of time from my
> daily work.
> Have anyone had any experience with this type of problem before? Or
> should i just create more channels? We have around 50 different
> systems (one channel for each then) with about 5-10 packages for each
> system.
>
> Jens Skott
> Tel: +46-8-5142 4396
> Schibsted Centralen IT
>
With all the respect to Redhat's satellite server (and the Spacewalk 
community project), I think it is too much overhead for the number of 
systems. What I tend to do for setups of this size is to make a 
traditional software repository. Get an NFS or HTTP server, ACL it so 
that it is secure and layout the structure of your RPM repositories. 
Then insert these repositories in /etc/yum.repos.d, write your cronjobs 
and you are done.

An alternative option is yum localinstall. If you NFS import a directory 
that contains the tree of your RPMs and layout the directory structure 
so each client can run a yum localinstall on a specific/per client dir 
with the relevant RPMs, that should also do the trick. Quoting the yum 
manual page:
localupdate
               Is  used to update the system by specifying local rpm 
files. Only the specified rpm files of which an older version is already 
installed will be
               installed, the remaining specified packages will be 
ignored.  If required the enabled repositories will be used to resolve  
dependencies.  Note
               that the update command will do a local install, if given 
a filename.

I used both of these approaches on IT setups of up to 150 
servers/workstations with tools like:

http://code.google.com/p/floep/
OR
http://sourceforge.net/projects/clusterssh/

to handle a large number of systems with one SSH command and it did the 
trick. That is not to say that RH Satellite is not nice. In my mind, 
simpler command line commodity setups are preferable over user friendly 
enterprise/nice GUI approaches.

GM

Best regards,

-- 
-- 
George Magklaras PhD
RHCE no: 805008309135525
  
Head of IT/Senior Systems Engineer
Biotechnology Center of Oslo and
the Norwegian Center for Molecular Medicine/
Vitenskapelig Databehandling (VD) -
Research Computing Services

EMBnet TMPC Chair

http://folk.uio.no/georgios
http://hpc.uio.no

Tel: +47 22840535




More information about the redhat-list mailing list