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 <nsabo...@apache.org> AuthorDate: Fri Sep 22 16:47:27 2023 +0200 NIFI-12114 Create separate test instance for python extensions Signed-off-by: Arpad Boda <ab...@apache.org> 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 @@ <artifactId>nifi-system-test-suite</artifactId> <packaging>jar</packaging> + <profiles> + <profile> + <id>include-python-integration-tests</id> + <activation> + <property> + <name>include-python-integration-tests</name> + <value>!true</value> + </property> + </activation> + <build> + <plugins> + <plugin> + <artifactId>maven-failsafe-plugin</artifactId> + <configuration> + <excludes> + <exclude>PythonProcessorIT.java</exclude> + </excludes> + </configuration> + </plugin> + </plugins> + </build> + </profile> + </profiles> + <build> <plugins> <plugin> 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 b/nifi-system-tests/nifi-system-test-suite/src/test/java/org/apache/nifi/tests/system/python/PythonProcessorIT.java index ffe3c10efb..1b98c4bc51 100644 --- a/nifi-system-tests/nifi-system-test-suite/src/test/java/org/apache/nifi/tests/system/python/PythonProcessorIT.java +++ b/nifi-system-tests/nifi-system-test-suite/src/test/java/org/apache/nifi/tests/system/python/PythonProcessorIT.java @@ -17,6 +17,7 @@ package org.apache.nifi.tests.system.python; +import org.apache.nifi.tests.system.NiFiInstanceFactory; import org.apache.nifi.tests.system.NiFiSystemIT; import org.apache.nifi.toolkit.cli.impl.client.nifi.NiFiClientException; import org.apache.nifi.web.api.dto.ProcessorConfigDTO; @@ -41,8 +42,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue; public class PythonProcessorIT extends NiFiSystemIT { @Override - protected boolean isUnpackPythonExtensions() { - return true; + public NiFiInstanceFactory getInstanceFactory() { + return createPythonicInstanceFactory(); } @Test diff --git a/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/clustered/node1/nifi.properties b/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/clustered/node1/nifi.properties index b81700821a..95d9693a2d 100644 --- a/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/clustered/node1/nifi.properties +++ b/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/clustered/node1/nifi.properties @@ -42,7 +42,7 @@ nifi.documentation.working.directory=./work/docs/components # Python Extensions # ##################### # Uncomment in order to enable Python Extensions. -nifi.python.command=python +#nifi.python.command=python nifi.python.framework.source.directory=./python/framework nifi.python.extensions.source.directory.default=./python/extensions nifi.python.working.directory=./work/python diff --git a/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/clustered/node2/nifi.properties b/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/clustered/node2/nifi.properties index 234df2872e..79b7d13026 100644 --- a/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/clustered/node2/nifi.properties +++ b/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/clustered/node2/nifi.properties @@ -42,7 +42,7 @@ nifi.documentation.working.directory=./work/docs/components # Python Extensions # ##################### # Uncomment in order to enable Python Extensions. -nifi.python.command=python +#nifi.python.command=python nifi.python.framework.source.directory=./python/framework nifi.python.extensions.source.directory.default=./python/extensions nifi.python.working.directory=./work/python diff --git a/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/default/nifi.properties b/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/default/nifi.properties index 368623726c..3b925e4317 100644 --- a/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/default/nifi.properties +++ b/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/default/nifi.properties @@ -42,7 +42,7 @@ nifi.documentation.working.directory=./work/docs/components # Python Extensions # ##################### # Uncomment in order to enable Python Extensions. -nifi.python.command=python +#nifi.python.command=python nifi.python.framework.source.directory=./python/framework nifi.python.extensions.source.directory.default=./python/extensions nifi.python.working.directory=./work/python diff --git a/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/pythonic/bootstrap.conf b/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/pythonic/bootstrap.conf new file mode 100644 index 0000000000..471972c00b --- /dev/null +++ b/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/pythonic/bootstrap.conf @@ -0,0 +1,33 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Configure where NiFi's lib and conf directories live +lib.dir=../nifi-lib-assembly/lib +conf.dir=./conf +working.dir=./target/pythonic-instance + +# How long to wait after telling NiFi to shutdown before explicitly killing the Process +graceful.shutdown.seconds=20 + +# JVM memory settings +java.arg.2=-Xms512m +java.arg.3=-Xmx512m + +java.arg.14=-Djava.awt.headless=true + +#java.arg.debug=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8002 + +# Disable Logback web shutdown hook using System property +java.arg.logbackShutdown=-DlogbackDisableServletContainerInitializer=true diff --git a/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/pythonic/logback.xml b/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/pythonic/logback.xml new file mode 100644 index 0000000000..1a62d56362 --- /dev/null +++ b/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/pythonic/logback.xml @@ -0,0 +1,214 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<configuration scan="true" scanPeriod="30 seconds"> + <shutdownHook class="ch.qos.logback.core.hook.DefaultShutdownHook" /> + + <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator"> + <resetJUL>true</resetJUL> + </contextListener> + + <appender name="APP_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${org.apache.nifi.bootstrap.config.log.dir}/nifi-app.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> + <!-- + For daily rollover, use 'app_%d.log'. + For hourly rollover, use 'app_%d{yyyy-MM-dd_HH}.log'. + To GZIP rolled files, replace '.log' with '.log.gz'. + To ZIP rolled files, replace '.log' with '.log.zip'. + --> + <fileNamePattern>${org.apache.nifi.bootstrap.config.log.dir}/nifi-app_%d{yyyy-MM-dd_HH}.%i.log</fileNamePattern> + <maxFileSize>100MB</maxFileSize> + <!-- keep 30 log files worth of history --> + <maxHistory>30</maxHistory> + </rollingPolicy> + <immediateFlush>true</immediateFlush> + <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> + <pattern>%date %level [%thread] %logger{40} %msg%n</pattern> + </encoder> + </appender> + + <appender name="USER_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${org.apache.nifi.bootstrap.config.log.dir}/nifi-user.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!-- + For daily rollover, use 'user_%d.log'. + For hourly rollover, use 'user_%d{yyyy-MM-dd_HH}.log'. + To GZIP rolled files, replace '.log' with '.log.gz'. + To ZIP rolled files, replace '.log' with '.log.zip'. + --> + <fileNamePattern>${org.apache.nifi.bootstrap.config.log.dir}/nifi-user_%d.log</fileNamePattern> + <!-- keep 30 log files worth of history --> + <maxHistory>30</maxHistory> + </rollingPolicy> + <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> + <pattern>%date %level [%thread] %logger{40} %msg%n</pattern> + </encoder> + </appender> + + <appender name="REQUEST_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${org.apache.nifi.bootstrap.config.log.dir}/nifi-request.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${org.apache.nifi.bootstrap.config.log.dir}/nifi-request_%d.log</fileNamePattern> + <maxHistory>30</maxHistory> + </rollingPolicy> + <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> + <pattern>%msg%n</pattern> + </encoder> + </appender> + + <appender name="BOOTSTRAP_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${org.apache.nifi.bootstrap.config.log.dir}/nifi-bootstrap.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!-- + For daily rollover, use 'bootstrap_%d.log'. + For hourly rollover, use 'bootstrap_%d{yyyy-MM-dd_HH}.log'. + To GZIP rolled files, replace '.log' with '.log.gz'. + To ZIP rolled files, replace '.log' with '.log.zip'. + --> + <fileNamePattern>${org.apache.nifi.bootstrap.config.log.dir}/nifi-bootstrap_%d.log</fileNamePattern> + <!-- keep 5 log files worth of history --> + <maxHistory>5</maxHistory> + </rollingPolicy> + <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> + <pattern>%date %level [%thread] %logger{40} %msg%n</pattern> + </encoder> + </appender> + + <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> + <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> + <pattern>%date %level [%thread] %logger{40} %msg%n</pattern> + </encoder> + </appender> + + <!-- valid logging levels: TRACE, DEBUG, INFO, WARN, ERROR --> + + <logger name="org.apache.nifi" level="INFO"/> + <logger name="org.apache.nifi.processors" level="INFO"/> + <logger name="org.apache.nifi.processors.standard.LogAttribute" level="INFO"/> + <logger name="org.apache.nifi.processors.standard.LogMessage" level="INFO"/> + <logger name="org.apache.nifi.controller.repository.StandardProcessSession" level="WARN" /> + + + <logger name="org.apache.zookeeper.ClientCnxn" level="ERROR" /> + <logger name="org.apache.zookeeper.server.NIOServerCnxn" level="ERROR" /> + <logger name="org.apache.zookeeper.server.NIOServerCnxnFactory" level="ERROR" /> + <logger name="org.apache.zookeeper.server.NettyServerCnxnFactory" level="ERROR" /> + <logger name="org.apache.zookeeper.server.quorum" level="ERROR" /> + <logger name="org.apache.zookeeper.ZooKeeper" level="ERROR" /> + <logger name="org.apache.zookeeper.server.PrepRequestProcessor" level="ERROR" /> + <logger name="org.apache.nifi.controller.reporting.LogComponentStatuses" level="ERROR" /> + + <logger name="org.apache.calcite.runtime.CalciteException" level="OFF" /> + <logger name="deprecation" level="OFF" /> + + <logger name="org.apache.curator.framework.recipes.leader.LeaderSelector" level="OFF" /> + <logger name="org.apache.curator.ConnectionState" level="OFF" /> + + <!-- Logger for managing logging statements for nifi clusters. --> + <logger name="org.apache.nifi.cluster" level="INFO"/> + + <!-- Logger for logging HTTP requests received by the web server. --> + <logger name="org.apache.nifi.server.JettyServer" level="INFO"/> + + <!-- Logger for managing logging statements for jetty --> + <logger name="org.eclipse.jetty" level="INFO"/> + + <!-- Suppress non-error messages due to excessive logging by class or library --> + <logger name="org.springframework" level="ERROR"/> + + <!-- Suppress non-error messages due to known warning about redundant path annotation (NIFI-574) --> + <logger name="org.glassfish.jersey.internal.Errors" level="ERROR"/> + + <!-- Suppress non-error messages due to Jetty AnnotationParser emitting a large amount of WARNS. Issue described in NIFI-5479. --> + <logger name="org.eclipse.jetty.annotations.AnnotationParser" level="ERROR"/> + + <!-- Suppress non-error messages from SSHJ which was emitting large amounts of INFO logs by default --> + <logger name="net.schmizz.sshj" level="WARN" /> + <logger name="com.hierynomus.sshj" level="WARN" /> + + <!-- Suppress non-error messages from SMBJ which was emitting large amounts of INFO logs by default --> + <logger name="com.hierynomus.smbj" level="WARN" /> + + <!-- Suppress non-error messages from AWS KCL which was emitting large amounts of INFO logs by default --> + <logger name="com.amazonaws.services.kinesis" level="WARN" /> + + <!-- Suppress non-error messages from Apache Atlas which was emitting large amounts of INFO logs by default --> + <logger name="org.apache.atlas" level="WARN"/> + + <!-- These log messages would normally go to the USER_FILE log, but they belong in the APP_FILE --> + <logger name="org.apache.nifi.web.security.requests" level="INFO" additivity="false"> + <appender-ref ref="APP_FILE"/> + </logger> + + <!-- + Logger for capturing user events. We do not want to propagate these + log events to the root logger. These messages are only sent to the + user-log appender. + --> + <logger name="org.apache.nifi.web.security" level="INFO" additivity="false"> + <appender-ref ref="USER_FILE"/> + </logger> + <logger name="org.apache.nifi.web.api.config" level="INFO" additivity="false"> + <appender-ref ref="USER_FILE"/> + </logger> + <logger name="org.apache.nifi.authorization" level="INFO" additivity="false"> + <appender-ref ref="USER_FILE"/> + </logger> + <logger name="org.apache.nifi.cluster.authorization" level="INFO" additivity="false"> + <appender-ref ref="USER_FILE"/> + </logger> + <logger name="org.apache.nifi.web.api.AccessResource" level="INFO" additivity="false"> + <appender-ref ref="USER_FILE"/> + </logger> + <logger name="org.springframework.security.saml.log" level="WARN" additivity="false"> + <appender-ref ref="USER_FILE"/> + </logger> + <logger name="org.opensaml" level="WARN" additivity="false"> + <appender-ref ref="USER_FILE"/> + </logger> + + <!-- Web Server Request Log --> + <logger name="org.apache.nifi.web.server.RequestLog" level="INFO" additivity="false"> + <appender-ref ref="REQUEST_FILE"/> + </logger> + + <!-- + Logger for capturing Bootstrap logs and NiFi's standard error and standard out. + --> + <logger name="org.apache.nifi.bootstrap" level="INFO" additivity="false"> + <appender-ref ref="BOOTSTRAP_FILE" /> + </logger> + <logger name="org.apache.nifi.bootstrap.Command" level="INFO" additivity="false"> + <appender-ref ref="CONSOLE" /> + <appender-ref ref="BOOTSTRAP_FILE" /> + </logger> + + <!-- Everything written to NiFi's Standard Out will be logged with the logger org.apache.nifi.StdOut at INFO level --> + <logger name="org.apache.nifi.StdOut" level="INFO" additivity="false"> + <appender-ref ref="BOOTSTRAP_FILE" /> + </logger> + + <!-- Everything written to NiFi's Standard Error will be logged with the logger org.apache.nifi.StdErr at ERROR level --> + <logger name="org.apache.nifi.StdErr" level="ERROR" additivity="false"> + <appender-ref ref="BOOTSTRAP_FILE" /> + </logger> + + <root level="INFO"> + <appender-ref ref="APP_FILE" /> + </root> + +</configuration> diff --git a/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/default/nifi.properties b/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/pythonic/nifi.properties similarity index 91% copy from nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/default/nifi.properties copy to nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/pythonic/nifi.properties index 368623726c..108df0a627 100644 --- a/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/default/nifi.properties +++ b/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/pythonic/nifi.properties @@ -1,17 +1,21 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# /* +# * Licensed to the Apache Software Foundation (ASF) under one or more +# * contributor license agreements. See the NOTICE file distributed with +# * this work for additional information regarding copyright ownership. +# * The ASF licenses this file to You under the Apache License, Version 2.0 +# * (the "License"); you may not use this file except in compliance with +# * the License. You may obtain a copy of the License at +# * +# * http://www.apache.org/licenses/LICENSE-2.0 +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, +# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# * See the License for the specific language governing permissions and +# * limitations under the License. +# */ # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. # Core Properties # nifi.flow.configuration.file=./conf/flow.xml.gz @@ -42,7 +46,7 @@ nifi.documentation.working.directory=./work/docs/components # Python Extensions # ##################### # Uncomment in order to enable Python Extensions. -nifi.python.command=python +nifi.python.command=python3 nifi.python.framework.source.directory=./python/framework nifi.python.extensions.source.directory.default=./python/extensions nifi.python.working.directory=./work/python @@ -257,4 +261,6 @@ nifi.kerberos.spnego.principal= nifi.kerberos.spnego.keytab.location= nifi.kerberos.spnego.authentication.expiration=12 hours -nifi.flow.analysis.background.task.schedule=5 mins +# external properties files for variable registry +# supports a comma delimited list of file locations +nifi.variable.registry.properties= diff --git a/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/pythonic/state-management.xml b/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/pythonic/state-management.xml new file mode 100644 index 0000000000..65f6d9c67c --- /dev/null +++ b/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/pythonic/state-management.xml @@ -0,0 +1,32 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<stateManagement> + <local-provider> + <id>local-provider</id> + <class>org.apache.nifi.controller.state.providers.local.WriteAheadLocalStateProvider</class> + <property name="Directory">./state/local</property> + <property name="Always Sync">false</property> + <property name="Partitions">16</property> + <property name="Checkpoint Interval">2 mins</property> + </local-provider> + <cluster-provider> + <id>zk-provider</id> + <class>org.apache.nifi.controller.state.providers.zookeeper.ZooKeeperStateProvider</class> + <property name="Connect String">localhost:62181</property> + <property name="Root Node">/nifi-integration-test</property> + <property name="Session Timeout">30 seconds</property> + <property name="Access Control">Open</property> + </cluster-provider> +</stateManagement> \ No newline at end of file diff --git a/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/pythonic/zookeeper.properties b/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/pythonic/zookeeper.properties new file mode 100644 index 0000000000..47b9290a51 --- /dev/null +++ b/nifi-system-tests/nifi-system-test-suite/src/test/resources/conf/pythonic/zookeeper.properties @@ -0,0 +1,45 @@ +# +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +# +# + +clientPort=62181 +initLimit=10 +autopurge.purgeInterval=24 +syncLimit=5 +tickTime=2000 +dataDir=target/state/zookeeper +autopurge.snapRetainCount=30 + +# +# Specifies the servers that are part of this zookeeper ensemble. For +# every NiFi instance running an embedded zookeeper, there needs to be +# a server entry below. For instance: +# +# server.1=nifi-node1-hostname:2888:3888 +# server.2=nifi-node2-hostname:2888:3888 +# server.3=nifi-node3-hostname:2888:3888 +# +# The index of the server corresponds to the myid file that gets created +# in the dataDir of each node running an embedded zookeeper. See the +# administration guide for more details. +# + +server.1=localhost:5777:6777