[nifi] branch main updated: NIFI-12135 This closes #7799. Update update_oidc_properties.sh

2023-09-27 Thread joewitt
This is an automated email from the ASF dual-hosted git repository.

joewitt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
 new acd9b5b10b NIFI-12135 This closes #7799. Update 
update_oidc_properties.sh
acd9b5b10b is described below

commit acd9b5b10b67096b8981e49299a165ff1afea0ff
Author: Marcelo Vinícius de Sousa Campos 
AuthorDate: Wed Sep 27 08:23:49 2023 -0300

NIFI-12135 This closes #7799. Update update_oidc_properties.sh

Update OIDC properties via update_oidc_properties.sh

Signed-off-by: Joseph Witt 
---
 nifi-docker/dockerhub/sh/update_oidc_properties.sh | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/nifi-docker/dockerhub/sh/update_oidc_properties.sh 
b/nifi-docker/dockerhub/sh/update_oidc_properties.sh
index 827a40edba..2367b365d2 100644
--- a/nifi-docker/dockerhub/sh/update_oidc_properties.sh
+++ b/nifi-docker/dockerhub/sh/update_oidc_properties.sh
@@ -23,5 +23,7 @@ prop_replace 'nifi.security.user.oidc.client.secret'  
  "${NIFI_
 prop_replace 'nifi.security.user.oidc.preferred.jwsalgorithm'   
"${NIFI_SECURITY_USER_OIDC_PREFERRED_JWSALGORITHM}"
 prop_replace 'nifi.security.user.oidc.additional.scopes'
"${NIFI_SECURITY_USER_OIDC_ADDITIONAL_SCOPES}"
 prop_replace 'nifi.security.user.oidc.claim.identifying.user'   
"${NIFI_SECURITY_USER_OIDC_CLAIM_IDENTIFYING_USER}"
+prop_replace 'nifi.security.user.oidc.claim.groups' 
"${NIFI_SECURITY_USER_OIDC_CLAIM_GROUPS}"
 prop_replace 'nifi.security.user.oidc.fallback.claims.identifying.user' 
"${NIFI_SECURITY_USER_OIDC_FALLBACK_CLAIMS_IDENTIFYING_USER}"
 prop_replace 'nifi.security.user.oidc.truststore.strategy'  
"${NIFI_SECURITY_USER_OIDC_TRUSTSTORE_STRATEGY}"
+prop_replace 'nifi.security.user.oidc.token.refresh.window' 
"${NIFI_SECURITY_USER_OIDC_TOKEN_REFRESH_WINDOW}"



[nifi] branch main updated (01fb3e99dd -> 249829af5f)

2023-09-27 Thread otto
This is an automated email from the ASF dual-hosted git repository.

otto pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


from 01fb3e99dd NIFI-12136 This closes #7800. Update README.md to add an 
example how to using Nifi to connect to an OpenID server.
 add 249829af5f NIFI-11917 removing support for RPM building as we lack the 
