Joe S,

Just to elaborate a little bit on what Matt mentioned about the
versioning of components/extensions...

That capability is described in a feature proposal called "Multiple
Versions of the Same Extension" [1], and as Matt pointed out this work
is underway and being tracked under NIFI-3380. When that work is
completed then someone could deploy my-custom-processor-1.nar and
my-custom-processor-2.nar which have MyCustomProcessor v1 and v2
respectively, and NiFi would be able to run these at the same. I
didn't originally mention this just because on its own it is not
dependent on a registry concept. Once that part is in place, it would
then allow NiFi to make use of an extension registry where someone
could see that my-custom-processor-3.nar was available and easily it
bring it into a running NiFi and start using it along side v1 and v2
if desired.

Oleg,

I definitely agree that there are still some aspects of the extension
registry that need to be designed and thought through, and by no means
did I intend to dictate how it would be implemented. I definitely
agree with your idea of possibly having a set of strategies as a way
to achieve the best of worlds, and I was thinking of the same concept
for the flow registry in terms of having a pluggable back-end for the
persistence of flows so that anyone could build their own persistence
mechanism. I could definitely see this approach working well for the
community for both the flow and extension registries.

Thanks,

Bryan

[1] 
https://cwiki.apache.org/confluence/display/NIFI/Multiple+Versions+of+the+Same+Extension

