[jira] [Created] (NIFIREG-448) Using the BucketFlows Diff endpoint generates an NPE

2021-04-01 Thread Daniel Chaffelson (Jira)
Daniel Chaffelson created NIFIREG-448:
-

 Summary: Using the BucketFlows Diff endpoint generates an NPE
 Key: NIFIREG-448
 URL: https://issues.apache.org/jira/browse/NIFIREG-448
 Project: NiFi Registry
  Issue Type: Bug
Affects Versions: 0.8.0
Reporter: Daniel Chaffelson


Calling the Bucket Flows Diff endpoint generates an NPE

It might be this courtesy of [~bbende] :
{noformat}
final FlowComparator flowComparator = new 
StandardFlowComparator(comparableFlowA, comparableFlowB,
null, new ConciseEvolvingDifferenceDescriptor());{noformat}
 
{noformat}
An unexpected error has occurred: java.lang.NullPointerException. Returning 
Internal Server Error response.java.lang.NullPointerException: nullat 
org.apache.nifi.registry.flow.diff.StandardFlowComparator.lambda$compareProperties$2(StandardFlowComparator.java:218)
at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684)at 
org.apache.nifi.registry.flow.diff.StandardFlowComparator.compareProperties(StandardFlowComparator.java:182)
at 
org.apache.nifi.registry.flow.diff.StandardFlowComparator.compare(StandardFlowComparator.java:156)
at 
org.apache.nifi.registry.flow.diff.StandardFlowComparator.lambda$compareComponents$0(StandardFlowComparator.java:89)
at java.util.HashMap.forEach(HashMap.java:1289)at 
org.apache.nifi.registry.flow.diff.StandardFlowComparator.compareComponents(StandardFlowComparator.java:87)
at 
org.apache.nifi.registry.flow.diff.StandardFlowComparator.compare(StandardFlowComparator.java:341)
at 
org.apache.nifi.registry.flow.diff.StandardFlowComparator.lambda$compare$4(StandardFlowComparator.java:347)
at 
org.apache.nifi.registry.flow.diff.StandardFlowComparator.lambda$compareComponents$0(StandardFlowComparator.java:89)
at java.util.HashMap.forEach(HashMap.java:1289)at 
org.apache.nifi.registry.flow.diff.StandardFlowComparator.compareComponents(StandardFlowComparator.java:87)
at 
org.apache.nifi.registry.flow.diff.StandardFlowComparator.compare(StandardFlowComparator.java:347)
at 
org.apache.nifi.registry.flow.diff.StandardFlowComparator.lambda$compare$4(StandardFlowComparator.java:347)
at 
org.apache.nifi.registry.flow.diff.StandardFlowComparator.lambda$compareComponents$0(StandardFlowComparator.java:89)
at java.util.HashMap.forEach(HashMap.java:1289)at 
org.apache.nifi.registry.flow.diff.StandardFlowComparator.compareComponents(StandardFlowComparator.java:87)
at 
org.apache.nifi.registry.flow.diff.StandardFlowComparator.compare(StandardFlowComparator.java:347)
at 
org.apache.nifi.registry.flow.diff.StandardFlowComparator.lambda$compare$4(StandardFlowComparator.java:347)
at 
org.apache.nifi.registry.flow.diff.StandardFlowComparator.lambda$compareComponents$0(StandardFlowComparator.java:89)
at java.util.HashMap.forEach(HashMap.java:1289)at 
org.apache.nifi.registry.flow.diff.StandardFlowComparator.compareComponents(StandardFlowComparator.java:87)
at 
org.apache.nifi.registry.flow.diff.StandardFlowComparator.compare(StandardFlowComparator.java:347)
at 
org.apache.nifi.registry.flow.diff.StandardFlowComparator.lambda$compare$4(StandardFlowComparator.java:347)
at 
org.apache.nifi.registry.flow.diff.StandardFlowComparator.lambda$compareComponents$0(StandardFlowComparator.java:89)
at java.util.HashMap.forEach(HashMap.java:1289)at 
org.apache.nifi.registry.flow.diff.StandardFlowComparator.compareComponents(StandardFlowComparator.java:87)
at 
org.apache.nifi.registry.flow.diff.StandardFlowComparator.compare(StandardFlowComparator.java:347)
at 
org.apache.nifi.registry.flow.diff.StandardFlowComparator.compare(StandardFlowComparator.java:76)
at 
org.apache.nifi.registry.flow.diff.StandardFlowComparator.compare(StandardFlowComparator.java:67)
at 
org.apache.nifi.registry.service.RegistryService.getFlowDiff(RegistryService.java:1055)
at 
org.apache.nifi.registry.service.RegistryService$$FastClassBySpringCGLIB$$274de08.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) 
   at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:771)
at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
at 
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:366)
at 
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118)
at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at 

[jira] [Commented] (NIFI-7995) Requesting create Parameter Context via API with Parameters null generates an NPE

2020-11-11 Thread Daniel Chaffelson (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-7995?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17230062#comment-17230062
 ] 

Daniel Chaffelson commented on NIFI-7995:
-

Use the Next branch of NiPyAPI:

[https://github.com/Chaffelson/nipyapi/blob/27002493d6f4fbe85d2c0f62d4d69f2825883ac9/nipyapi/parameters.py#L91]
Modify this line to be 'else None' to submit the json null instead of empty 
list, and it should produce the NPE.

> Requesting create Parameter Context via API with Parameters null generates an 
> NPE
> -
>
> Key: NIFI-7995
> URL: https://issues.apache.org/jira/browse/NIFI-7995
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Affects Versions: 1.10.0, 1.12.1
>Reporter: Daniel Chaffelson
>Assignee: Otto Fowler
>Priority: Minor
>
> org.apache.nifi.web.api.ParameterContextResource.validateParameterNames(ParameterContextResource.java:403)
> gets very upset if you submit a JSON with null for the Parameter listing 
> instead of an empty or populated list. It is a minor thing, but probably 
> worth tidying up in the validator.
> Discovered because NiPyAPI defaults to Python 'None' for unpopulated 
> properties.
>  
> Full logged error is:
> 2020-11-09 13:20:28,612 ERROR [NiFi Web Server-22] 
> o.a.nifi.web.api.config.ThrowableMapper An unexpected error has occurred: 
> java.lang.NullPointerException. Returning Internal Server Error response.
> java.lang.NullPointerException: null
>   at 
> org.apache.nifi.web.api.ParameterContextResource.validateParameterNames(ParameterContextResource.java:403)
>   at 
> org.apache.nifi.web.api.ParameterContextResource.createParameterContext(ParameterContextResource.java:199)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:498)
>   at 
> org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:76)
>   at 
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:148)
>   at 
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:191)
>   at 
> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:200)
>   at 
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:103)
>   at 
> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:493)
>   at 
> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:415)
>   at 
> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:104)
>   at 
> org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:277)
>   at org.glassfish.jersey.internal.Errors$1.call(Errors.java:272)
>   at org.glassfish.jersey.internal.Errors$1.call(Errors.java:268)
>   at org.glassfish.jersey.internal.Errors.process(Errors.java:316)
>   at org.glassfish.jersey.internal.Errors.process(Errors.java:298)
>   at org.glassfish.jersey.internal.Errors.process(Errors.java:268)
>   at 
> org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:289)
>   at 
> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:256)
>   at 
> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:703)
>   at 
> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:416)
>   at 
> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:370)
>   at 
> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:389)
>   at 
> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:342)
>   at 
> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:229)
>   at 
> org.eclipse.jetty.servlet.ServletHolder$NotAsyncServlet.service(ServletHolder.java:1395)
>   at 
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:755)
>   at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1617)
>   at 
> org.apache.nifi.web.filter.RequestLogger.doFilter(RequestLogger.java:66)
>   at 
> 

[jira] [Created] (NIFI-7995) Requesting create Parameter Context via API with Parameters null generates an NPE

2020-11-10 Thread Daniel Chaffelson (Jira)
Daniel Chaffelson created NIFI-7995:
---

 Summary: Requesting create Parameter Context via API with 
Parameters null generates an NPE
 Key: NIFI-7995
 URL: https://issues.apache.org/jira/browse/NIFI-7995
 Project: Apache NiFi
  Issue Type: Bug
  Components: Core Framework
Affects Versions: 1.12.1, 1.10.0
Reporter: Daniel Chaffelson


org.apache.nifi.web.api.ParameterContextResource.validateParameterNames(ParameterContextResource.java:403)
gets very upset if you submit a JSON with null for the Parameter listing 
instead of an empty or populated list. It is a minor thing, but probably worth 
tidying up in the validator.

Discovered because NiPyAPI defaults to Python 'None' for unpopulated properties.

 

Full logged error is:
2020-11-09 13:20:28,612 ERROR [NiFi Web Server-22] 
o.a.nifi.web.api.config.ThrowableMapper An unexpected error has occurred: 
java.lang.NullPointerException. Returning Internal Server Error response.
java.lang.NullPointerException: null
at 
org.apache.nifi.web.api.ParameterContextResource.validateParameterNames(ParameterContextResource.java:403)
at 
org.apache.nifi.web.api.ParameterContextResource.createParameterContext(ParameterContextResource.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at 
org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:76)
at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:148)
at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:191)
at 
org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:200)
at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:103)
at 
org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:493)
at 
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:415)
at 
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:104)
at 
org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:277)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:272)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:268)
at org.glassfish.jersey.internal.Errors.process(Errors.java:316)
at org.glassfish.jersey.internal.Errors.process(Errors.java:298)
at org.glassfish.jersey.internal.Errors.process(Errors.java:268)
at 
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:289)
at 
org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:256)
at 
org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:703)
at 
org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:416)
at 
org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:370)
at 
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:389)
at 
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:342)
at 
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:229)
at 
org.eclipse.jetty.servlet.ServletHolder$NotAsyncServlet.service(ServletHolder.java:1395)
at 
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:755)
at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1617)
at 
org.apache.nifi.web.filter.RequestLogger.doFilter(RequestLogger.java:66)
at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317)
at 
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
at 
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
at 