infrastructure/maintenance to keep it healthy and we dont publish the artifacts 
(#7801)

No new revisions were added by this update.

Summary of changes:
 nifi-assembly/pom.xml| 156 --
 nifi-registry/nifi-registry-assembly/pom.xml | 157 ---
 nifi-toolkit/nifi-toolkit-assembly/pom.xml   |  98 -
 pom.xml  |   6 -
 4 files changed, 417 deletions(-)



[nifi] branch main updated: NIFI-12136 This closes #7800. Update README.md to add an example how to using Nifi to connect to an OpenID server.

2023-09-27 Thread joewitt
This is an automated email from the ASF dual-hosted git repository.

joewitt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
 new 01fb3e99dd NIFI-12136 This closes #7800. Update README.md to add an 
example how to using Nifi to connect to an OpenID server.
01fb3e99dd is described below

commit 01fb3e99dde95fc4e83c598536263eedf632ef65
Author: Marcelo Vinícius de Sousa Campos 
AuthorDate: Wed Sep 27 11:13:07 2023 -0300

NIFI-12136 This closes #7800. Update README.md to add an example how to 
using Nifi to connect to an OpenID server.

Signed-off-by: Joseph Witt 
---
 nifi-docker/dockerhub/README.md | 35 +++
 1 file changed, 35 insertions(+)

diff --git a/nifi-docker/dockerhub/README.md b/nifi-docker/dockerhub/README.md
index f7113a0340..422e6dcf13 100644
--- a/nifi-docker/dockerhub/README.md
+++ b/nifi-docker/dockerhub/README.md
@@ -179,6 +179,41 @@ volume to provide certificates on the host system to the 
container instance.
 -e LDAP_TLS_TRUSTSTORE_PASSWORD: ''
 -e LDAP_TLS_TRUSTSTORE_TYPE: ''
 
+### Standalone Instance secured with HTTPS and OpenID Authentication
+In this configuration, the user will need to provide certificates and 
associated configuration information. 
+Of particular note, is the `AUTH` environment variable which is set to `oidc`. 
Additionally, the user must provide a
+in the `INITIAL_ADMIN_IDENTITY` environment variable. This value will be used 
to seed the instance with an initial 
+user with administrative privileges.
+
+### For a minimal, connection to an OpenID server
+
+docker run --name nifi \
+  -v /User/dreynolds/certs/localhost:/opt/certs \
+  -p 8443:8443 \
+  -e AUTH=oidc \
+  -e KEYSTORE_PATH=/opt/certs/keystore.jks \
+  -e KEYSTORE_TYPE=JKS \
+  -e KEYSTORE_PASSWORD=QKZv1hSWAFQYZ+WU1jjF5ank+l4igeOfQRp+OSbkkrs \
+  -e TRUSTSTORE_PATH=/opt/certs/truststore.jks \
+  -e TRUSTSTORE_PASSWORD=rHkWR1gDNW3R9hgbeRsT3OM3Ue0zwGtQqcFKJD2EXWE \
+  -e TRUSTSTORE_TYPE=JKS \
+  -e INITIAL_ADMIN_IDENTITY='test' \
+  -e NIFI_SECURITY_USER_OIDC_DISCOVERY_URL: 
http://OPENID_SERVER_URL/auth/realms/OPENID_REALM/.well-known/openid-configuration
 \
+  -e NIFI_SECURITY_USER_OIDC_CONNECT_TIMEOUT: 1 \
+  -e NIFI_SECURITY_USER_OIDC_READ_TIMEOUT: 1 \
+  -e NIFI_SECURITY_USER_OIDC_CLIENT_ID: nifi \
+  -e NIFI_SECURITY_USER_OIDC_CLIENT_SECRET: 
tU47ugXO308WZqf5TtylyoMX3xH6W0kN \
+  -e NIFI_SECURITY_USER_OIDC_PREFERRED_JWSALGORITHM: RS256 \
+  -e NIFI_SECURITY_USER_OIDC_ADDITIONAL_SCOPES: email \
+  -e NIFI_SECURITY_USER_OIDC_CLAIM_IDENTIFYING_USER: preferred_username \
+  -e NIFI_SECURITY_USER_OIDC_FALLBACK_CLAIMS_IDENTIFYING_USER: email \
+  -e NIFI_SECURITY_USER_OIDC_TRUSTSTORE_STRATEGY: PKIX \
+  -d \
+  apache/nifi:latest
+
+- Make sure you've created realm, client and user in OpenID Server before with 
the same user name defined in `INITIAL_ADMIN_IDENTITY` environment variable
+- You can read more information about theses Nifi security OIDC configurations 
in this following link: 
[https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#openid_connect](https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#openid_connect)
+
  Clustering can be enabled by using the following properties to Docker 
environment variable mappings.
 
 # nifi.properties



[nifi] branch support/nifi-1.x updated: NIFI-12134 - Disable Directory Listing property is duplicated on PutSFTP processor

2023-09-27 Thread bejancsaba
This is an automated email from the ASF dual-hosted git repository.

bejancsaba pushed a commit to branch support/nifi-1.x
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/support/nifi-1.x by this push:
 new cfb820be2d NIFI-12134 - Disable Directory Listing property is 
duplicated on PutSFTP processor
cfb820be2d is described below

commit cfb820be2dac54176857d7824ffa2b002279bed2
Author: Arpad Boda 
AuthorDate: Wed Sep 27 13:00:51 2023 +0200

NIFI-12134 - Disable Directory Listing property is duplicated on PutSFTP 
processor

Signed-off-by: Bejan Csaba 

This closes #7798.
---
 .../src/main/java/org/apache/nifi/processors/standard/PutSFTP.java | 3 ---
 1 file changed, 3 deletions(-)

diff --git 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutSFTP.java
 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutSFTP.java
index 2543dd4d33..d2775c3e4e 100644
--- 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutSFTP.java
+++ 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutSFTP.java
@@ -21,7 +21,6 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 
-import org.apache.nifi.annotation.behavior.DynamicProperty;
 import org.apache.nifi.annotation.behavior.InputRequirement;
 import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
 import org.apache.nifi.annotation.behavior.SupportsBatching;
@@ -42,8 +41,6 @@ import org.apache.nifi.processors.standard.util.SFTPTransfer;
 @Tags({"remote", "copy", "egress", "put", "sftp", "archive", "files"})
 @CapabilityDescription("Sends FlowFiles to an SFTP Server")
 @SeeAlso(GetSFTP.class)
-@DynamicProperty(name = "Disable Directory Listing", value = "true or false",
-description = "Disables directory listings before operations which 
might fail, such as configurations which create directory structures.")
 public class PutSFTP extends PutFileTransfer {
 
 private List properties;



[nifi] branch main updated: NIFI-12134 - Disable Directory Listing property is duplicated on PutSFTP processor

2023-09-27 Thread bejancsaba
This is an automated email from the ASF dual-hosted git repository.

bejancsaba pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
 new dbcc223b40 NIFI-12134 - Disable Directory Listing property is 
duplicated on PutSFTP processor
dbcc223b40 is described below

commit dbcc223b4057ede14038466bdcc38ec2e56298a5
Author: Arpad Boda 
AuthorDate: Wed Sep 27 13:00:51 2023 +0200

NIFI-12134 - Disable Directory Listing property is duplicated on PutSFTP 
processor

Signed-off-by: Bejan Csaba 

This closes #7798.
---
 .../src/main/java/org/apache/nifi/processors/standard/PutSFTP.java | 3 ---
 1 file changed, 3 deletions(-)

diff --git 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutSFTP.java
 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutSFTP.java
index 2543dd4d33..d2775c3e4e 100644
--- 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutSFTP.java
+++ 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutSFTP.java
@@ -21,7 +21,6 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 
-import org.apache.nifi.annotation.behavior.DynamicProperty;
 import org.apache.nifi.annotation.behavior.InputRequirement;
 import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
 import org.apache.nifi.annotation.behavior.SupportsBatching;
@@ -42,8 +41,6 @@ import org.apache.nifi.processors.standard.util.SFTPTransfer;
 @Tags({"remote", "copy", "egress", "put", "sftp", "archive", "files"})
 @CapabilityDescription("Sends FlowFiles to an SFTP Server")
 @SeeAlso(GetSFTP.class)
-@DynamicProperty(name = "Disable Directory Listing", value = "true or false",
-description = "Disables directory listings before operations which 
might fail, such as configurations which create directory structures.")
 public class PutSFTP extends PutFileTransfer {
 
 private List properties;



[nifi] branch support/nifi-1.x updated: NIFI-12127 Allow Jackson's max string length to be configured on SplitJson and EvaluateJsonPath

2023-09-27 Thread mthomsen
This is an automated email from the ASF dual-hosted git repository.

mthomsen pushed a commit to branch support/nifi-1.x
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/support/nifi-1.x by this push:
 new 850959dd17 NIFI-12127 Allow Jackson's max string length to be 
configured on SplitJson and EvaluateJsonPath
850959dd17 is described below

commit 850959dd17b275cbaf1191bbdcbcfb4e0f6e9355
Author: Bryan Bende 
AuthorDate: Tue Sep 26 09:46:22 2023 -0400

NIFI-12127 Allow Jackson's max string length to be configured on SplitJson 
and EvaluateJsonPath

This closes #7794

Signed-off-by: Mike Thomsen 
---
 .../standard/AbstractJsonPathProcessor.java| 51 +++---
 .../nifi/processors/standard/EvaluateJsonPath.java | 11 -
 .../apache/nifi/processors/standard/SplitJson.java | 43 ++
 3 files changed, 69 insertions(+), 36 deletions(-)

diff --git 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/AbstractJsonPathProcessor.java
 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/AbstractJsonPathProcessor.java
index 81c7aa8ec6..aa72654b99 100644
--- 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/AbstractJsonPathProcessor.java
+++ 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/AbstractJsonPathProcessor.java
@@ -16,20 +16,14 @@
  */
 package org.apache.nifi.processors.standard;
 
+import com.fasterxml.jackson.core.StreamReadConstraints;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.jayway.jsonpath.Configuration;
 import com.jayway.jsonpath.DocumentContext;
 import com.jayway.jsonpath.InvalidJsonException;
 import com.jayway.jsonpath.JsonPath;
 import com.jayway.jsonpath.spi.json.JacksonJsonProvider;
 import com.jayway.jsonpath.spi.json.JsonProvider;
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.concurrent.atomic.AtomicReference;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.components.ValidationContext;
 import org.apache.nifi.components.ValidationResult;
@@ -38,8 +32,18 @@ import org.apache.nifi.flowfile.FlowFile;
 import org.apache.nifi.processor.AbstractProcessor;
 import org.apache.nifi.processor.ProcessSession;
 import org.apache.nifi.processor.io.InputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
 import org.apache.nifi.util.StringUtils;
 
+import java.io.BufferedInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.concurrent.atomic.AtomicReference;
+
 /**
  * Provides common functionality used for processors interacting and 
manipulating JSON data via JsonPath.
  *
@@ -49,10 +53,6 @@ import org.apache.nifi.util.StringUtils;
  */
 public abstract class AbstractJsonPathProcessor extends AbstractProcessor {
 
-private static final Configuration STRICT_PROVIDER_CONFIGURATION = 
Configuration.builder().jsonProvider(new JacksonJsonProvider()).build();
-
-private static final JsonProvider JSON_PROVIDER = 
STRICT_PROVIDER_CONFIGURATION.jsonProvider();
-
 static final Map NULL_REPRESENTATION_MAP = new HashMap<>();
 
 static final String EMPTY_STRING_OPTION = "empty string";
@@ -71,14 +71,33 @@ public abstract class AbstractJsonPathProcessor extends 
AbstractProcessor {
 .defaultValue(EMPTY_STRING_OPTION)
 .build();
 
-static DocumentContext validateAndEstablishJsonContext(ProcessSession 
processSession, FlowFile flowFile) {
+public static final PropertyDescriptor MAX_STRING_LENGTH = new 
PropertyDescriptor.Builder()
+.name("max-string-length")
+.displayName("Max String Length")
+.description("The maximum allowed length of a string value when 
parsing the JSON document")
+.required(true)
+.defaultValue("20 MB")
+.addValidator(StandardValidators.DATA_SIZE_VALIDATOR)
+.build();
+
+static Configuration createConfiguration(final int maxStringLength) {
+final StreamReadConstraints streamReadConstraints = 
StreamReadConstraints.builder().maxStringLength(maxStringLength).build();
+
+final ObjectMapper objectMapper = new ObjectMapper();
+
objectMapper.getFactory().setStreamReadConstraints(streamReadConstraints);
+
+final JsonProvider jsonProvider = new 
JacksonJsonProvider(objectMapper);
+return Configuration.builder().jsonProvider(jsonProvider).build();
+}
+
+static DocumentContext 

[nifi] branch main updated: NIFI-12127 Allow Jackson's max string length to be configured on SplitJson and EvaluateJsonPath

2023-09-27 Thread mthomsen
This is an automated email from the ASF dual-hosted git repository.

mthomsen pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
 new 1ac833654b NIFI-12127 Allow Jackson's max string length to be 
configured on SplitJson and EvaluateJsonPath
1ac833654b is described below

commit 1ac833654b826e1366353c964ee1e4023d512f13
Author: Bryan Bende 
AuthorDate: Tue Sep 26 09:46:22 2023 -0400

NIFI-12127 Allow Jackson's max string length to be configured on SplitJson 
and EvaluateJsonPath

This closes #7794

Signed-off-by: Mike Thomsen 
---
 .../standard/AbstractJsonPathProcessor.java| 51 +++---
 .../nifi/processors/standard/EvaluateJsonPath.java | 11 -
 .../apache/nifi/processors/standard/SplitJson.java | 44 +++
 3 files changed, 69 insertions(+), 37 deletions(-)

diff --git 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/AbstractJsonPathProcessor.java
 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/AbstractJsonPathProcessor.java
index 81c7aa8ec6..aa72654b99 100644
--- 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/AbstractJsonPathProcessor.java
+++ 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/AbstractJsonPathProcessor.java
@@ -16,20 +16,14 @@
  */
 package org.apache.nifi.processors.standard;
 
+import com.fasterxml.jackson.core.StreamReadConstraints;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.jayway.jsonpath.Configuration;
 import com.jayway.jsonpath.DocumentContext;
 import com.jayway.jsonpath.InvalidJsonException;
 import com.jayway.jsonpath.JsonPath;
 import com.jayway.jsonpath.spi.json.JacksonJsonProvider;
 import com.jayway.jsonpath.spi.json.JsonProvider;
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.concurrent.atomic.AtomicReference;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.components.ValidationContext;
 import org.apache.nifi.components.ValidationResult;
@@ -38,8 +32,18 @@ import org.apache.nifi.flowfile.FlowFile;
 import org.apache.nifi.processor.AbstractProcessor;
 import org.apache.nifi.processor.ProcessSession;
 import org.apache.nifi.processor.io.InputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
 import org.apache.nifi.util.StringUtils;
 
+import java.io.BufferedInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.concurrent.atomic.AtomicReference;
+
 /**
  * Provides common functionality used for processors interacting and 
manipulating JSON data via JsonPath.
  *
@@ -49,10 +53,6 @@ import org.apache.nifi.util.StringUtils;
  */
 public abstract class AbstractJsonPathProcessor extends AbstractProcessor {
 
-private static final Configuration STRICT_PROVIDER_CONFIGURATION = 
Configuration.builder().jsonProvider(new JacksonJsonProvider()).build();
-
-private static final JsonProvider JSON_PROVIDER = 
STRICT_PROVIDER_CONFIGURATION.jsonProvider();
-
 static final Map NULL_REPRESENTATION_MAP = new HashMap<>();
 
 static final String EMPTY_STRING_OPTION = "empty string";
@@ -71,14 +71,33 @@ public abstract class AbstractJsonPathProcessor extends 
AbstractProcessor {
 .defaultValue(EMPTY_STRING_OPTION)
 .build();
 
-static DocumentContext validateAndEstablishJsonContext(ProcessSession 
processSession, FlowFile flowFile) {
+public static final PropertyDescriptor MAX_STRING_LENGTH = new 
PropertyDescriptor.Builder()
+.name("max-string-length")
+.displayName("Max String Length")
+.description("The maximum allowed length of a string value when 
parsing the JSON document")
+.required(true)
+.defaultValue("20 MB")
+.addValidator(StandardValidators.DATA_SIZE_VALIDATOR)
+.build();
+
+static Configuration createConfiguration(final int maxStringLength) {
+final StreamReadConstraints streamReadConstraints = 
StreamReadConstraints.builder().maxStringLength(maxStringLength).build();
+
+final ObjectMapper objectMapper = new ObjectMapper();
+
objectMapper.getFactory().setStreamReadConstraints(streamReadConstraints);
+
+final JsonProvider jsonProvider = new 
JacksonJsonProvider(objectMapper);
+return Configuration.builder().jsonProvider(jsonProvider).build();
+}
+
+static DocumentContext 

[nifi] branch main updated: NIFI-12114 Create separate test instance for python extensions

2023-09-27 Thread aboda
This is an automated email from the ASF dual-hosted git repository.

aboda pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
 new 4b0c8bf6af NIFI-12114 Create separate test instance for python 
extensions
4b0c8bf6af is described below

commit 4b0c8bf6af6eee30b0c9fc851a82e0fab45d35ab
Author: Nandor Soma Abonyi 
AuthorDate: Fri Sep 22 16:47:27 2023 +0200

NIFI-12114 Create separate test instance for python extensions

Signed-off-by: Arpad Boda 

This closes #7780
---
 .github/workflows/system-tests.yml |   1 +
 nifi-system-tests/nifi-system-test-suite/pom.xml   |  24 +++
 .../org/apache/nifi/tests/system/NiFiSystemIT.java |  16 +-
 .../tests/system/python/PythonProcessorIT.java |   5 +-
 .../resources/conf/clustered/node1/nifi.properties |   2 +-
 .../resources/conf/clustered/node2/nifi.properties |   2 +-
 .../test/resources/conf/default/nifi.properties|   2 +-
 .../test/resources/conf/pythonic/bootstrap.conf|  33 
 .../src/test/resources/conf/pythonic/logback.xml   | 214 +
 .../conf/{default => pythonic}/nifi.properties |  34 ++--
 .../resources/conf/pythonic/state-management.xml   |  32 +++
 .../resources/conf/pythonic/zookeeper.properties   |  45 +
 12 files changed, 386 insertions(+), 24 deletions(-)

diff --git a/.github/workflows/system-tests.yml 
b/.github/workflows/system-tests.yml
index d1e81806f9..f2c4c41748 100644
--- a/.github/workflows/system-tests.yml
+++ b/.github/workflows/system-tests.yml
@@ -56,6 +56,7 @@ env:
 package
 verify
 -P integration-tests
+-D include-python-integration-tests=true
   MAVEN_PROJECTS: >-
 -pl :nifi-python-framework
 -pl :nifi-python-extension-api
diff --git a/nifi-system-tests/nifi-system-test-suite/pom.xml 
b/nifi-system-tests/nifi-system-test-suite/pom.xml
index 92906f1c89..f173a353af 100644
--- a/nifi-system-tests/nifi-system-test-suite/pom.xml
+++ b/nifi-system-tests/nifi-system-test-suite/pom.xml
@@ -24,6 +24,30 @@
 nifi-system-test-suite
 jar
 
+
+
+include-python-integration-tests
+
+
+include-python-integration-tests
+!true
+
+
+
+
+
+maven-failsafe-plugin
+
+
+PythonProcessorIT.java
+
+
+
+
+
+
+
+
 
 
 
diff --git 
a/nifi-system-tests/nifi-system-test-suite/src/test/java/org/apache/nifi/tests/system/NiFiSystemIT.java
 
b/nifi-system-tests/nifi-system-test-suite/src/test/java/org/apache/nifi/tests/system/NiFiSystemIT.java
index f0ef3741e2..b927fae922 100644
--- 
a/nifi-system-tests/nifi-system-test-suite/src/test/java/org/apache/nifi/tests/system/NiFiSystemIT.java
+++ 
b/nifi-system-tests/nifi-system-test-suite/src/test/java/org/apache/nifi/tests/system/NiFiSystemIT.java
@@ -201,7 +201,7 @@ public abstract class NiFiSystemIT implements 
NiFiInstanceProvider {
 
.bootstrapConfig("src/test/resources/conf/default/bootstrap.conf")
 .instanceDirectory("target/standalone-instance")
 .overrideNifiProperties(getNifiPropertiesOverrides())
-.unpackPythonExtensions(isUnpackPythonExtensions())
+.unpackPythonExtensions(false)
 .build());
 }
 
@@ -211,6 +211,16 @@ public abstract class NiFiSystemIT implements 
NiFiInstanceProvider {
 "src/test/resources/conf/clustered/node2/bootstrap.conf");
 }
 
+public NiFiInstanceFactory createPythonicInstanceFactory() {
+return new SpawnedStandaloneNiFiInstanceFactory(
+new InstanceConfiguration.Builder()
+
.bootstrapConfig("src/test/resources/conf/pythonic/bootstrap.conf")
+.instanceDirectory("target/pythonic-instance")
+.overrideNifiProperties(getNifiPropertiesOverrides())
+.unpackPythonExtensions(true)
+.build());
+}
+
 protected String getTestName() {
 return testInfo.getDisplayName();
 }
@@ -545,10 +555,6 @@ public abstract class NiFiSystemIT implements 
NiFiInstanceProvider {
 return node2Dto;
 }
 
-protected boolean isUnpackPythonExtensions() {
-return false;
-}
-
 /**
  * Disconnects a node from the cluster
  * @param nodeIndex the 1-based index of the node
diff --git 
a/nifi-system-tests/nifi-system-test-suite/src/test/java/org/apache/nifi/tests/system/python/PythonProcessorIT.java