On Thu, Feb 9, 2017 at 9:26 AM, Oleg Zhurakousky
<ozhurakou...@hortonworks.com> wrote:
> Joe
>
> Versioning is probably the second main driver for the externalization as a 
> concept. I believe in it so strongly that I would probably cast -1 if 
> versioning was not part of it ;)
> And some of the existing ready to use solutions already provide versioning of 
> artifacts (Binary, GitHub etc), which sets the expectations, so not having i 
> would be sad. . . so sad ;)
>
> Cheers
> Oleg
>> On Feb 9, 2017, at 8:45 AM, Joe Skora <jsk...@gmail.com> wrote:
>>
>> +1 as well.  Glad to help if needed.
>>
>> Do you think this will include support for versioned Processors and
>> Controller Services, such that I could have SuperWidgetProcessor 1.0 and
>> SuperWidgetProcessor 1.5 on the same flow?
>>
>> On Thu, Feb 9, 2017 at 8:42 AM, Matt Gilman <matt.c.gil...@gmail.com> wrote:
>>
>>> +1. I really like this idea. Should ease deployments between instances and
>>> facilitate a better UX throughout the lifecycle of a dataflow.
>>>
>>> Matt
>>>
>>> On Thu, Feb 9, 2017 at 7:52 AM, Koji Kawamura <ijokaruma...@gmail.com>
>>> wrote:
>>>
>>>> Huge +1! I was excited to read the design documents :)
>>>> Agree with flow versioning at ProcessGroup level.
>>>>
>>>> I don't know if this is helpful, but here is an experimental project
>>>> of mine which tries to achieve the same goal, versioning ProcessGroup.
>>>> https://github.com/ijokarumawak/nifi-deploy-process-group
>>>>
>>>> It contains logics that will probably need to be implemented such as
>>>> checking remaining flow files in the queues around ProcessGroup, or
>>>> checking number of input/output ports from/to the ProcessGroup ... etc
>>>>
>>>> Hope that helps in some way, and I'd like to help make this come true!
>>>>
>>>> Thanks,
>>>> Koji
>>>>
>>>> On Thu, Feb 9, 2017 at 9:43 PM, Joe Gresock <jgres...@gmail.com> wrote:
>>>>> +1, I've been waiting for this idea since NiFi went open source!
>>>>>
>>>>> On Thu, Feb 9, 2017 at 4:53 AM, Ricky Saltzer <ri...@cloudera.com>
>>>> wrote:
>>>>>
>>>>>> I'm a big +1 to this proposal. It would solve a huge burden that is
>>>> keeping
>>>>>> NARs up to date in environments where there's alot of teams that share
>>>> NARs
>>>>>> but have separate NiFi deployments and repositories.
>>>>>>
>>>>>> On Feb 8, 2017 7:09 PM, "Peter Wicks (pwicks)" <pwi...@micron.com>
>>>> wrote:
>>>>>>
>>>>>>> I think a lot of us are facing the same challenges, and this sounds
>>>> like
>>>>>> a
>>>>>>> step in the right direction.
>>>>>>> I had actually started to dig into a Flow Configuration plugin that
>>>> would
>>>>>>> use Git branches to copy/sync flows between instances/environments,
>>>> and
>>>>>>> keep them versioned; hadn't gotten very far.
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Jeremy Dyer [mailto:jdy...@gmail.com]
>>>>>>> Sent: Wednesday, February 08, 2017 3:54 PM
>>>>>>> To: dev@nifi.apache.org
>>>>>>> Subject: Re: [DISCUSS] Proposal for an Apache NiFi sub-project -
>>> NiFi
>>>>>>> Registry
>>>>>>>
>>>>>>> Bryan - I think this is a fantastic idea. I would also think this
>>>> would
>>>>>> be
>>>>>>> a good place to add a "device registry" as well. It makes much more
>>>> sense
>>>>>>> in my mind to have these efforts in sub projects outside of the
>>>>>> nifi/minifi
>>>>>>> core.
>>>>>>>
>>>>>>> On Wed, Feb 8, 2017 at 4:50 PM, Bryan Bende <bbe...@gmail.com>
>>> wrote:
>>>>>>>
>>>>>>>> NiFi Community,
>>>>>>>>
>>>>>>>> I'd like to initiate a discussion around creating a sub-project of
>>>>>>>> NiFi to encompass the registry capabilities outlined in several of
>>>> the
>>>>>>>> feature proposals on the Wiki [1]. A possible name for this
>>>>>>>> sub-project is simply "NiFi Registry".
>>>>>>>>
>>>>>>>> Currently there are two feature proposals that call for NiFi to
>>>>>>>> interact with an external registry:
>>>>>>>>
>>>>>>>> Configuration Management of Flows [2]  - This feature proposal
>>> calls
>>>>>>>> for a flow registry where versioned flows can be published and
>>>>>>>> consumed, allowing flows to be easily migrated between
>>> environments
>>>> .
>>>>>>>>
>>>>>>>> Extension Registry [3] - This feature proposal calls for a place
>>> to
>>>>>>>> publish NARs containing extensions, allowing NiFi to decouple
>>> itself
>>>>>>>> from including all of the NARs in the main distribution, and
>>>> allowing
>>>>>>>> better discovery of available extensions.
>>>>>>>>
>>>>>>>> The idea would be to create a NiFi Registry sub-project, with
>>>>>>>> sub-modules for the various registries. These registries could
>>> then
>>>> be
>>>>>>>> packaged and distributed as a single artifact and run as a
>>>>>>>> complimentary application to NiFi and MiNiFi. NiFi would not
>>> require
>>>>>>>> the registry application, however, a given NiFi could be
>>> configured
>>>> to
>>>>>>>> know about one or more flow registries, or one or more extension
>>>>>>>> registries.
>>>>>>>>
>>>>>>>> Creating a sub-project would allow the registry code to evolve
>>>>>>>> independently of NiFi and be released on it's own timeline. In
>>>>>>>> addition, it would make tracking issues/work much clearer through
>>> a
>>>>>>>> separate JIRA.
>>>>>>>>
>>>>>>>> Please discuss and provide and thoughts or feedback.
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>>
>>>>>>>> Bryan
>>>>>>>>
>>>>>>>> [1] https://cwiki.apache.org/confluence/display/NIFI/NiFi+
>>>>>>>> Feature+Proposals
>>>>>>>> [2] https://cwiki.apache.org/confluence/display/NIFI/
>>>>>>>> Configuration+Management+of+Flows
>>>>>>>> [3] https://cwiki.apache.org/confluence/display/NIFI/
>>>>>>>> Extension+Repositories+%28aka+Extension+Registry%29+for+
>>>>>>>> Dynamically-loaded+Extensions
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> I know what it is to be in need, and I know what it is to have
>>> plenty.  I
>>>>> have learned the secret of being content in any and every situation,
>>>>> whether well fed or hungry, whether living in plenty or in want.  I can
>>>> do
>>>>> all this through him who gives me strength.    *-Philippians 4:12-13*
>>>>
>>>
>

Reply via email to