[jira] [Created] (NIFI-5715) Swagger def missing new Processor Validating status

2018-10-17 Thread Daniel Chaffelson (JIRA)
Daniel Chaffelson created NIFI-5715:
---

 Summary: Swagger def missing new Processor Validating status
 Key: NIFI-5715
 URL: https://issues.apache.org/jira/browse/NIFI-5715
 Project: Apache NiFi
  Issue Type: Bug
  Components: Core Framework
Affects Versions: 1.7.1
Reporter: Daniel Chaffelson


Building the Swagger Json from the rel/nifi-1.7.1 tag produces a definition 
that is missing the 'Validating' status from relevant Processor Status DTO and 
Processor Status Snapshot DTO introduced in recent versions.

 

The workaround is to manually add 'Validating' to the list of status entries 
before compiling any NiFi client against this definition.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-4900) nifi Swagger definition - FlowApi ScheduleComponents returns empty component list

2018-02-23 Thread Daniel Chaffelson (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-4900?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16375059#comment-16375059
 ] 

Daniel Chaffelson commented on NIFI-4900:
-

Thanks for the detailed explanation [~mcgilman]

This makes sense, in that the field is essentially for submission control only. 
It is not difficult to implement a wait loop for the components to achieve the 
submitted state or timeout, which is ultimately what I've done in my Python 
Client SDK.

I think, from your description, that this isn't a bug and also isn't really 
worth being a feature either, so unless someone else feels invested in the idea 
I'll close it.

> nifi Swagger definition - FlowApi ScheduleComponents returns empty component 
> list
> -
>
> Key: NIFI-4900
> URL: https://issues.apache.org/jira/browse/NIFI-4900
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: SDLC
>Affects Versions: 1.5.0
>Reporter: Daniel Chaffelson
>Priority: Minor
>
> When issuing a command to Schedule Components with the 'components' attribute 
> set, the command returns an empty set back. This seems incongruous. I would 
> expect to receive back an object listing out the states of each component 
> that the scheduling command was issued against so I can tell which components 
> where operated upon.
> This can be reproduced by creating two processors within a process group, and 
> issuing a schedule component command with a component attribute referencing 
> only one of the processors, which will then change scheduled state leaving 
> the other as-was. It evidences that the individual component request is being 
> honoured, but the return from the API is the same as if all components in the 
> process group had been scheduled.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (NIFI-4900) nifi Swagger definition - FlowApi ScheduleComponents returns empty component list

2018-02-21 Thread Daniel Chaffelson (JIRA)
Daniel Chaffelson created NIFI-4900:
---

 Summary: nifi Swagger definition - FlowApi ScheduleComponents 
returns empty component list
 Key: NIFI-4900
 URL: https://issues.apache.org/jira/browse/NIFI-4900
 Project: Apache NiFi
  Issue Type: Bug
  Components: SDLC
Affects Versions: 1.5.0
Reporter: Daniel Chaffelson


When issuing a command to Schedule Components with the 'components' attribute 
set, the command returns an empty set back. This seems incongruous. I would 
expect to receive back an object listing out the states of each component that 
the scheduling command was issued against so I can tell which components where 
operated upon.

This can be reproduced by creating two processors within a process group, and 
issuing a schedule component command with a component attribute referencing 
only one of the processors, which will then change scheduled state leaving the 
other as-was. It evidences that the individual component request is being 
honoured, but the return from the API is the same as if all components in the 
process group had been scheduled.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (NIFI-4859) Swagger Spec VersionControlInformationDTO missing SYNC_FAILURE state

2018-02-15 Thread Daniel Chaffelson (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-4859?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16365571#comment-16365571
 ] 

Daniel Chaffelson edited comment on NIFI-4859 at 2/15/18 2:16 PM:
--

This also applies to ProcessGroupStatusSnapshotDTO, specifically the 
VersionedFlowState

And the ProcessGroupEntity, and the FlowBreadCrumbEntity


was (Author: chaffelson):
This also applies to ProcessGroupStatusSnapshotDTO, specifically the 
VersionedFlowState

> Swagger Spec VersionControlInformationDTO missing SYNC_FAILURE state
> 
>
> Key: NIFI-4859
> URL: https://issues.apache.org/jira/browse/NIFI-4859
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Flow Versioning
>Affects Versions: 1.5.0
>Reporter: Daniel Chaffelson
>Assignee: Kevin Doran
>Priority: Minor
> Fix For: 1.6.0
>
>
> It is possible to get a Versioned Process Group into a SYNC_FAILURE state, 
> but this is not an allowable state in the code generated from the swagger.json
> This prevents versioned objects from being manipulated via the API in some 
> use cases.
> {noformat}
> @state.setter
> def state(self, state):
> """
> Sets the state of this VersionControlInformationDTO.
> The current state of the Process Group, as it relates to the Versioned Flow
> :param state: The state of this VersionControlInformationDTO.
> :type: str
> """
> allowed_values = ["LOCALLY_MODIFIED_DESCENDANT", "LOCALLY_MODIFIED", "STALE", 
> "LOCALLY_MODIFIED_AND_STALE", "UP_TO_DATE"]
> if state not in allowed_values:
> raise ValueError(
> "Invalid value for `state` ({0}), must be one of {1}"
> > .format(state, allowed_values)
> )
> E ValueError: Invalid value for `state` (SYNC_FAILURE), must be one of 
> ['LOCALLY_MODIFIED_DESCENDANT', 'LOCALLY_MODIFIED', 'STALE', 
> 'LOCALLY_MODIFIED_AND_STALE', 'UP_TO_DATE']
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-4859) Swagger Spec VersionControlInformationDTO missing SYNC_FAILURE state

2018-02-15 Thread Daniel Chaffelson (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-4859?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16365571#comment-16365571
 ] 

Daniel Chaffelson commented on NIFI-4859:
-

This also applies to ProcessGroupStatusSnapshotDTO, specifically the 
VersionedFlowState

> Swagger Spec VersionControlInformationDTO missing SYNC_FAILURE state
> 
>
> Key: NIFI-4859
> URL: https://issues.apache.org/jira/browse/NIFI-4859
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Flow Versioning
>Affects Versions: 1.5.0
>Reporter: Daniel Chaffelson
>Assignee: Kevin Doran
>Priority: Minor
> Fix For: 1.6.0
>
>
> It is possible to get a Versioned Process Group into a SYNC_FAILURE state, 
> but this is not an allowable state in the code generated from the swagger.json
> This prevents versioned objects from being manipulated via the API in some 
> use cases.
> {noformat}
> @state.setter
> def state(self, state):
> """
> Sets the state of this VersionControlInformationDTO.
> The current state of the Process Group, as it relates to the Versioned Flow
> :param state: The state of this VersionControlInformationDTO.
> :type: str
> """
> allowed_values = ["LOCALLY_MODIFIED_DESCENDANT", "LOCALLY_MODIFIED", "STALE", 
> "LOCALLY_MODIFIED_AND_STALE", "UP_TO_DATE"]
> if state not in allowed_values:
> raise ValueError(
> "Invalid value for `state` ({0}), must be one of {1}"
> > .format(state, allowed_values)
> )
> E ValueError: Invalid value for `state` (SYNC_FAILURE), must be one of 
> ['LOCALLY_MODIFIED_DESCENDANT', 'LOCALLY_MODIFIED', 'STALE', 
> 'LOCALLY_MODIFIED_AND_STALE', 'UP_TO_DATE']
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (NIFI-4865) Registry API command Create Version can produce a VersionedProcessGroup that causes NiFi to NPE on Version change

2018-02-09 Thread Daniel Chaffelson (JIRA)
Daniel Chaffelson created NIFI-4865:
---

 Summary: Registry API command Create Version can produce a 
VersionedProcessGroup that causes NiFi to NPE on Version change
 Key: NIFI-4865
 URL: https://issues.apache.org/jira/browse/NIFI-4865
 Project: Apache NiFi
  Issue Type: Bug
  Components: Flow Versioning
Affects Versions: 1.5.0
 Environment: NiFi Docker 1.5.0 / NiFi-Registry Docker 0.1.0
Reporter: Daniel Chaffelson


I imported a complex (300kb) xml template into NiFi and placed it under version 
control using the typical GUI commands.

Then using the Registry API command 'create version', I instructed it to make a 
zero change new version, resulting in ver1 and ver2 being in the same bucket 
and flow object.

Returning to the GUI, I instructed it to update to the new version, which 
causes the below NPE.

I have retested this with a fresh environment and am able to reproduce it at 
will, though as the template belongs to a client and is very detailed I cannot 
in good faith share it directly on a public service - I am happy to supply it 
directly in the interests of locking down this bug.
{noformat}
2018-02-09 21:45:40,900 INFO [Version Control Update Thread-1] 
o.a.nifi.groups.StandardProcessGroup Updating 
StandardProcessGroup[identifier=420d499d-2b1d-3af8-6cc3-2722817f4d49] to 
VersionedFlowSnapshot[flowId=e799c617-0dd9-4685-b471-2987b19ad121, 
flowName=test1, version=2, comments=null]; there are 0 differences to take into 
account:

2018-02-09 21:45:40,903 INFO [Version Control Update Thread-1] 
org.apache.nifi.web.api.VersionsResource Successfully updated flow; re-enabling 
0 Controller Services
2018-02-09 21:45:40,903 INFO [Version Control Update Thread-1] 
org.apache.nifi.web.api.VersionsResource Restarting 0 Processors
2018-02-09 21:45:40,903 ERROR [Version Control Update Thread-1] 
org.apache.nifi.web.api.VersionsResource Failed to update flow to new version
java.lang.NullPointerException: null
at 
org.apache.nifi.groups.StandardProcessGroup.updateConnection(StandardProcessGroup.java:3784)
at 
org.apache.nifi.groups.StandardProcessGroup.updateProcessGroup(StandardProcessGroup.java:3656)
at 
org.apache.nifi.groups.StandardProcessGroup.updateProcessGroup(StandardProcessGroup.java:3488)
at 
org.apache.nifi.groups.StandardProcessGroup.updateFlow(StandardProcessGroup.java:3295)
at 
org.apache.nifi.web.dao.impl.StandardProcessGroupDAO.updateProcessGroupFlow(StandardProcessGroupDAO.java:279)
at 
org.apache.nifi.web.dao.impl.StandardProcessGroupDAO$$FastClassBySpringCGLIB$$10a99b47.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738)
at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at 
org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)
at 
org.apache.nifi.audit.ProcessGroupAuditor.updateProcessGroupFlowAdvice(ProcessGroupAuditor.java:258)
at sun.reflect.GeneratedMethodAccessor644.invoke(Unknown Source)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at 
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:629)
at 
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:618)
at 
org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)
at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at 
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at 
org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673)
at 
org.apache.nifi.web.dao.impl.StandardProcessGroupDAO$$EnhancerBySpringCGLIB$$3bf4fdb8.updateProcessGroupFlow()
at 
org.apache.nifi.web.StandardNiFiServiceFacade$13.update(StandardNiFiServiceFacade.java:4304)
at 
org.apache.nifi.web.revision.NaiveRevisionManager.updateRevision(NaiveRevisionManager.java:120)
at 
org.apache.nifi.web.StandardNiFiServiceFacade.updateProcessGroupContents(StandardNiFiServiceFacade.java:4300)
at 
org.apache.nifi.web.StandardNiFiServiceFacade$$FastClassBySpringCGLIB$$358780e0.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738)
at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at 

[jira] [Created] (NIFI-4859) Swagger Spec VersionControlInformationDTO missing SYNC_FAILURE state

2018-02-09 Thread Daniel Chaffelson (JIRA)
Daniel Chaffelson created NIFI-4859:
---

 Summary: Swagger Spec VersionControlInformationDTO missing 
SYNC_FAILURE state
 Key: NIFI-4859
 URL: https://issues.apache.org/jira/browse/NIFI-4859
 Project: Apache NiFi
  Issue Type: Bug
  Components: Flow Versioning
Affects Versions: 1.5.0, 1.6.0
Reporter: Daniel Chaffelson


It is possible to get a Versioned Process Group into a SYNC_FAILURE state, but 
this is not an allowable state in the code generated from the swagger.json
This prevents versioned objects from being manipulated via the API in some use 
cases.


{noformat}
@state.setter
def state(self, state):
"""
Sets the state of this VersionControlInformationDTO.
The current state of the Process Group, as it relates to the Versioned Flow

:param state: The state of this VersionControlInformationDTO.
:type: str
"""
allowed_values = ["LOCALLY_MODIFIED_DESCENDANT", "LOCALLY_MODIFIED", "STALE", 
"LOCALLY_MODIFIED_AND_STALE", "UP_TO_DATE"]
if state not in allowed_values:
raise ValueError(
"Invalid value for `state` ({0}), must be one of {1}"
> .format(state, allowed_values)
)
E ValueError: Invalid value for `state` (SYNC_FAILURE), must be one of 
['LOCALLY_MODIFIED_DESCENDANT', 'LOCALLY_MODIFIED', 'STALE', 
'LOCALLY_MODIFIED_AND_STALE', 'UP_TO_DATE']
{noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFIREG-135) BucketFlowsApi.create_flow_version returns an incorrect version count

2018-02-01 Thread Daniel Chaffelson (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFIREG-135?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16349209#comment-16349209
 ] 

Daniel Chaffelson commented on NIFIREG-135:
---

I was hoping it'd be in the swagger spec so we can quickly fix it, but as it's 
in the backend I'll mark the test as pending NIFIREG-135 and move on.
Thanks [~kdoran]

> BucketFlowsApi.create_flow_version returns an incorrect version count
> -
>
> Key: NIFIREG-135
> URL: https://issues.apache.org/jira/browse/NIFIREG-135
> Project: NiFi Registry
>  Issue Type: Bug
>Affects Versions: 0.1.0, 0.2.0
>Reporter: Daniel Chaffelson
>Assignee: Kevin Doran
>Priority: Major
>
> Using the Python version of the Swagger defined client at:
> [https://github.com/Chaffelson/nipyapi/blob/master/nipyapi/registry/apis/bucket_flows_api.py]
> The VersionedFlow sub-object in the VersionedFlowSnapshot returned by the 
> create_flow_version call does not correctly increment the version_count 
> variable.
> If the Flow is subsequently retrieved using get_flow_version, the 
> version_count is correct.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (NIFIREG-135) BucketFlowsApi.create_flow_version returns an incorrect version count

2018-02-01 Thread Daniel Chaffelson (JIRA)
Daniel Chaffelson created NIFIREG-135:
-

 Summary: BucketFlowsApi.create_flow_version returns an incorrect 
version count
 Key: NIFIREG-135
 URL: https://issues.apache.org/jira/browse/NIFIREG-135
 Project: NiFi Registry
  Issue Type: Bug
Affects Versions: 0.1.0, 0.2.0
Reporter: Daniel Chaffelson


Using the Python version of the Swagger defined client at:
[https://github.com/Chaffelson/nipyapi/blob/master/nipyapi/registry/apis/bucket_flows_api.py]

The VersionedFlow sub-object in the VersionedFlowSnapshot returned by the 
create_flow_version call does not correctly increment the version_count 
variable.

If the Flow is subsequently retrieved using get_flow_version, the version_count 
is correct.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFIREG-132) Various REST API endpoints missing swagger annotations for body parameters.

2018-01-30 Thread Daniel Chaffelson (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFIREG-132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16344655#comment-16344655
 ] 

Daniel Chaffelson commented on NIFIREG-132:
---

Looking good, Python code output available at : 
[https://github.com/Chaffelson/nipyapi/blob/master/nipyapi/registry/apis/bucket_flows_api.py]

> Various REST API endpoints missing swagger annotations for body parameters.
> ---
>
> Key: NIFIREG-132
> URL: https://issues.apache.org/jira/browse/NIFIREG-132
> Project: NiFi Registry
>  Issue Type: Bug
>Affects Versions: 0.1.0
>Reporter: Kevin Doran
>Assignee: Kevin Doran
>Priority: Major
> Fix For: 0.2.0
>
>
> The following endpoints are missing the swagger {{@ApiParam}} annotation for 
> the body parameter, which creates incorrect documentation/spec in the 
> {{swagger.json}} file in the build output:
> * create flow
> * update flow
> * create flow version
> Thanks to [~chaffelson] for help identifying and testing this issue.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (NIFI-3612) Add support for Parquet to Nifi-Registry-Bundle

2018-01-29 Thread Daniel Chaffelson (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFI-3612?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Chaffelson closed NIFI-3612.
---

This requirement has been resolved through the Parquet support in the Record 
based processors

> Add support for Parquet to Nifi-Registry-Bundle
> ---
>
> Key: NIFI-3612
> URL: https://issues.apache.org/jira/browse/NIFI-3612
> Project: Apache NiFi
>  Issue Type: New Feature
>Reporter: Daniel Chaffelson
>Assignee: Oleg Zhurakousky
>Priority: Major
> Fix For: 1.2.0
>
>
> This bundle could potentially be extended to include a Parquet transform by 
> leveraging the Apache 2.0 licensed parquet-mr/avro libraries:
> https://github.com/apache/parquet-mr/tree/master/parquet-avro
> This would provide coverage of this popular format to complement the ORC 
> support in the Hive Bundle and the other schema-dependent formats already in 
> this bundle.
> Existing NiFi Parquet support in the kite bundle can only write to a 
> non-kerberised Kite Dataset, which prevents usage on secured environments or 
> writing to a FlowFile.
> As the main competitor to ORC, providing more generic Parquet Transform 
> support will greatly widen the pool of potential NiFi adopters, particularly 
> in the Spark community.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (NIFI-4824) Dockerhub Image - allow user to specific host ports on startup

2018-01-28 Thread Daniel Chaffelson (JIRA)
Daniel Chaffelson created NIFI-4824:
---

 Summary: Dockerhub Image - allow user to specific host ports on 
startup
 Key: NIFI-4824
 URL: https://issues.apache.org/jira/browse/NIFI-4824
 Project: Apache NiFi
  Issue Type: Improvement
  Components: Docker
Affects Versions: 1.5.0, 1.4.0, 1.3.0, 1.2.0, 2.0.0, 1.6.0
Reporter: Daniel Chaffelson


As a user of the official apache/nifi Docker image, I would like to be able to 
easily pass in the ports I want NiFi to start on. This is particularly 
important since the 1.5.0 release, where remapping ports outside the container 
cause NiFi to throw a security error.

This will be particularly useful in NiFI-1.5.0 and newer, where users are often 
running multiple instances of the same version in order to test Flow Versioning 
and other new features around the NiFi-Registry project.

This can be done by slightly modifying the startup scripts included in the 
package to use an environment variable if available, or a default if it is not 
provided. It is then very easy to pass an environment variable to the Docker 
image on startup.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFIREG-129) swagger spec missing snapshot_metadata param for bucket_flows_api

2018-01-25 Thread Daniel Chaffelson (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFIREG-129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16339253#comment-16339253
 ] 

Daniel Chaffelson commented on NIFIREG-129:
---

The generated client is available here for you to look at: 
https://github.com/Chaffelson/nipyapi/blob/master/nipyapi/registry/apis/bucket_flows_api.py

> swagger spec missing snapshot_metadata param for bucket_flows_api
> -
>
> Key: NIFIREG-129
> URL: https://issues.apache.org/jira/browse/NIFIREG-129
> Project: NiFi Registry
>  Issue Type: Bug
>Affects Versions: 0.1.0, 0.2.0
>Reporter: Daniel Chaffelson
>Assignee: Kevin Doran
>Priority: Major
>
> When calling methods to retrieve versioned flows from the bucket_flows_api ( 
> get_flow, get_flow_version, get_latest_flow_version, etc) the spec calls for 
> a bucket_id and a flow_id, however the endpoint returns the error "Invalid 
> value for `snapshot_metadata`, must not be `None`"
> Presumably there is a parameter missing.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFIREG-129) swagger spec missing snapshot_metadata param for bucket_flows_api

2018-01-25 Thread Daniel Chaffelson (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFIREG-129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16339249#comment-16339249
 ] 

Daniel Chaffelson commented on NIFIREG-129:
---

Here's the Python output - there's nothing in the nifi-registry-app.log because 
it's not getting out of the client.
{noformat}
def get_latest_flow_ver(bucket_id, flow_id):
try:
return registry.BucketFlowsApi().get_latest_flow_version(
bucket_id, flow_id
)  
except ApiExceptionR as e:
raise ValueError(e.body)
>>versioning.get_latest_flow_ver(bucket.identifier, flow.identifier)
Traceback (most recent call last):
File "", line 1, in 
File "/Users/dchaffey/PycharmProjects/Nipyapi/nipyapi/versioning.py", line 230, 
in get_latest_flow_ver
bucket_id, flow_id
File 
"/Users/dchaffey/PycharmProjects/Nipyapi/nipyapi/registry/apis/bucket_flows_api.py",
 line 853, in get_latest_flow_version
(data) = self.get_latest_flow_version_with_http_info(bucket_id, flow_id, 
**kwargs)
File 
"/Users/dchaffey/PycharmProjects/Nipyapi/nipyapi/registry/apis/bucket_flows_api.py",
 line 940, in get_latest_flow_version_with_http_info
collection_formats=collection_formats)
File "/Users/dchaffey/PycharmProjects/Nipyapi/nipyapi/registry/api_client.py", 
line 326, in call_api
_return_http_data_only, collection_formats, _preload_content, _request_timeout)
File "/Users/dchaffey/PycharmProjects/Nipyapi/nipyapi/registry/api_client.py", 
line 161, in __call_api
return_data = self.deserialize(response_data, response_type)
File "/Users/dchaffey/PycharmProjects/Nipyapi/nipyapi/registry/api_client.py", 
line 239, in deserialize
return self.__deserialize(data, response_type)
File "/Users/dchaffey/PycharmProjects/Nipyapi/nipyapi/registry/api_client.py", 
line 279, in __deserialize
return self.__deserialize_model(data, klass)
File "/Users/dchaffey/PycharmProjects/Nipyapi/nipyapi/registry/api_client.py", 
line 629, in __deserialize_model
kwargs[attr] = self.__deserialize(value, attr_type)
File "/Users/dchaffey/PycharmProjects/Nipyapi/nipyapi/registry/api_client.py", 
line 279, in __deserialize
return self.__deserialize_model(data, klass)
File "/Users/dchaffey/PycharmProjects/Nipyapi/nipyapi/registry/api_client.py", 
line 631, in __deserialize_model
instance = klass(**kwargs)
File 
"/Users/dchaffey/PycharmProjects/Nipyapi/nipyapi/registry/models/versioned_flow_snapshot.py",
 line 60, in __init__
