[Spacewalk-devel] Solution for NVREA issue?

Jan Pazdziora jpazdziora at redhat.com
Thu Jun 26 16:10:28 EDT 2008

On Wed, Jun 25, 2008 at 11:35:04AM -0400, Justin Sherrill wrote:
> Currently you can push content to the satellite without specifying a  
> channel, so a package may not always be added to a channel when pushing  

Is this a reasonable use case? Maybe if you don't specify channel, it
should land in some special "Private channel of user X"?

> it.  Checking a log file somewhere is not really an acceptable solution  
> IMHO, and that's too much information to make easily digestible on a per  
> package basis.

I'm not suggesting checking a log file. I suggest that we might want
to do much better job tracking all sorts of things in the future (in
the database), and ways and times how packages get synced / pushed to
Spacewalk is one of the areas where we can store and present the

>		  What if you have 100 different packages each with a  
> duplicate NVREA package and you don't know which is which?

And I've rhnpushed them all to Spacewalk and did not specify channels
for them? I deserve the mess I had created, I'd say. ;-)

>							  I'm not  
> saying for auditing sake, I'm just saying so you can look at a list of  
> packages and know where the heck they came from :}

The "where and when (and why) we have this package" should be columns
in the package listing which the user could turn on if he/she wished
doing so.

> Maybe this isn't a big deal for people, but i would think it would be.   
> We aren't just a content distributor (like epel), but also a content  
> management app.  I'm afraid if we just track by gpg id, the management  
> part will become quite difficult.
> What if we track by GPG id, but then have a way to associate the gpg id  
> with "providers"? 

The trouble is ... this provider concept does not seem to have any
relationship to anything in the real world. RHEL has packages from
Fedora, Fedora versions have packages from different Fedora versions.
Anybody can take any package and put it into their repository. Anybody
can create as many packages with the same NEVRA as they wish.

We cannot prevent this happening in the real world. That's why I
suspect we sooner or later hit limits of providers because they try
to describe something which actually does not exist.

> So if a system has 2 (or 3 or 4...) packages with the same NVREA, which  
> ones gets installed?  Technically they don't have to be the same package  

We probably need to have an "override policy" for each child channel,
or maybe even for each parent <-> child channel mapping. This would
specify what packages take precedence if multiple channels provide the
same package (package with the same NVRA). In some cases, the child
channel is there to override. In some cases, the parent channel will
be always true and the child channel has a much lower priority.

> resigned.  I'm guessing yum handles this currently (not sure which one  
> it chooses, possibly just the first one listed), but I know up2date  
> doesn't and all of dep solving will have to be modified to account for  
> this.

Jan Pazdziora | adelton at #satellite*, #brno
Satellite Engineering, Red Hat

More information about the Spacewalk-devel mailing list