Hi, Actually, it’s a complete separated bundle.
So, in the Karaf standard distribution, you will have org.apache.karaf.features.core in etc/startup.properties: that’s the regular/current one with the resolver. Alternatively, you will have another distribution (I have to think about the name), where you will have org.apache.karaf.features.simple in etc/startup.properties: it doesn’t use the resolver, just loading the features model and executing what’s in there. Another possible approach is a configuration in etc/org.apache.karaf.features.cfg where we use a different/pluggable deployer. Thoughts ? Regards JB > Le 19 mai 2021 à 07:41, Grzegorz Grzybek <gr.grzy...@gmail.com> a écrit : > > Hello > > śr., 19 maj 2021 o 07:35 Jean-Baptiste Onofre <j...@nanthrax.net> napisał(a): > >> Hi, >> >> Regarding recent comments from users and lot of refresh issues/questions >> we have in the past, I moved forward with a new simple features service >> that doesn’t use the resolver. It basically reads the features repo >> definition and just install what’s define in there statically. >> >> I will prepare a distribution using it by default. >> > > Will it be configurable? I know about refresh problems - but the resolver > did a good job showing you what's wrong with the set of features/bundles > you're installing. > Do you plan to switch to resolverless features service in micro release of > Karaf? Or will it be Karaf 4.4 / 5? > > regards > Grzegorz Grzybek > > >> >> I will share some details soon. >> >> Regards >> JB >> >>> Le 12 janv. 2021 à 06:07, Jean-Baptiste Onofre <j...@nanthrax.net> a >> écrit : >>> >>> Hi, >>> >>> It doesn’t really break, it just don’t use it. >>> >>> It’s up to you to install all feature/bundle requirements. >>> >>> Regards >>> JB >>> >>>> Le 11 janv. 2021 à 21:09, Markus Rathgeb <maggu2...@gmail.com> a écrit >> : >>>> >>>> Hi, >>>> >>>>> - ignore requirement/capability (no resolver) >>>> >>>> did I get it right that this breaks the dependency=true feature that >>>> installs bundles / features only if a requirement is not fullfilled yet? >>>> >>>> Am Fr., 8. Jan. 2021 um 15:01 Uhr schrieb Patrique Legault < >>>> patriquelega...@gmail.com>: >>>> >>>>> Same here, >>>>> >>>>> This is behaviour that has been expected for some time now, reversing >> it >>>>> could cause damage to systems that upgrade to the latest Karaf. I would >>>>> make it something that users opt into vs having to opt-out of. >>>>> >>>>> On Fri, 8 Jan 2021 at 08:42, Daniel Las <daniel....@empirica.io >> .invalid> >>>>> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> It looks like some kind of backward incompatible change introduced >> within >>>>>> patch version change. I personally would like to keep auto refresh >> "on" >>>>> by >>>>>> default as this is expected/desired behavior for me. >>>>>> >>>>>> Regards >>>>>> >>>>>> pt., 8 sty 2021 o 07:31 Jean-Baptiste Onofre <j...@nanthrax.net> >>>>> napisał(a): >>>>>> >>>>>>> Hi everyone, >>>>>>> >>>>>>> We got several user feedback, complaining about unexpected and >> cascaded >>>>>>> (unrelated) refresh while installing features. >>>>>>> >>>>>>> As reminder, a refresh can happen when: >>>>>>> - bundle A imports package foo:1 and a bundle provides newer foo >>>>> package >>>>>>> version. In that case, the features service will refresh A to use the >>>>>>> newest package version. >>>>>>> - bundle A has an optional import to package foo and a bundle >> provides >>>>>>> this package. In that case, the features service will refresh A to >>>>>> actually >>>>>>> use the import as it’s a "resolved" optional. >>>>>>> - bundle A is wired to bundle B (from a package perspective or >>>>>>> requirement) and B is refreshed. In that case, the features service >>>>> will >>>>>>> refresh A as B is itself refreshed (for the previous reasons for >>>>>> instance). >>>>>>> This can cause "cascading" refresh. >>>>>>> >>>>>>> A refresh means that a bundle can be restarted (if the bundle >> contains >>>>> an >>>>>>> activator or similar (DS component, blueprint bundle)). >>>>>>> >>>>>>> In this PR https://github.com/apache/karaf/pull/1287, I propose to >>>>>>> introduce a new property autoRefresh in >>>>> etc/org.apache.karaf.features.cfg >>>>>>> to disable the auto refresh by the features service (and let the user >>>>>>> decides when he wants to trigger refresh with bundle:refresh command >>>>> for >>>>>>> instance). >>>>>>> I propose to keep autoRefresh=true on 4.2.x and turn >> autoRefresh=false >>>>> on >>>>>>> 4.3.x. >>>>>>> >>>>>>> Thoughts ? >>>>>>> >>>>>>> On the other hand (and to prepare the "path" to Karaf5), I have >>>>> created a >>>>>>> new "simple features service" (PR will be open soon) that: >>>>>>> >>>>>>> - just take the features definition in order (ignoring start level) >>>>>>> - ignore requirement/capability (no resolver) >>>>>>> - no auto refresh >>>>>>> >>>>>>> Basically, if you have the following feature definition: >>>>>>> >>>>>>> <feature name="foo" version="1.0"> >>>>>>> <feature>bar</feature> >>>>>>> <bundle>A</bundle> >>>>>>> <bundle>B</bundle> >>>>>>> </feature> >>>>>>> >>>>>>> The features service will fully install/start bar feature first, then >>>>>>> bundle A, then bundle B. >>>>>>> To use this "simple features services, you just have to replace >>>>>>> org.apache.karaf.features.core by org.apache.karaf.features.simple >>>>> bundle >>>>>>> in etc/startup.properties (or custom distribution). >>>>>>> >>>>>>> It’s similar to the Karaf 5 extension behavior (I will share complete >>>>>>> details about Karaf 5 and its concepts (module, extension, …) very >>>>> soon, >>>>>>> but that’s another thread ;)). >>>>>>> >>>>>>> The big advantages of this approach is: >>>>>>> - predictable/deterministic provisioning (if it works fine, it works >>>>>> again) >>>>>>> - faster deployment (I estimated the gain to about 70%) >>>>>>> >>>>>>> Thoughts ? >>>>>>> >>>>>>> If you agree, I will move forward on both tasks. >>>>>>> >>>>>>> Thanks, >>>>>>> Regards >>>>>>> JB >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Daniel Łaś >>>>>> CTO at Empirica S.A. >>>>>> +48 695 616181 >>>>>> >>>>> >>>>> >>>>> -- >>>>> *Patrique Legault* >>>>> >>> >> >>