self.snapshot_metadata = snapshot_metadata
File 
"/Users/dchaffey/PycharmProjects/Nipyapi/nipyapi/registry/models/versioned_flow_snapshot.py",
 line 90, in snapshot_metadata
raise ValueError("Invalid value for `snapshot_metadata`, must not be `None`")
ValueError: Invalid value for `snapshot_metadata`, must not be `None`{noformat}

> swagger spec missing snapshot_metadata param for bucket_flows_api
> -
>
> Key: NIFIREG-129
> URL: https://issues.apache.org/jira/browse/NIFIREG-129
> Project: NiFi Registry
>  Issue Type: Bug
>Affects Versions: 0.1.0, 0.2.0
>Reporter: Daniel Chaffelson
>Assignee: Kevin Doran
>Priority: Major
>
> When calling methods to retrieve versioned flows from the bucket_flows_api ( 
> get_flow, get_flow_version, get_latest_flow_version, etc) the spec calls for 
> a bucket_id and a flow_id, however the endpoint returns the error "Invalid 
> value for `snapshot_metadata`, must not be `None`"
> Presumably there is a parameter missing.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (NIFIREG-129) swagger spec missing snapshot_metadata param for bucket_flows_api

2018-01-25 Thread Daniel Chaffelson (JIRA)
Daniel Chaffelson created NIFIREG-129:
-

 Summary: swagger spec missing snapshot_metadata param for 
bucket_flows_api
 Key: NIFIREG-129
 URL: https://issues.apache.org/jira/browse/NIFIREG-129
 Project: NiFi Registry
  Issue Type: Bug
Affects Versions: 0.1.0, 0.2.0
Reporter: Daniel Chaffelson


When calling methods to retrieve versioned flows from the bucket_flows_api ( 
get_flow, get_flow_version, get_latest_flow_version, etc) the spec calls for a 
bucket_id and a flow_id, however the endpoint returns the error "Invalid value 
for `snapshot_metadata`, must not be `None`"

Presumably there is a parameter missing.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFIREG-128) Swagger spec missing body param for create/update bucket

2018-01-24 Thread Daniel Chaffelson (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFIREG-128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16338877#comment-16338877
 ] 

Daniel Chaffelson commented on NIFIREG-128:
---

