[Spacewalk-list] question about behavior of mergeErrata

Brian Collins brianc at sedata.com
Fri Apr 8 12:43:54 UTC 2011


If you're also on the satellite-users list, please forgive the
cross-post.  I'm thinking perhaps this is a better place for this
question.

I'm curious about the behavior of the mergeErrata API call (in Satellite
5.4) as compared to cloning errata via the GUI.  Feel free to slap me
around with the clue stick here; I just want to make sure I'm doing it
right.

First, assume I have 2 custom channels based on RHEL 5 x86_64: sandbox
and devel.  I have already cloned relevant errata to sandbox using the
GUI, and now would like for said errata to be available to systems in
devel.

In the GUI:
I go to Channels, Manage Software Channels, devel, Errata, Clone.  At
this point, if I had not previously cloned this errata, my options would
be"Clone as <something>" and "Do nothing."  Since I have previously
cloned this errata, I get a third option: "Merge w/ CLA-<something>".
Now, if I choose either Clone or Merge, the next time taskomatic runs, I
can also see in the channel the packages associated with those errata.
All is well.  However, when I use the mergeErrata API call, I'm seeing
something slightly different...

Using the API:
I run the channel.software.mergeErrata API call, referencing the base
Red Hat channel as the source, and "devel" as the destination.  Here's
where I need some clarification...Since I've previously cloned the
applicable errata using the GUI, I would expect this merge command to do
the same thing that "Merge w/ CLA-<something>" does in the GUI.  Namely,
I'd expect the packages to get copied into my custom channel when
taskomatic runs again.  But what seems to be happening is that the
association gets made without the packages getting copied.  Because,
when I go back into the GUI for "devel", and under Errata I choose Sync,
I see those errata as available to sync (which, to me, says the packages
aren't yet there which support those errata).
 
Now, based on what I read regarding BZ 591291, that might be expected
behavior.  So, my big question is this: should my procedure be to run
both mergeErrata and mergePackages when I want to use the API to bring a
custom channel's errata up to date with a base channel?  And if so, I
have a follow-up question, which is: can I sync packages from errata
without syncing packages that are not associated with an errata.  From
time to time packages are released that are not part of any errata, and
I don't always put a high priority on making those available to my
client systems (i.e. I don't test them as soon as I do the errata). 

Or, should I just use cloneErrata always?  It seems that would create a
unique errata name each time I run it, instead of having the same
CLA-<something> merged into each custom channel.

Thanks,
Brian Collins, RHCE
Southeastern Data Cooperative
(678) 906-2358
brianc at sedata.com




More information about the Spacewalk-list mailing list