śr., 19 maj 2021 o 07:53 Jean-Baptiste Onofre <j...@nanthrax.net> napisał(a):
> 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, different, "non-canonical" distribution is fine ;) > > Another possible approach is a configuration in > etc/org.apache.karaf.features.cfg where we use a different/pluggable > deployer. > This can still be done in standard, "canonical" distro, but as commented-out configuration option. regards Grzegorz Grzybek > > 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* > >>>>> > >>> > >> > >> > >