Same for me ;)

So, let me refactor and remove "my" feature.simple bundle to include in 
features.core.

I will create the PR soon.

Regards
JB

> Le 19 mai 2021 à 09:21, Grzegorz Grzybek <gr.grzy...@gmail.com> a écrit :
> 
> śr., 19 maj 2021 o 08:59 Jean-Baptiste Onofre <j...@nanthrax.net> napisał(a):
> 
>> Yes, both are possible.
>> 
>> Maybe keeping all in org.apache.karaf.features.core with a configuration
>> to use a different deploy/approach is better than a complete new features
>> bundle.
>> It’s not a problem to me to refactor what I did.
>> 
>> Thoughts ?
>> 
> 
> Personally I'm 65% for keeping single features.core + configuration option
> and 35% for features.simple ;)
> 
> regards
> Grzegorz Grzybek
> 
> 
>> 
>> Regards
>> JB
>> 
>>> Le 19 mai 2021 à 08:01, Grzegorz Grzybek <gr.grzy...@gmail.com> a écrit
>> :
>>> 
>>> śr., 19 maj 2021 o 07:53 Jean-Baptiste Onofre <j...@nanthrax.net <mailto:
>> 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*
>> 
>> 

Reply via email to