I have tested the proposed changes and it looks good in Python.
Client generated from the new spec is available [NiPyAPI on 
Github|https://github.com/Chaffelson/nipyapi/tree/master/nipyapi/registry]

> Swagger spec missing body param for create/update bucket
> 
>
> Key: NIFIREG-128
> URL: https://issues.apache.org/jira/browse/NIFIREG-128
> Project: NiFi Registry
>  Issue Type: Bug
>Affects Versions: 0.1.0
>Reporter: Daniel Chaffelson
>Assignee: Kevin Doran
>Priority: Major
> Fix For: 0.2.0
>
>
> The swagger definition doesn't allow the create_bucket call to specify a 
> name, which is required to create a bucket
>  
> {code:java}
> "/buckets" : {
> "post" : {
> "tags" : [ "buckets" ],
> "summary" : "Creates a bucket",
> "description" : "",
> "operationId" : "createBucket",
> "consumes" : [ "application/json" ],
> "produces" : [ "application/json" ],
> "responses" : {
> "200" : {
> "description" : "successful operation",
> "schema" : {
> "$ref" : "#/definitions/bucket"
> }
> },
> "400" : {
> "description" : "NiFi Registry was unable to complete the request because it 
> was invalid. The request should not be retried without modification."
> },
> "401" : {
> "description" : "Client could not be authenticated."
> },
> "403" : {
> "description" : "Client is not authorized to make this request."
> }
> }
> }
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (NIFIREG-128) swagger_client generated create_bucket requires but does not accept a 'name' parameter

2018-01-24 Thread Daniel Chaffelson (JIRA)
Daniel Chaffelson created NIFIREG-128:
-

 Summary: swagger_client generated create_bucket requires but does 
not accept a 'name' parameter
 Key: NIFIREG-128
 URL: https://issues.apache.org/jira/browse/NIFIREG-128
 Project: NiFi Registry
  Issue Type: Bug
Affects Versions: 0.1.0, 0.2.0
Reporter: Daniel Chaffelson


The swagger definition doesn't allow the create_bucket call to specify a name, 
which is required to create a bucket

 
{code:java}
"/buckets" : {
"post" : {
"tags" : [ "buckets" ],
"summary" : "Creates a bucket",
"description" : "",
"operationId" : "createBucket",
"consumes" : [ "application/json" ],
"produces" : [ "application/json" ],
"responses" : {
"200" : {
"description" : "successful operation",
"schema" : {
"$ref" : "#/definitions/bucket"
}
},
"400" : {
"description" : "NiFi Registry was unable to complete the request because it 
was invalid. The request should not be retried without modification."
},
"401" : {
"description" : "Client could not be authenticated."
},
"403" : {
"description" : "Client is not authorized to make this request."
}
}
}
{code}
 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (NIFI-4812) delete_registry_client call only accepts ID, but endpoint also expects Revision

2018-01-24 Thread Daniel Chaffelson (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFI-4812?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Chaffelson updated NIFI-4812:

Description: 
Using the Swagger Generated Python Client.

When the delete_registry_client command is called from the ControllerApi(), the 
arguments expected by NiFi (id, version) and the arguments allowed by swagger 
(id only) do not match, resulting in a failure.
{code:java}
ControllerApi().delete_registry_client(test_client.id)
HTTP response body: The revision must be specified.
ControllerApi().delete_registry_client(test_client.id, test_client.revision)
TypeError: delete_registry_client() takes exactly 2 arguments (3 given)
{code}

  was:
Using the Swagger Generated Python Client.

When the delete_registry_client command is called from the ControllerApi(), the 
arguments expected by NiFi (id, revision) and the arguments allowed by swagger 
(id only) do not match, resulting in a failure.
{code:java}
ControllerApi().delete_registry_client(test_client.id)
HTTP response body: The revision must be specified.
ControllerApi().delete_registry_client(test_client.id, test_client.revision)
TypeError: delete_registry_client() takes exactly 2 arguments (3 given)
{code}


> delete_registry_client call only accepts ID, but endpoint also expects 
> Revision
> ---
>
> Key: NIFI-4812
> URL: https://issues.apache.org/jira/browse/NIFI-4812
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework, Flow Versioning
>Affects Versions: 1.5.0, 1.6.0
>Reporter: Daniel Chaffelson
>Priority: Minor
>
> Using the Swagger Generated Python Client.
> When the delete_registry_client command is called from the ControllerApi(), 
> the arguments expected by NiFi (id, version) and the arguments allowed by 
> swagger (id only) do not match, resulting in a failure.
> {code:java}
> ControllerApi().delete_registry_client(test_client.id)
> HTTP response body: The revision must be specified.
> ControllerApi().delete_registry_client(test_client.id, test_client.revision)
> TypeError: delete_registry_client() takes exactly 2 arguments (3 given)
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-4812) delete_registry_client call only accepts ID, but endpoint also expects Revision

2018-01-24 Thread Daniel Chaffelson (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-4812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16337449#comment-16337449
 ] 

Daniel Chaffelson commented on NIFI-4812:
-

It works despite this if you deconstruct the json message via browser developer 
tools and present the exact format expected:
{code:java}
ControllerApi().delete_registry_client(
id=client.id,
version=client.revision.version
)
{code}
However this is completely counter to the message provided by the errors.

> delete_registry_client call only accepts ID, but endpoint also expects 
> Revision
> ---
>
> Key: NIFI-4812
> URL: https://issues.apache.org/jira/browse/NIFI-4812
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework, Flow Versioning
>Affects Versions: 1.5.0, 1.6.0
>Reporter: Daniel Chaffelson
>Priority: Minor
>
> Using the Swagger Generated Python Client.
> When the delete_registry_client command is called from the ControllerApi(), 
> the arguments expected by NiFi (id, revision) and the arguments allowed by 
> swagger (id only) do not match, resulting in a failure.
> {code:java}
> ControllerApi().delete_registry_client(test_client.id)
> HTTP response body: The revision must be specified.
> ControllerApi().delete_registry_client(test_client.id, test_client.revision)
> TypeError: delete_registry_client() takes exactly 2 arguments (3 given)
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (NIFI-4812) delete_registry_client call only accepts ID, but endpoint also expects Revision

2018-01-24 Thread Daniel Chaffelson (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFI-4812?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Chaffelson updated NIFI-4812:

Priority: Minor  (was: Major)

> delete_registry_client call only accepts ID, but endpoint also expects 
> Revision
> ---
>
> Key: NIFI-4812
> URL: https://issues.apache.org/jira/browse/NIFI-4812
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework, Flow Versioning
>Affects Versions: 1.5.0, 1.6.0
>Reporter: Daniel Chaffelson
>Priority: Minor
>
> Using the Swagger Generated Python Client.
> When the delete_registry_client command is called from the ControllerApi(), 
> the arguments expected by NiFi (id, revision) and the arguments allowed by 
> swagger (id only) do not match, resulting in a failure.
> {code:java}
> ControllerApi().delete_registry_client(test_client.id)
> HTTP response body: The revision must be specified.
> ControllerApi().delete_registry_client(test_client.id, test_client.revision)
> TypeError: delete_registry_client() takes exactly 2 arguments (3 given)
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (NIFI-4812) delete_registry_client call only accepts ID, but endpoint also expects Revision

2018-01-24 Thread Daniel Chaffelson (JIRA)
Daniel Chaffelson created NIFI-4812:
---

 Summary: delete_registry_client call only accepts ID, but endpoint 
also expects Revision
 Key: NIFI-4812
 URL: https://issues.apache.org/jira/browse/NIFI-4812
 Project: Apache NiFi
  Issue Type: Bug
  Components: Core Framework, Flow Versioning
Affects Versions: 1.5.0, 1.6.0
Reporter: Daniel Chaffelson


Using the Swagger Generated Python Client.

When the delete_registry_client command is called from the ControllerApi(), the 
arguments expected by NiFi (id, revision) and the arguments allowed by swagger 
(id only) do not match, resulting in a failure.
{code:java}
ControllerApi().delete_registry_client(test_client.id)
HTTP response body: The revision must be specified.
ControllerApi().delete_registry_client(test_client.id, test_client.revision)
TypeError: delete_registry_client() takes exactly 2 arguments (3 given)
{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-4801) Rest-api swagger definition produces non-functional template import in Python

2018-01-23 Thread Daniel Chaffelson (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-4801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16335986#comment-16335986
 ] 

Daniel Chaffelson commented on NIFI-4801:
-

[~kdoran] [~mcgilman]
Changes tested and I confirm it now works with NiPyAPI as per previous versions 
- I have integrated these modifications and pushed them to NiPyApi if you want 
to check for yourselves.

> Rest-api swagger definition produces non-functional template import in Python
> -
>
> Key: NIFI-4801
> URL: https://issues.apache.org/jira/browse/NIFI-4801
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Affects Versions: 1.5.0
> Environment: Python 2.7/3.6
>Reporter: Daniel Chaffelson
>Assignee: Kevin Doran
>Priority: Major
> Fix For: 1.6.0
>
> Attachments: corrected-swagger.json
>
>
> The swagger.json produced when compiling NiFi-1.5.0 results in a 
> ProcessgroupsApi().upload_template function that only accepts the id of the 
> Process Group to receive the template, and no option to specify the template 
> itself.
> It would appear that the underlying API call expects the template to be the 
> body of the request, but the produced function does not allow it to be 
> specified. This is changed from NiFi-1.2.0 where a  'template' keyword 
> argument was included.
> It may also be related to how the TemplatesApi().export_template function 
> used to produce a TemplateDTO and now produces a string. 
> I am unsure in which version since 1.2.0 this changed, it may not 
> specifically be just 1.5.0 code.
> An example of the procedurally generated code can be found at:
> [https://github.com/Chaffelson/nifi-python-swagger-client/blob/master/swagger_client/apis/processgroups_api.py]
> And documentation at:
> [http://nifi-python-swagger-client.readthedocs.io/en/latest/ProcessgroupsApi/#upload_template]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-4801) Rest-api swagger definition produces non-functional template import in Python

2018-01-23 Thread Daniel Chaffelson (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-4801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16335859#comment-16335859
 ] 

Daniel Chaffelson commented on NIFI-4801:
-

[~mcgilman] Fair enough, but can we return to the 'formData' approach from 
previous versions instead of moving to a 'body' approach?

I'm a fan of consistency.

> Rest-api swagger definition produces non-functional template import in Python
> -
>
> Key: NIFI-4801
> URL: https://issues.apache.org/jira/browse/NIFI-4801
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Affects Versions: 1.5.0, 1.6.0
> Environment: Python 2.7/3.6
>Reporter: Daniel Chaffelson
>Assignee: Kevin Doran
>Priority: Major
>
> The swagger.json produced when compiling NiFi-1.5.0 results in a 
> ProcessgroupsApi().upload_template function that only accepts the id of the 
> Process Group to receive the template, and no option to specify the template 
> itself.
> It would appear that the underlying API call expects the template to be the 
> body of the request, but the produced function does not allow it to be 
> specified. This is changed from NiFi-1.2.0 where a  'template' keyword 
> argument was included.
> It may also be related to how the TemplatesApi().export_template function 
> used to produce a TemplateDTO and now produces a string. 
> I am unsure in which version since 1.2.0 this changed, it may not 
> specifically be just 1.5.0 code.
> An example of the procedurally generated code can be found at:
> [https://github.com/Chaffelson/nifi-python-swagger-client/blob/master/swagger_client/apis/processgroups_api.py]
> And documentation at:
> [http://nifi-python-swagger-client.readthedocs.io/en/latest/ProcessgroupsApi/#upload_template]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-4801) Rest-api swagger definition produces non-functional template import in Python

2018-01-22 Thread Daniel Chaffelson (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-4801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16335387#comment-16335387
 ] 

Daniel Chaffelson commented on NIFI-4801:
-

In 1.2/1.3/1.4 we had:
{code:java}
"parameters" : [ {
"name" : "id",
"in" : "path",
"description" : "The process group id.",
"required" : true,
"type" : "string"
}, {
"name" : "template",
"in" : "formData",
"required" : false,
"type" : "file"
} ]
{code}
Would it not make more sense to revert to the previous method than introducing 
a new method? Unless of course this is to bring it into consistency with other 
methods in the platform, it would make more sense to me to revert.

I can easily test the resulting swagger.json, just let me know which version is 
preferred or provide me a sample compile.

> Rest-api swagger definition produces non-functional template import in Python
> -
>
> Key: NIFI-4801
> URL: https://issues.apache.org/jira/browse/NIFI-4801
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Affects Versions: 1.5.0, 1.6.0
> Environment: Python 2.7/3.6
>Reporter: Daniel Chaffelson
>Assignee: Kevin Doran
>Priority: Major
>
> The swagger.json produced when compiling NiFi-1.5.0 results in a 
> ProcessgroupsApi().upload_template function that only accepts the id of the 
> Process Group to receive the template, and no option to specify the template 
> itself.
> It would appear that the underlying API call expects the template to be the 
> body of the request, but the produced function does not allow it to be 
> specified. This is changed from NiFi-1.2.0 where a  'template' keyword 
> argument was included.
> It may also be related to how the TemplatesApi().export_template function 
> used to produce a TemplateDTO and now produces a string. 
> I am unsure in which version since 1.2.0 this changed, it may not 
> specifically be just 1.5.0 code.
> An example of the procedurally generated code can be found at:
> [https://github.com/Chaffelson/nifi-python-swagger-client/blob/master/swagger_client/apis/processgroups_api.py]
> And documentation at:
> [http://nifi-python-swagger-client.readthedocs.io/en/latest/ProcessgroupsApi/#upload_template]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (NIFI-4801) Rest-api swagger definition produces non-functional template import in Python

2018-01-22 Thread Daniel Chaffelson (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFI-4801?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Chaffelson updated NIFI-4801:

Priority: Major  (was: Minor)

> Rest-api swagger definition produces non-functional template import in Python
> -
>
> Key: NIFI-4801
> URL: https://issues.apache.org/jira/browse/NIFI-4801
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Affects Versions: 1.5.0, 1.6.0
> Environment: Python 2.7/3.6
>Reporter: Daniel Chaffelson
>Assignee: Kevin Doran
>Priority: Major
>
> The swagger.json produced when compiling NiFi-1.5.0 results in a 
> ProcessgroupsApi().upload_template function that only accepts the id of the 
> Process Group to receive the template, and no option to specify the template 
> itself.
> It would appear that the underlying API call expects the template to be the 
> body of the request, but the produced function does not allow it to be 
> specified. This is changed from NiFi-1.2.0 where a  'template' keyword 
> argument was included.
> It may also be related to how the TemplatesApi().export_template function 
> used to produce a TemplateDTO and now produces a string. 
> I am unsure in which version since 1.2.0 this changed, it may not 
> specifically be just 1.5.0 code.
> An example of the procedurally generated code can be found at:
> [https://github.com/Chaffelson/nifi-python-swagger-client/blob/master/swagger_client/apis/processgroups_api.py]
> And documentation at:
> [http://nifi-python-swagger-client.readthedocs.io/en/latest/ProcessgroupsApi/#upload_template]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (NIFI-4801) Rest-api swagger definition produces non-functional template import in Python

2018-01-22 Thread Daniel Chaffelson (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFI-4801?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Chaffelson updated NIFI-4801:

Affects Version/s: 1.6.0

> Rest-api swagger definition produces non-functional template import in Python
> -
>
> Key: NIFI-4801
> URL: https://issues.apache.org/jira/browse/NIFI-4801
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Affects Versions: 1.5.0, 1.6.0
> Environment: Python 2.7/3.6
>Reporter: Daniel Chaffelson
>Assignee: Kevin Doran
>Priority: Major
>
> The swagger.json produced when compiling NiFi-1.5.0 results in a 
> ProcessgroupsApi().upload_template function that only accepts the id of the 
> Process Group to receive the template, and no option to specify the template 
> itself.
> It would appear that the underlying API call expects the template to be the 
> body of the request, but the produced function does not allow it to be 
> specified. This is changed from NiFi-1.2.0 where a  'template' keyword 
> argument was included.
> It may also be related to how the TemplatesApi().export_template function 
> used to produce a TemplateDTO and now produces a string. 
> I am unsure in which version since 1.2.0 this changed, it may not 
> specifically be just 1.5.0 code.
> An example of the procedurally generated code can be found at:
> [https://github.com/Chaffelson/nifi-python-swagger-client/blob/master/swagger_client/apis/processgroups_api.py]
> And documentation at:
> [http://nifi-python-swagger-client.readthedocs.io/en/latest/ProcessgroupsApi/#upload_template]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-4801) Rest-api swagger definition produces non-functional template import in Python

2018-01-22 Thread Daniel Chaffelson (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-4801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16334583#comment-16334583
 ] 

Daniel Chaffelson commented on NIFI-4801:
-

[~mcgilman] Yeah this duplicates that issue, though perhaps with a little more 
detail and test code/documentation to look at. Up to you which to move forward.

I would also suggest that you look at the way Export Template works to make 
sure it's producing a consistent experience perhaps?

> Rest-api swagger definition produces non-functional template import in Python
> -
>
> Key: NIFI-4801
> URL: https://issues.apache.org/jira/browse/NIFI-4801
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Affects Versions: 1.5.0
> Environment: Python 2.7/3.6
>Reporter: Daniel Chaffelson
>Assignee: Kevin Doran
>Priority: Minor
>
> The swagger.json produced when compiling NiFi-1.5.0 results in a 
> ProcessgroupsApi().upload_template function that only accepts the id of the 
> Process Group to receive the template, and no option to specify the template 
> itself.
> It would appear that the underlying API call expects the template to be the 
> body of the request, but the produced function does not allow it to be 
> specified. This is changed from NiFi-1.2.0 where a  'template' keyword 
> argument was included.
> It may also be related to how the TemplatesApi().export_template function 
> used to produce a TemplateDTO and now produces a string. 
> I am unsure in which version since 1.2.0 this changed, it may not 
> specifically be just 1.5.0 code.
> An example of the procedurally generated code can be found at:
> [https://github.com/Chaffelson/nifi-python-swagger-client/blob/master/swagger_client/apis/processgroups_api.py]
> And documentation at:
> [http://nifi-python-swagger-client.readthedocs.io/en/latest/ProcessgroupsApi/#upload_template]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (NIFI-4801) Rest-api swagger definition produces non-functional template import in Python

2018-01-22 Thread Daniel Chaffelson (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFI-4801?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Chaffelson updated NIFI-4801:

Affects Version/s: (was: 1.2.0)

> Rest-api swagger definition produces non-functional template import in Python
> -
>
> Key: NIFI-4801
> URL: https://issues.apache.org/jira/browse/NIFI-4801
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Affects Versions: 1.5.0
> Environment: Python 2.7/3.6
>Reporter: Daniel Chaffelson
>Priority: Minor
>
> The swagger.json produced when compiling NiFi-1.5.0 results in a 
> ProcessgroupsApi().upload_template function that only accepts the id of the 
> Process Group to receive the template, and no option to specify the template 
> itself.
> It would appear that the underlying API call expects the template to be the 
> body of the request, but the produced function does not allow it to be 
> specified. This is changed from NiFi-1.2.0 where a  'template' keyword 
> argument was included.
> It may also be related to how the TemplatesApi().export_template function 
> used to produce a TemplateDTO and now produces a string. 
> I am unsure in which version since 1.2.0 this changed, it may not 
> specifically be just 1.5.0 code.
> An example of the procedurally generated code can be found at:
> [https://github.com/Chaffelson/nifi-python-swagger-client/blob/master/swagger_client/apis/processgroups_api.py]
> And documentation at:
> [http://nifi-python-swagger-client.readthedocs.io/en/latest/ProcessgroupsApi/#upload_template]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (NIFI-4801) Rest-api swagger definition produces non-functional template import in Python

2018-01-21 Thread Daniel Chaffelson (JIRA)
Daniel Chaffelson created NIFI-4801:
---

 Summary: Rest-api swagger definition produces non-functional 
template import in Python
 Key: NIFI-4801
 URL: https://issues.apache.org/jira/browse/NIFI-4801
 Project: Apache NiFi
  Issue Type: Bug
  Components: Core Framework
Affects Versions: 1.5.0, 1.2.0
 Environment: Python 2.7/3.6
Reporter: Daniel Chaffelson


The swagger.json produced when compiling NiFi-1.5.0 results in a 
ProcessgroupsApi().upload_template function that only accepts the id of the 
Process Group to receive the template, and no option to specify the template 
itself.
It would appear that the underlying API call expects the template to be the 
body of the request, but the produced function does not allow it to be 
specified. This is changed from NiFi-1.2.0 where a  'template' keyword argument 
was included.
It may also be related to how the TemplatesApi().export_template function used 
to produce a TemplateDTO and now produces a string. 

I am unsure in which version since 1.2.0 this changed, it may not specifically 
be just 1.5.0 code.

An example of the procedurally generated code can be found at:
[https://github.com/Chaffelson/nifi-python-swagger-client/blob/master/swagger_client/apis/processgroups_api.py]
And documentation at:
[http://nifi-python-swagger-client.readthedocs.io/en/latest/ProcessgroupsApi/#upload_template]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (NIFIREG-120) Basic Docker Image

2018-01-18 Thread Daniel Chaffelson (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFIREG-120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Chaffelson updated NIFIREG-120:
--
Fix Version/s: 0.1.1

> Basic Docker Image
> --
>
> Key: NIFIREG-120
> URL: https://issues.apache.org/jira/browse/NIFIREG-120
> Project: NiFi Registry
>  Issue Type: Improvement
>Affects Versions: 0.1.0
>Reporter: Daniel Chaffelson
>Priority: Minor
> Fix For: 0.1.1
>
>
> It would be convenient if NiFi Registry had an integrated Docker image ready 
> for uploading to Dockerhub, similar to the main NiFi Project, for ease of 
> integration testing.
> This could probably be ported, with some changes, from the same approach used 
> in the main NiFi project for continuity.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (NIFIREG-120) Basic Docker Image

2018-01-18 Thread Daniel Chaffelson (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFIREG-120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Chaffelson updated NIFIREG-120:
--
Fix Version/s: (was: 0.1.1)

> Basic Docker Image
> --
>
> Key: NIFIREG-120
> URL: https://issues.apache.org/jira/browse/NIFIREG-120
> Project: NiFi Registry
>  Issue Type: Improvement
>Affects Versions: 0.1.0
>Reporter: Daniel Chaffelson
>Priority: Minor
>
> It would be convenient if NiFi Registry had an integrated Docker image ready 
> for uploading to Dockerhub, similar to the main NiFi Project, for ease of 
> integration testing



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (NIFIREG-120) Basic Docker Image

2018-01-18 Thread Daniel Chaffelson (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFIREG-120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Chaffelson updated NIFIREG-120:
--
Description: 
It would be convenient if NiFi Registry had an integrated Docker image ready 
for uploading to Dockerhub, similar to the main NiFi Project, for ease of 
integration testing.

This could probably be ported, with some changes, from the same approach used 
in the main NiFi project for continuity.

  was:It would be convenient if NiFi Registry had an integrated Docker image 
ready for uploading to Dockerhub, similar to the main NiFi Project, for ease of 
integration testing


> Basic Docker Image
> --
>
> Key: NIFIREG-120
> URL: https://issues.apache.org/jira/browse/NIFIREG-120
> Project: NiFi Registry
>  Issue Type: Improvement
>Affects Versions: 0.1.0
>Reporter: Daniel Chaffelson
>Priority: Minor
>
> It would be convenient if NiFi Registry had an integrated Docker image ready 
> for uploading to Dockerhub, similar to the main NiFi Project, for ease of 
> integration testing.
> This could probably be ported, with some changes, from the same approach used 
> in the main NiFi project for continuity.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (NIFIREG-120) Basic Docker Image

2018-01-18 Thread Daniel Chaffelson (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFIREG-120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Chaffelson updated NIFIREG-120:
--
Fix Version/s: 0.1.1

> Basic Docker Image
> --
>
> Key: NIFIREG-120
> URL: https://issues.apache.org/jira/browse/NIFIREG-120
> Project: NiFi Registry
>  Issue Type: Improvement
>Affects Versions: 0.1.0
>Reporter: Daniel Chaffelson
>Priority: Minor
> Fix For: 0.1.1
>
>
> It would be convenient if NiFi Registry had an integrated Docker image ready 
> for uploading to Dockerhub, similar to the main NiFi Project, for ease of 
> integration testing



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (NIFIREG-120) Basic Docker Image

2018-01-18 Thread Daniel Chaffelson (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFIREG-120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Chaffelson updated NIFIREG-120:
--
Affects Version/s: 0.1.0

> Basic Docker Image
> --
>
> Key: NIFIREG-120
> URL: https://issues.apache.org/jira/browse/NIFIREG-120
> Project: NiFi Registry
>  Issue Type: Improvement
>Affects Versions: 0.1.0
>Reporter: Daniel Chaffelson
>Priority: Minor
> Fix For: 0.1.1
>
>
> It would be convenient if NiFi Registry had an integrated Docker image ready 
> for uploading to Dockerhub, similar to the main NiFi Project, for ease of 
> integration testing



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (NIFIREG-120) Basic Docker Image

2018-01-18 Thread Daniel Chaffelson (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFIREG-120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Chaffelson updated NIFIREG-120:
--
Description: It would be convenient if NiFi Registry had an integrated 
Docker image ready for uploading to Dockerhub, similar to the main NiFi 
Project, for ease of integration testing

> Basic Docker Image
> --
>
> Key: NIFIREG-120
> URL: https://issues.apache.org/jira/browse/NIFIREG-120
> Project: NiFi Registry
>  Issue Type: Improvement
>Affects Versions: 0.1.0
>Reporter: Daniel Chaffelson
>Priority: Major
> Fix For: 0.1.1
>
>
> It would be convenient if NiFi Registry had an integrated Docker image ready 
> for uploading to Dockerhub, similar to the main NiFi Project, for ease of 
> integration testing



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (NIFIREG-120) Basic Docker Image

2018-01-18 Thread Daniel Chaffelson (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFIREG-120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Chaffelson updated NIFIREG-120:
--
Priority: Minor  (was: Major)

> Basic Docker Image
> --
>
> Key: NIFIREG-120
> URL: https://issues.apache.org/jira/browse/NIFIREG-120
> Project: NiFi Registry
>  Issue Type: Improvement
>Affects Versions: 0.1.0
>Reporter: Daniel Chaffelson
>Priority: Minor
> Fix For: 0.1.1
>
>
> It would be convenient if NiFi Registry had an integrated Docker image ready 
> for uploading to Dockerhub, similar to the main NiFi Project, for ease of 
> integration testing



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (NIFIREG-120) Basic Docker Image

2018-01-18 Thread Daniel Chaffelson (JIRA)
Daniel Chaffelson created NIFIREG-120:
-

 Summary: Basic Docker Image
 Key: NIFIREG-120
 URL: https://issues.apache.org/jira/browse/NIFIREG-120
 Project: NiFi Registry
  Issue Type: Improvement
Reporter: Daniel Chaffelson






--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-4761) Allow whitelisting expected Host values

2018-01-16 Thread Daniel Chaffelson (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-4761?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16328273#comment-16328273
 ] 

Daniel Chaffelson commented on NIFI-4761:
-

If running multiple NiFi instances in local Docker containers, it is typical to 
map the default port (8080) to something else (e.g. 1), this change breaks 
that working out of the box.
Tested and working fine in NiFi 1.2-1.4, 'broken' in 1.5

> Allow whitelisting expected Host values
> ---
>
> Key: NIFI-4761
> URL: https://issues.apache.org/jira/browse/NIFI-4761
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Reporter: Matt Gilman
>Assignee: Andy LoPresto
>Priority: Major
>
> NiFi has been updated to only accept requests where the Host header contains 
> an expected value. Currently, the expected values are driven by the .host 
> properties in nifi.properties. When running behind a proxy, the value may be 
> the proxy host if the headers simply pass through. In this scenario, we 
> should offer the ability to whitelist values in case updating the proxy 
> configuration isn't possible.
> Also, the proxy documentation in the admin guide should be updated to include 
> details regarding the Host name whitelisting. Also, should verify the context 
> path whitelisting is documented there.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-4332) Add NiFi Shell for interacting with NiFi REST API

2017-09-08 Thread Daniel Chaffelson (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-4332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16159239#comment-16159239
 ] 

Daniel Chaffelson commented on NIFI-4332:
-

So the current community method that I have seen is to take the swagger.json 
produced by the build, and run it through the swagger-codegen for your 
preferred language to give a (admittedly, very messy) boilerplate client which 
has all of the DTO etc integrated. It is then up to the developer to arrange 
the calls into the higher level functions - this has formed the basis of 
nifi-config that I linked above and I duplicated it easily in NiPyApi.
It provides a very useful abstraction between business-defined high-level calls 
like 'get the names and IDs of all Process Groups' and 'instantiate this 
template in this PG with these parameters', and all the necessary underlying 
steps in the API.

Essentially I feel like you're already 50%+ of the way there with the language 
independent OpenAPI definition, it would perhaps be fruitful to enhance that? 
Or pick a language to create a client from it in (say, Java or Python as there 
are already efforts available to adopt) but maintain the generative method via 
OpenAPI so other clients are possible.

The problem of course will be that as soon as you produce an official client, 
people will be on to you to add X feature to it even if you specify that it's 
only to enable a few basic functions in a centralised manner. But as you always 
say, 'we accept PRs'.

> Add NiFi Shell for interacting with NiFi REST API
> -
>
> Key: NIFI-4332
> URL: https://issues.apache.org/jira/browse/NIFI-4332
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Jeremy Dyer
>Assignee: Jeremy Dyer
>
> There are several permutations of nifi shells floating around on Github. The 
> fact that so many of these exists tells me its a feature people want. I 
> propose we add a NiFi shell to the official project that people can use for 
> official interaction with the NiFi REST API. While shells are typically not 
> written in Java I feel quite strongly in our case using Java would be the 
> best fit. Using Java would allow us to use reflection on the "nifi-web-api" 
> layer to reflected expected types, paths, responses, etc with minimal coding 
> effort.
> I expect there will be many more features that can be added to this shell but 
> as a minimal starting point the shell should allow an end user to interact 
> with all of the NiFi REST API endpoints defined at 
> https://nifi.apache.org/docs/nifi-docs/rest-api/index.html



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Comment Edited] (NIFI-4332) Add NiFi Shell for interacting with NiFi REST API

2017-09-07 Thread Daniel Chaffelson (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-4332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16157728#comment-16157728
 ] 

Daniel Chaffelson edited comment on NIFI-4332 at 9/7/17 9:55 PM:
-

In the interest of -resolving- adding to this issue I have started ernest work 
on a Python wrapper for the Rest API by leveraging the Swagger definition 
produced at build time to create a base API interface in native Python, and 
then a wrapper module to provide users with much-requested high level 
functions. The use of the Swagger definition provides the full Rest API as 
callable python methods and properties with minimal additional coding, with 
easy integration into more abstract commands like 'deploy template'.
https://github.com/Chaffelson/nipyapi
This is mainly driven by several large users wanting NiFi as a layer in their 
data-movement-as-a-service platform, where a user portal drives instantiation 
of templates to complete movement tasks which leverage NiFi's other desirable 
framework features, but make little initial use of the GUI apart from 
administrative monitoring tasks.
Contributions and advice on how this can integrate with current development 
efforts very welcome.

I am also aware of a project in Java focussed around Template deployment, but 
with good potential for expansion
https://github.com/hermannpencole/nifi-config


was (Author: chaffelson):
In the interest of -resolving- adding to this issue I have started ernest work 
on a Python wrapper for the Rest API by leveraging the Swagger definition 
produced at build time to create a base API interface in native Python, and 
then a wrapper module to provide users with much-requested high level 
functions. The use of the Swagger definition provides the full Rest API as 
callable python methods and properties with minimal additional coding, with 
easy integration into more abstract commands like 'deploy template'.
https://github.com/Chaffelson/nipyapi
This is mainly driven by several large users wanting NiFi as a layer in their 
data-movement-as-a-service platform, where a user portal drives instantiation 
of templates to complete movement tasks which leverage NiFi's other desirable 
framework features, but make little initial use of the GUI apart from 
administrative monitoring tasks.

I am also aware of a project in Java focussed around Template deployment, but 
with good potential for expansion
https://github.com/hermannpencole/nifi-config

> Add NiFi Shell for interacting with NiFi REST API
> -
>
> Key: NIFI-4332
> URL: https://issues.apache.org/jira/browse/NIFI-4332
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Jeremy Dyer
>Assignee: Jeremy Dyer
>
> There are several permutations of nifi shells floating around on Github. The 
> fact that so many of these exists tells me its a feature people want. I 
> propose we add a NiFi shell to the official project that people can use for 
> official interaction with the NiFi REST API. While shells are typically not 
> written in Java I feel quite strongly in our case using Java would be the 
> best fit. Using Java would allow us to use reflection on the "nifi-web-api" 
> layer to reflected expected types, paths, responses, etc with minimal coding 
> effort.
> I expect there will be many more features that can be added to this shell but 
> as a minimal starting point the shell should allow an end user to interact 
> with all of the NiFi REST API endpoints defined at 
> https://nifi.apache.org/docs/nifi-docs/rest-api/index.html



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (NIFI-4332) Add NiFi Shell for interacting with NiFi REST API

2017-09-07 Thread Daniel Chaffelson (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-4332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16157728#comment-16157728
 ] 

Daniel Chaffelson commented on NIFI-4332:
-

In the interest of -resolving- adding to this issue I have started ernest work 
on a Python wrapper for the Rest API by leveraging the Swagger definition 
produced at build time to create a base API interface in native Python, and 
then a wrapper module to provide users with much-requested high level 
functions. The use of the Swagger definition provides the full Rest API as 
callable python methods and properties with minimal additional coding, with 
easy integration into more abstract commands like 'deploy template'.
https://github.com/Chaffelson/nipyapi
This is mainly driven by several large users wanting NiFi as a layer in their 
data-movement-as-a-service platform, where a user portal drives instantiation 
of templates to complete movement tasks which leverage NiFi's other desirable 
framework features, but make little initial use of the GUI apart from 
administrative monitoring tasks.

I am also aware of a project in Java focussed around Template deployment, but 
with good potential for expansion
https://github.com/hermannpencole/nifi-config

> Add NiFi Shell for interacting with NiFi REST API
> -
>
> Key: NIFI-4332
> URL: https://issues.apache.org/jira/browse/NIFI-4332
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Jeremy Dyer
>Assignee: Jeremy Dyer
>
> There are several permutations of nifi shells floating around on Github. The 
> fact that so many of these exists tells me its a feature people want. I 
> propose we add a NiFi shell to the official project that people can use for 
> official interaction with the NiFi REST API. While shells are typically not 
> written in Java I feel quite strongly in our case using Java would be the 
> best fit. Using Java would allow us to use reflection on the "nifi-web-api" 
> layer to reflected expected types, paths, responses, etc with minimal coding 
> effort.
> I expect there will be many more features that can be added to this shell but 
> as a minimal starting point the shell should allow an end user to interact 
> with all of the NiFi REST API endpoints defined at 
> https://nifi.apache.org/docs/nifi-docs/rest-api/index.html



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (NIFI-3612) Add support for Parquet to Nifi-Registry-Bundle

2017-08-17 Thread Daniel Chaffelson (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-3612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16131220#comment-16131220
 ] 

Daniel Chaffelson commented on NIFI-3612:
-

Sounds perfectly reasonable to me.

> Add support for Parquet to Nifi-Registry-Bundle
> ---
>
> Key: NIFI-3612
> URL: https://issues.apache.org/jira/browse/NIFI-3612
> Project: Apache NiFi
>  Issue Type: New Feature
>Reporter: Daniel Chaffelson
>Assignee: Oleg Zhurakousky
>
> This bundle could potentially be extended to include a Parquet transform by 
> leveraging the Apache 2.0 licensed parquet-mr/avro libraries:
> https://github.com/apache/parquet-mr/tree/master/parquet-avro
> This would provide coverage of this popular format to complement the ORC 
> support in the Hive Bundle and the other schema-dependent formats already in 
> this bundle.
> Existing NiFi Parquet support in the kite bundle can only write to a 
> non-kerberised Kite Dataset, which prevents usage on secured environments or 
> writing to a FlowFile.
> As the main competitor to ORC, providing more generic Parquet Transform 
> support will greatly widen the pool of potential NiFi adopters, particularly 
> in the Spark community.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (NIFI-4230) Use a better default location when pasting via keystokes outside the context of the originally selected components

2017-07-26 Thread Daniel Chaffelson (JIRA)
Daniel Chaffelson created NIFI-4230:
---

 Summary: Use a better default location when pasting via keystokes 
outside the context of the originally selected components
 Key: NIFI-4230
 URL: https://issues.apache.org/jira/browse/NIFI-4230
 Project: Apache NiFi
  Issue Type: Improvement
  Components: Core UI
Affects Versions: 1.3.0
Reporter: Daniel Chaffelson
Priority: Minor


When copy/pasting components between different Process Groups, the keystroke 
behavior differs from the right-click behavior. Specifically, it does not paste 
the components on the current focus area of the canvas, but appears to paste 
them relative to their original position in the original context, which 
effectively puts them somewhere random on the focus canvas, requiring the user 
to hunt them down.

It would be optimal to select a better default location somewhere in the focus 
area of the canvas for all paste behaviors consistently.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Updated] (NIFI-3612) Add support for Parquet to Nifi-Registry-Bundle

2017-03-16 Thread Daniel Chaffelson (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFI-3612?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Chaffelson updated NIFI-3612:

Issue Type: New Feature  (was: Improvement)

> Add support for Parquet to Nifi-Registry-Bundle
> ---
>
> Key: NIFI-3612
> URL: https://issues.apache.org/jira/browse/NIFI-3612
> Project: Apache NiFi
>  Issue Type: New Feature
>Reporter: Daniel Chaffelson
>Assignee: Oleg Zhurakousky
>
> This bundle could potentially be extended to include a Parquet transform by 
> leveraging the Apache 2.0 licensed parquet-mr/avro libraries:
> https://github.com/apache/parquet-mr/tree/master/parquet-avro
> This would provide coverage of this popular format to complement the ORC 
> support in the Hive Bundle and the other schema-dependent formats already in 
> this bundle.
> Existing NiFi Parquet support in the kite bundle can only write to a 
> non-kerberised Kite Dataset, which prevents usage on secured environments or 
> writing to a FlowFile.
> As the main competitor to ORC, providing more generic Parquet Transform 
> support will greatly widen the pool of potential NiFi adopters, particularly 
> in the Spark community.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (NIFI-3612) Add support for Parquet to Nifi-Registry-Bundle

2017-03-16 Thread Daniel Chaffelson (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFI-3612?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Chaffelson updated NIFI-3612:

Description: 
This bundle could potentially be extended to include a Parquet transform by 
leveraging the Apache 2.0 licensed parquet-mr/avro libraries:
https://github.com/apache/parquet-mr/tree/master/parquet-avro

This would provide coverage of this popular format to complement the ORC 
support in the Hive Bundle and the other schema-dependent formats already in 
this bundle.
Existing NiFi Parquet support in the kite bundle can only write to a 
non-kerberised Kite Dataset, which prevents usage on secured environments or 
writing to a FlowFile.

As the main competitor to ORC, providing more generic Parquet Transform support 
will greatly widen the pool of potential NiFi adopters, particularly in the 
Spark community.

  was:
This bundle could potentially be extended to include a Parquet transform by 
leveraging the Apache 2.0 licenses parquet-mr/avro libraries:
https://github.com/apache/parquet-mr/tree/master/parquet-avro

This would provide coverage of this popular format to complement the ORC 
support in the Hive Bundle and the other schema-dependent formats already in 
this bundle.


> Add support for Parquet to Nifi-Registry-Bundle
> ---
>
> Key: NIFI-3612
> URL: https://issues.apache.org/jira/browse/NIFI-3612
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Daniel Chaffelson
>
> This bundle could potentially be extended to include a Parquet transform by 
> leveraging the Apache 2.0 licensed parquet-mr/avro libraries:
> https://github.com/apache/parquet-mr/tree/master/parquet-avro
> This would provide coverage of this popular format to complement the ORC 
> support in the Hive Bundle and the other schema-dependent formats already in 
> this bundle.
> Existing NiFi Parquet support in the kite bundle can only write to a 
> non-kerberised Kite Dataset, which prevents usage on secured environments or 
> writing to a FlowFile.
> As the main competitor to ORC, providing more generic Parquet Transform 
> support will greatly widen the pool of potential NiFi adopters, particularly 
> in the Spark community.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (NIFI-3612) Add support for Parquet to Nifi-Registry-Bundle

2017-03-16 Thread Daniel Chaffelson (JIRA)
Daniel Chaffelson created NIFI-3612:
---

 Summary: Add support for Parquet to Nifi-Registry-Bundle
 Key: NIFI-3612
 URL: https://issues.apache.org/jira/browse/NIFI-3612
 Project: Apache NiFi
  Issue Type: Improvement
Reporter: Daniel Chaffelson


This bundle could potentially be extended to include a Parquet transform by 
leveraging the Apache 2.0 licenses parquet-mr/avro libraries:
https://github.com/apache/parquet-mr/tree/master/parquet-avro

This would provide coverage of this popular format to complement the ORC 
support in the Hive Bundle and the other schema-dependent formats already in 
this bundle.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)