On 04/04/2013 04:31 PM, Jan Pazdziora wrote: > On Thu, Apr 04, 2013 at 03:37:07PM +0200, Johannes Renner wrote: >> On 03/22/2013 02:55 PM, Michael Calmer wrote: >>> Hi, >>> >>> please do not apply these patches. I found out, that it is not correct. >>> It removes the channels at more places than needed. >> >> I guess the initial patch would be fine, as long as we add some additional >> small fixes on top. Here is another single patch containing everything. >> >> Basically what we are doing is to distinguish between "kickstartable" and >> "autoinstallable" channels. It would be really helpful though to get some >> feedback from you about using the anaconda package as a filter criteria. > > Can you elaborate on the purpose of this change in general? The current > code uses the > > Channel.kickstartableChannels > > query everywhere (via getKickstartableChannels). The patch seems to > change the semantics for all getKickstartableChannels(org) > invocations. What is the purpose? Why should all the other invocations > start to care about anaconda?
Sure, the problem is with the "create a new kickstart profile" wizard that can be found if you navigate to "Systems" -> "Kickstart". The first step of this wizard lets you decide on a base channel for the profile, where the above query is used to determine the candidates. SUSE channels should *not* be listed here, since it is not possible to have a kickstart profile with a SUSE base channel. This leads to the conclusion that only those channels should be listed, that actually support kickstarts (-> "kickstartable"). As far as we know, Anaconda is the package that should make a channel kickstartable, since the whole kickstarting seems to be implemented in there, right? It's different though with the kickstart "distributions". If you go there and click "create new distribution", you want to have those SUSE channels listed a well. Distributions can be used with kickstart *as well as* with autoyast profiles! That's why we would need to return the unfiltered list here. We named this superset "autoinstallable" channels. All other invocations should be expecting "kickstartable" channels only. > Also, I'm not sure about the use of > ChannelManager.listLatestPackagesEqual here -- we don't care about > the latest at all, do we? The thing is happy about any package it > finds so the best way is to just check for existence, without any > newest computation needed. I don't think there is actually logic implemented that would produce any kind of overhead. It's all in the database as you can see if you look at the used query (in Channel_queries.xml) "latest_package_equal". Also I saw in another place that looking up a package was done like this, so this method appeared to be easier than anything else. It can be changed of course, if you want. I agree that we don't need the latest version of a package, but it looks like as soon as there is a record in the table "rhnChannelNewestPackage", we can assume this package is contained in the channel. Regards, Johannes -- SUSE LINUX Products GmbH, HRB 16746 (AG Nürnberg) GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer _______________________________________________ Spacewalk-devel mailing list Spacewalk-devel@redhat.com https://www.redhat.com/mailman/listinfo/spacewalk-devel