Satellite API with Perl

Latest response

I have been working the last couple of weeks on building a way to do a full enterprise wide patch script.  The script will do many things, but key to its success is that I must be able to update a channel with packages, and then errata from the main RedHat channels automatically.  I have written the code to do it in Perl. 

I am able to successfuly update the channels with new packages merged from the RedHat channels.  I print out a nice list of the channels along with what packages were added. 

I need to do the same with errata.  When I do this, the errata prints out as though it has merged, but it does not.  It just lists the data. 

I found a couple of interesting things with 'channel.software.mergeErrata'.  First is that the dates are listed YYYY/MM/DD.  The documentation does not specifiy, but that seems to work.  Second is that when I run the following line, I get a list of the errata, but the merge does not actually happen.  I think there must be an additional step, or something, but I have not been able to find it. 

Code:  my $updatedErrata = $satClient->call('channel.software.mergeErrata', $satSession, $sourceChannel, $destChannel, $startDate, $endDate);

I can provide more code, but that is the important line.  I use the $satClient, and $satSession in other calls (to update the packages) with no problems.  Has anyone done this before?  Any ideas?

Responses