This is an automated email from the ASF dual-hosted git repository.
martinzink pushed a change to branch controller_c_api_requirements
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git
omit 2c10e0290 MINIFICPP-2715 - Use symbols to check api compatibility
omit 0e9b52a31 MINIFICPP-2710 Refactor ControllerServiceNodeMap
omit fa362fa87 MINIFICPP-2669 - Reduce controller service api
add d24d32400 MINIFICPP-2683 Move C2 docker tests to modular docker tests
add e730451c9 MINIFICPP-2685 Move MQTT tests to modular docker tests
add ebc89c186 MINIFICPP-2256 Remove LoggerConfiguration::newInstance
add 3b1334649 MINIFICPP-2722 C API enum explicit type
add 3190ca615 MINIFICPP-2724 Add MinifiStatus return type to C api
function that might fail
add b525cc861 MINIFICPP-2725 python: fix EL with ENVIRONMENT scope
add e58d829b1 MINIFICPP-2728 upgrade openssl to 3.3.6
add 71908d19e MINIFICPP-2727 Stabilize verify package tests
add 7c18354a8 MINIFICPP-2729 Increase timeout for MacOS jobs
add f856bb60f MINIFICPP-2730 Check if config.yml exists when creating the
debug bundle
add 30fa5d153 MINIFICPP-2726 Fix HTTP S2S no data and error handling
add 162ccfb55 MINIFICPP-2732 Clear class descriptions when extensions are
cleared
add 4096b8637 MINIFICPP-2733 Fix compilation on Windows in debug mode with
Ninja
add 24933300e MINIFICPP-2734 Remove BinFiles from processor list
add 2f26cb92f MINIFICPP-2723 Add log and properties.d dir property files
to debug bundle
add b1137d2b7 MINIFICPP-2736 Add checks of library unload result for class
description removal
add e2de4ca72 MINIFICPP-2686 Move Prometheus tests to modular docker tests
add c460780a9 MINIFICPP-2688 Move site-to-site tests to modular docker
tests
add d39671da8 MINIFICPP-2687 Move Python extension docker tests to modular
docker tests
add 91481eff7 MINIFICPP-2716 Refactor and stabilize modular docker tests
add 7ec2fd7c1 MINIFICPP-2714 Move Kubernetes to modular docker tests
add 572832b7e MINIFICPP-2717 Remove old docker testing framework
add 30c2434bd MINIFICPP-2739 Add test scenario info to behave logs
add 30493bf09 MINIFICPP-2738 Suppress false positive warning on GCC 12
add 1d764d7a7 MINIFICPP-2744 Fix ubuntu_22_04_clang_arm CI job
add 022bd6ffd MINIFICPP-2745 Upgrade OPC UA library to v1.5.2
add c81f8652f MINIFICPP-2669 - Reduce controller service api
add 65c0fc4a5 Remove some virtual inhertiance fix linux build
add 198dafc63 MINIFICPP-2669 - Clang tidy fix
add 75cd1c54a MINIFICPP-2669 - Test fix
add e4e42d7cc MINIFICPP-2669 - Remove invalid logger
add d52c339b3 MINIFICPP-2669 - Formatting fix
add 60661cd0f MINIFICPP-2669 - Rebase fix
add 46851fc10 MINIFICPP-2669 - Remove ThreadManagementService, review
changes
add f438cd830 MINIFICPP-2669 - Fix build
add d014310b2 MINIFICPP-2669 - Fix build
add 0efd385ca Update core-framework/include/utils/ThreadPool.h
add 87519ca34 MINIFICPP-2669 - Review changes
add 89eadbe8c Update libminifi/test/libtest/unit/ControllerServiceUtils.h
add 9b299b82a MINIFICPP-2669 - Rename to ControllerServiceHandle
add 9daceaa70 MINIFICPP-2669 - Fix
add 3a133e8fb MINIFICPP-2669 - Mark property deprecated
add d34f998e7 MINIFICPP-2669 - Update docs
add ecda194ec MINIFICPP-2710 Refactor ControllerServiceNodeMap
add 97686cc27 review changes
new a91703120 MINIFICPP-2715 - Use symbols to check api compatibility
new 5983cf7fc MINIFICPP-2715 - Add missing symbol
new 04c8c2fae MINIFICPP-2715 - Windows fix
new b240279dc MINIFICPP-2715 - Move version information to
MinifiCreateExtension
new a8128b9f8 MINIFICPP-2715 - Use symbol lookup to check version
new 85abf463c MINIFICPP-2715 - Add extension loading tests for version
verification
new e83dbf2d7 MINIFICPP-2715 - Use a single integer as c api version
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (2c10e0290)
\
N -- N -- N refs/heads/controller_c_api_requirements (e83dbf2d7)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 7 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.github/workflows/ci.yml | 62 +-
.github/workflows/verify-package.yml | 74 +-
.gitignore | 1 +
CMakeLists.txt | 2 +-
CONTROLLERS.md | 2 +-
Extensions.md | 10 +-
PROCESSORS.md | 29 -
README.md | 20 +-
.../minifi_test_framework/containers/container.py | 29 +-
.../containers/http_proxy_container.py | 3 +-
.../containers/minifi_container.py | 32 +-
.../containers/nifi_container.py | 25 +-
.../resources/nifi}/convert_cert_to_jks.sh | 0
.../src/minifi_test_framework/core/hooks.py | 17 +-
.../src/minifi_test_framework/minifi/connection.py | 1 +
.../minifi/flow_definition.py | 60 ++
.../minifi/{parameter.py => input_port.py} | 29 +-
.../minifi/minifi_flow_definition.py | 9 +-
.../minifi/nifi_flow_definition.py | 22 +-
.../minifi/{parameter.py => output_port.py} | 29 +-
.../{controller_service.py => remote_port.py} | 16 +-
.../minifi/remote_process_group.py | 44 +
.../minifi_test_framework/steps/checking_steps.py | 75 +-
.../steps/configuration_steps.py | 23 +-
.../src/minifi_test_framework/steps/core_steps.py | 102 ++-
.../steps/flow_building_steps.py | 101 ++-
cmake/BundledOpen62541.cmake | 6 +-
cmake/BundledOpenSSL.cmake | 12 +-
cmake/DockerConfig.cmake | 33 +-
cmake/Extensions.cmake | 3 +-
cmake/VerifyPackageWithDocker.cmake | 31 +-
.../core/controller/ControllerServiceBase.h | 16 +-
core-framework/include/http/HTTPClient.h | 1 +
core-framework/src/http/HTTPClient.cpp | 5 +-
docker/DockerVerify.sh | 195 -----
docker/RunBehaveTests.sh | 19 +-
docker/requirements.txt | 2 -
docker/test/integration/.gitignore | 2 -
docker/test/integration/__init__.py | 0
docker/test/integration/cluster/ContainerStore.py | 311 -------
.../test/integration/cluster/DockerCommunicator.py | 86 --
.../test/integration/cluster/DockerTestCluster.py | 283 ------
.../cluster/DockerTestDirectoryBindings.py | 221 -----
docker/test/integration/cluster/FeatureContext.py | 21 -
docker/test/integration/cluster/ImageStore.py | 361 --------
docker/test/integration/cluster/KubernetesProxy.py | 161 ----
docker/test/integration/cluster/LogSource.py | 19 -
docker/test/integration/cluster/__init__.py | 0
.../integration/cluster/checkers/AzureChecker.py | 59 --
.../integration/cluster/checkers/ModbusChecker.py | 24 -
.../cluster/checkers/PostgresChecker.py | 27 -
.../cluster/checkers/PrometheusChecker.py | 136 ---
.../test/integration/cluster/checkers/__init__.py | 0
.../containers/AzureStorageServerContainer.py | 40 -
.../integration/cluster/containers/Container.py | 90 --
.../cluster/containers/FlowContainer.py | 63 --
.../cluster/containers/HttpProxyContainer.py | 39 -
.../containers/MinifiAsPodInKubernetesCluster.py | 73 --
.../cluster/containers/MinifiC2ServerContainer.py | 112 ---
.../cluster/containers/MinifiContainer.py | 244 ------
.../cluster/containers/MqttBrokerContainer.py | 40 -
.../cluster/containers/NifiContainer.py | 100 ---
.../containers/PostgreSQLServerContainer.py | 37 -
.../cluster/containers/PrometheusContainer.py | 100 ---
.../cluster/containers/SyslogTcpClientContainer.py | 38 -
.../cluster/containers/SyslogUdpClientContainer.py | 38 -
.../cluster/containers/ZookeeperContainer.py | 39 -
.../integration/cluster/containers/__init__.py | 0
.../features/MiNiFi_integration_test_driver.py | 399 ---------
docker/test/integration/features/README.md | 43 -
docker/test/integration/features/environment.py | 105 ---
.../integration/features/python_script.feature | 30 -
docker/test/integration/features/steps/steps.py | 953 ---------------------
docker/test/integration/features/utils.py | 92 --
.../filesystem_validation/FileSystemObserver.py | 69 --
.../filesystem_validation/OutputEventHandler.py | 64 --
.../integration/filesystem_validation/__init__.py | 0
docker/test/integration/minifi/__init__.py | 0
.../minifi/controllers/JsonRecordSetWriter.py | 24 -
.../minifi/controllers/JsonTreeReader.py | 23 -
.../controllers/KubernetesControllerService.py | 28 -
.../integration/minifi/controllers/ODBCService.py | 27 -
.../minifi/controllers/SSLContextService.py | 39 -
.../integration/minifi/controllers/XMLReader.py | 21 -
.../minifi/controllers/XMLRecordSetWriter.py | 23 -
.../integration/minifi/controllers/__init__.py | 0
docker/test/integration/minifi/core/Connectable.py | 70 --
.../integration/minifi/core/ControllerService.py | 40 -
docker/test/integration/minifi/core/Funnel.py | 22 -
docker/test/integration/minifi/core/InputPort.py | 34 -
docker/test/integration/minifi/core/OutputPort.py | 34 -
docker/test/integration/minifi/core/Processor.py | 85 --
.../integration/minifi/core/RemoteProcessGroup.py | 40 -
docker/test/integration/minifi/core/__init__.py | 0
.../Minifi_flow_json_serializer.py | 209 -----
.../Minifi_flow_yaml_serializer.py | 244 ------
.../Nifi_flow_json_serializer.py | 250 ------
.../minifi/flow_serialization/__init__.py | 0
.../minifi/processors/AddPythonAttribute.py | 22 -
.../processors/AzureBlobStorageProcessorBase.py | 33 -
.../integration/minifi/processors/ChunkDocument.py | 26 -
.../processors/CollectKubernetesPodMetrics.py | 25 -
.../integration/minifi/processors/ConsumeMQTT.py | 30 -
.../integration/minifi/processors/ConvertRecord.py | 23 -
.../minifi/processors/CountingProcessor.py | 24 -
.../minifi/processors/CreateFlowFile.py | 25 -
.../integration/minifi/processors/CreateNothing.py | 25 -
.../minifi/processors/DeleteAzureBlobStorage.py | 25 -
.../EvaluateExpressionLanguageChecker.py | 26 -
.../integration/minifi/processors/ExecuteSQL.py | 26 -
.../integration/minifi/processors/ExecuteScript.py | 25 -
.../ExpressionLanguagePropertyWithValidator.py | 26 -
.../minifi/processors/FailureWithAttributes.py | 26 -
.../minifi/processors/FailureWithContent.py | 26 -
.../minifi/processors/FetchAzureBlobStorage.py | 25 -
.../integration/minifi/processors/FetchFile.py | 26 -
.../minifi/processors/FetchOPCProcessor.py | 25 -
.../processors/GaussianDistributionWithNumpy.py | 24 -
.../minifi/processors/GenerateFlowFile.py | 26 -
.../test/integration/minifi/processors/GetFile.py | 29 -
.../integration/minifi/processors/HashContent.py | 27 -
.../integration/minifi/processors/InvokeHTTP.py | 46 -
.../minifi/processors/ListAzureBlobStorage.py | 27 -
.../test/integration/minifi/processors/ListFile.py | 26 -
.../integration/minifi/processors/ListenHTTP.py | 33 -
.../integration/minifi/processors/ListenSyslog.py | 27 -
.../integration/minifi/processors/LogAttribute.py | 26 -
.../minifi/processors/LogDynamicProperties.py | 20 -
.../minifi/processors/LogOnDestructionProcessor.py | 23 -
.../minifi/processors/MoveContentToJson.py | 24 -
.../processors/NifiStyleLogDynamicProperties.py | 25 -
.../integration/minifi/processors/ParseDocument.py | 26 -
.../processors/ProcessContextInterfaceChecker.py | 26 -
.../integration/minifi/processors/PublishMQTT.py | 30 -
.../minifi/processors/PutAzureBlobStorage.py | 25 -
.../test/integration/minifi/processors/PutFile.py | 33 -
.../minifi/processors/PutOPCProcessor.py | 26 -
.../test/integration/minifi/processors/PutSQL.py | 26 -
.../minifi/processors/QueryDatabaseTable.py | 25 -
.../minifi/processors/RelativeImporterProcessor.py | 26 -
.../minifi/processors/RemoveFlowFile.py | 24 -
.../integration/minifi/processors/ReplaceText.py | 27 -
.../minifi/processors/RotatingForwarder.py | 26 -
.../minifi/processors/RouteOnAttribute.py | 27 -
.../integration/minifi/processors/RouteText.py | 26 -
.../minifi/processors/RunLlamaCppInference.py | 26 -
.../minifi/processors/SetRecordField.py | 26 -
.../processors/SpecialPropertyTypeChecker.py | 26 -
.../integration/minifi/processors/SplitText.py | 24 -
.../test/integration/minifi/processors/TailFile.py | 25 -
.../minifi/processors/TestStateManager.py | 25 -
.../minifi/processors/TransferToOriginal.py | 26 -
.../minifi/processors/UpdateAttribute.py | 26 -
.../test/integration/minifi/processors/__init__.py | 0
.../minifi/validators/EmptyFilesOutPutValidator.py | 44 -
.../minifi/validators/FileOutputValidator.py | 95 --
.../minifi/validators/MultiFileOutputValidator.py | 81 --
.../NoContentCheckFileNumberValidator.py | 38 -
.../minifi/validators/NoFileOutPutValidator.py | 31 -
.../validators/NumFileRangeAndFileSizeValidator.py | 36 -
.../minifi/validators/NumFileRangeValidator.py | 38 -
.../minifi/validators/OutputValidator.py | 27 -
.../minifi/validators/SegfaultValidator.py | 25 -
.../minifi/validators/SingleFileOutputValidator.py | 38 -
.../validators/SingleJSONFileOutputValidator.py | 55 --
.../SingleOrMultiFileOutputRegexValidator.py | 38 -
.../validators/SingleOrMultiFileOutputValidator.py | 38 -
.../test/integration/minifi/validators/__init__.py | 0
.../kubernetes/minifi-conf/minifi-log.properties | 3 -
.../kubernetes/minifi-conf/minifi.properties | 10 -
.../resources/minifi/minifi-log.properties | 4 -
.../integration/resources/minifi/minifi.properties | 6 -
.../integration/resources/python/sleep_forever.py | 23 -
.../test/integration/ssl_utils/SSL_cert_utils.py | 161 ----
docker/test/integration/ssl_utils/__init__.py | 0
.../include/api/core/ProcessContext.h | 2 -
.../include/api/utils/ProcessorConfigUtils.h | 24 +-
.../cpp-extension-lib/src/core/ProcessContext.cpp | 10 -
.../cpp-extension-lib/src/core/ProcessSession.cpp | 22 +-
.../include/controllers/AttributeProviderService.h | 2 +-
.../include/controllers/RecordSetReader.h | 2 +-
.../include/controllers/RecordSetWriter.h | 2 +-
.../controllers/keyvalue/KeyValueStateStorage.h | 4 +-
.../include/utils/ExtensionInitUtils.h | 4 +-
.../include/utils/ProcessorConfigUtils.h | 26 +-
extensions/ExtensionInitializer.cpp | 4 +-
.../aws/controllerservices/AWSCredentialsService.h | 5 +-
.../kinesis_server_container.py | 0
.../{steps => containers}/s3_server_container.py | 2 +-
extensions/aws/tests/features/kinesis.feature | 2 +-
extensions/aws/tests/features/s3.feature | 38 +-
extensions/aws/tests/features/steps/steps.py | 10 +-
.../AzureStorageCredentialsService.h | 5 +-
.../azure/processors/AzureStorageProcessorBase.cpp | 2 +-
.../azure/tests/FetchAzureDataLakeStorageTests.cpp | 2 +-
.../azure_server_container.py | 0
extensions/azure/tests/features/steps/steps.py | 2 +-
extensions/civetweb/tests/features/http.feature | 125 +--
extensions/civetweb/tests/features/https.feature | 117 +--
.../controllerservices/CouchbaseClusterService.h | 5 +-
.../couchbase/tests/MockCouchbaseClusterService.h | 1 +
.../couchbase_server_container.py | 6 +-
extensions/couchbase/tests/features/steps/steps.py | 2 +-
.../ElasticsearchCredentialsControllerService.h | 5 +-
.../elastic_base_container.py | 0
.../elasticsearch_container.py | 0
.../{steps => containers}/opensearch_container.py | 0
.../tests/features/elasticsearch.feature | 6 +-
.../tests/features/opensearch.feature | 6 +-
.../elasticsearch/tests/features/steps/steps.py | 4 +-
.../GCPCredentialsControllerService.h | 5 +-
.../fake_gcs_server_container.py | 0
.../tests/features/google_cloud_storage.feature | 2 +-
extensions/gcp/tests/features/steps/steps.py | 2 +-
.../grafana_loki_container.py | 4 +-
.../reverse_proxy_container.py | 0
.../grafana-loki/tests/features/steps/steps.py | 4 +-
.../kafka_server_container.py | 0
extensions/kafka/tests/features/steps/steps.py | 2 +-
.../KubernetesControllerService.h | 1 +
.../tests/features/environment.py | 21 +-
.../kubernetes/tests}/features/kubernetes.feature | 30 +-
.../tests/features/resources}/daemon.namespace.yml | 0
.../resources}/hello-world-one.helper-pod.yml | 0
.../resources}/hello-world-two.helper-pod.yml | 0
.../resources}/metrics-server.dependencies.yml | 0
.../tests/features/resources}/minifi.test-pod.yml | 6 +-
.../resources}/namespace-reader.clusterrole.yml | 0
.../namespace-reader.clusterrolebinding.yml | 0
.../features/resources}/pod-reader.clusterrole.yml | 0
.../resources}/pod-reader.clusterrolebinding.yml | 0
.../tests/features/steps/kubernetes_proxy.py | 164 ++++
.../steps/minifi_as_pod_in_kubernetes_cluster.py | 35 +
.../kubernetes/tests/features/steps/steps.py | 59 ++
extensions/libarchive/BinFiles.cpp | 2 -
.../llamacpp/processors/ExtensionInitializer.cpp | 8 +-
.../llamacpp/tests/RunLlamaCppInferenceTests.cpp | 4 +-
extensions/mqtt/tests/ConsumeMQTTTests.cpp | 4 +-
extensions/mqtt/tests/PublishMQTTTests.cpp | 2 +-
.../features/containers/mqtt_broker_container.py | 63 ++
.../tests/features/environment.py | 21 +-
.../mqtt/tests}/features/mqtt.feature | 406 +++++----
.../features/resources/publish_mqtt_message.py | 20 +-
extensions/mqtt/tests/features/steps/steps.py | 76 ++
extensions/opc/include/opc.h | 1 +
extensions/opc/src/opc.cpp | 13 +-
extensions/opc/tests/OpcUaTestServer.h | 4 +-
.../opc_ua_server_container.py | 6 +-
extensions/opc/tests/features/opcua.feature | 65 +-
.../tests/features/resources/opcua_client_cert.der | Bin 1040 -> 0 bytes
.../tests/features/resources/opcua_client_key.der | Bin 1191 -> 0 bytes
extensions/opc/tests/features/steps/steps.py | 43 +-
extensions/opencv/OpenCVLoader.cpp | 6 +-
.../features/containers/prometheus_container.py | 92 ++
.../tests/features/environment.py | 22 +-
.../prometheus/tests}/features/prometheus.feature | 14 +-
.../tests/features/resources/prometheus_checker.py | 156 ++++
.../prometheus/tests/features/steps/steps.py | 73 ++
.../python/pythonlibloader/PythonLibLoader.cpp | 4 +-
extensions/python/pythonloader/PyProcLoader.cpp | 4 +-
.../python/pythonprocessors/nifiapi/properties.py | 8 +-
extensions/python/tests/features/environment.py | 124 +++
.../python/tests}/features/python.feature | 181 ++--
.../tests/features/resources}/CreateFlowFile.py | 0
.../tests/features/resources}/CreateNothing.py | 0
.../EvaluateExpressionLanguageChecker.py | 0
.../ExpressionLanguagePropertyWithValidator.py | 0
.../features/resources}/FailureWithAttributes.py | 0
.../features/resources}/FailureWithContent.py | 0
.../features/resources}/LogDynamicProperties.py | 0
.../resources}/NifiStyleLogDynamicProperties.py | 0
.../resources}/ProcessContextInterfaceChecker.py | 0
.../resources}/RelativeImporterProcessor.py | 0
.../tests/features/resources}/RotatingForwarder.py | 0
.../tests/features/resources}/SetRecordField.py | 0
.../resources}/SpecialPropertyTypeChecker.py | 0
.../tests/features/resources}/TestStateManager.py | 0
.../features/resources}/TransferToOriginal.py | 0
.../tests/features/resources}/multiplierutils.py | 0
.../tests/features/resources}/subtractutils.py | 0
extensions/python/tests/features/steps/steps.py | 122 +++
.../controllers/RocksDbStateStorage.h | 1 +
extensions/sftp/SFTPLoader.cpp | 8 +-
extensions/smb/SmbConnectionControllerService.h | 5 +-
.../utils/MockSmbConnectionControllerService.h | 1 +
.../{steps => containers}/splunk_container.py | 0
extensions/splunk/tests/features/splunk.feature | 4 +-
extensions/splunk/tests/features/steps/steps.py | 2 +-
extensions/sql/services/DatabaseService.h | 4 +-
extensions/sql/services/ODBCConnector.h | 1 +
.../postgress_server_container.py | 2 +-
extensions/sql/tests/features/steps/steps.py | 2 +-
extensions/sql/tests/mocks/MockODBCService.h | 1 +
.../controllers/JsonRecordSetWriter.h | 1 +
.../controllers/JsonTreeReader.cpp | 8 +
.../controllers/JsonTreeReader.h | 1 +
.../controllers/PersistentMapStateStorage.h | 1 +
.../controllers/VolatileMapStateStorage.h | 1 +
.../standard-processors/controllers/XMLReader.h | 1 +
.../controllers/XMLRecordSetWriter.h | 1 +
.../tests/features/attributes_to_json.feature | 2 +-
.../{steps => containers}/diag_slave_container.py | 2 +-
.../{steps => containers}/syslog_container.py | 0
.../{steps => containers}/tcp_client_container.py | 2 +-
.../tests/features/core_functionality.feature | 2 +-
.../tests/features/environment.py | 21 +
.../tests/features/evaluate_json_path.feature | 4 +-
.../tests/features/file_system_operations.feature | 4 +-
.../tests/features/hashcontent.feature | 12 +-
.../tests}/features/minifi_c2_server.feature | 23 +-
.../tests/features/minifi_controller.feature | 12 +-
.../tests/features/repository.feature | 1 +
.../tests}/features/s2s.feature | 292 +++----
.../tests/features/split_json.feature | 2 +-
.../features/steps/minifi_c2_server_container.py | 76 ++
.../resources/minifi-c2-server/authorizations.yaml | 0
.../resources/minifi-c2-server/c2.properties | 0
.../steps}/resources/minifi-c2-server/config.yml | 0
.../tests/features/steps/steps.py | 60 +-
.../tests/unit/SegmentContentTests.cpp | 4 +-
.../tests/unit/SplitContentTests.cpp | 2 +-
.../tests/unit/SplitTextTests.cpp | 2 +-
.../tests/unit/TailFileTests.cpp | 1 +
.../controllers/NetworkPrioritizerService.h | 7 +-
libminifi/include/controllers/SSLContextService.h | 3 +-
.../controllers/UpdatePolicyControllerService.h | 5 +-
libminifi/include/core/ProcessContextImpl.h | 2 +-
.../include/core/controller/ControllerService.h | 8 +-
.../include/core/extension/ApiVersion.h | 18 +-
libminifi/include/core/extension/Extension.h | 15 +-
.../include/core/extension/ExtensionManager.h | 6 +
.../include/core/logging/LoggerConfiguration.h | 9 +-
libminifi/include/properties/Configure.h | 3 +
libminifi/include/properties/Properties.h | 3 +-
libminifi/src/Configure.cpp | 14 +
libminifi/src/FlowController.cpp | 22 +-
libminifi/src/RemoteProcessGroupPort.cpp | 2 +-
libminifi/src/agent/agent_docs.cpp | 5 +
.../extension/ApiVersion.cpp} | 29 +-
libminifi/src/core/extension/Extension.cpp | 93 +-
libminifi/src/core/extension/ExtensionManager.cpp | 1 +
libminifi/src/minifi-c.cpp | 46 +-
libminifi/src/properties/Properties.cpp | 1 +
libminifi/src/sitetosite/HttpSiteToSiteClient.cpp | 65 +-
.../integration/C2ControllerEnableFailureTest.cpp | 5 +-
libminifi/test/integration/C2DebugBundleTest.cpp | 63 +-
libminifi/test/integration/CMakeLists.txt | 2 +
.../extension-verification-test/CApiExtension.cpp | 26 +-
.../extension-verification-test/CMakeLists.txt | 81 ++
.../CppApiExtension.cpp | 16 +-
.../CreateNotCalled.cpp | 16 +-
.../ExtensionVerificationTests.cpp | 91 ++
.../InvalidMissingInitExtension.cpp | 8 +-
.../extension-verification-test/dummy-cpp-api.def | 3 +
.../test/libtest/integration/IntegrationBase.cpp | 3 +-
.../test/libtest/integration/IntegrationBase.h | 9 +-
.../test/libtest/unit/ControllerServiceUtils.h | 4 +-
libminifi/test/libtest/unit/MockClasses.h | 7 +-
libminifi/test/libtest/unit/TestBase.cpp | 7 +-
libminifi/test/unit/ComponentManifestTests.cpp | 5 +-
libminifi/test/unit/LoggerTests.cpp | 84 +-
libminifi/test/unit/ProcessorConfigUtilsTests.cpp | 5 +-
minifi-api/include/minifi-c/minifi-c.h | 26 +-
minifi-api/include/minifi-cpp/agent/agent_docs.h | 1 +
.../controllers/AttributeProviderService.h | 4 +-
.../minifi-cpp/controllers/RecordSetReader.h | 4 +-
.../minifi-cpp/controllers/RecordSetWriter.h | 4 +-
.../controllers/SSLContextServiceInterface.h | 5 +-
.../include/minifi-cpp/core/ProcessContext.h | 4 +-
.../core/controller/ControllerServiceApi.h | 8 +-
.../core/controller/ControllerServiceHandle.h | 10 +-
.../core/controller/ControllerServiceInterface.h | 42 -
.../include/minifi-cpp/properties/Configure.h | 3 +
.../include/minifi-cpp/properties/Properties.h | 1 +
minifi-api/minifi-c-api.def | 1 -
thirdparty/open62541/open62541.patch | 75 +-
376 files changed, 3329 insertions(+), 9658 deletions(-)
rename {docker/test/integration =>
behave_framework/src/minifi_test_framework/containers/resources/nifi}/convert_cert_to_jks.sh
(100%)
copy behave_framework/src/minifi_test_framework/minifi/{parameter.py =>
input_port.py} (55%)
copy behave_framework/src/minifi_test_framework/minifi/{parameter.py =>
output_port.py} (55%)
copy behave_framework/src/minifi_test_framework/minifi/{controller_service.py
=> remote_port.py} (74%)
create mode 100644
behave_framework/src/minifi_test_framework/minifi/remote_process_group.py
delete mode 100755 docker/DockerVerify.sh
delete mode 100644 docker/test/integration/.gitignore
delete mode 100644 docker/test/integration/__init__.py
delete mode 100644 docker/test/integration/cluster/ContainerStore.py
delete mode 100644 docker/test/integration/cluster/DockerCommunicator.py
delete mode 100644 docker/test/integration/cluster/DockerTestCluster.py
delete mode 100644
docker/test/integration/cluster/DockerTestDirectoryBindings.py
delete mode 100644 docker/test/integration/cluster/FeatureContext.py
delete mode 100644 docker/test/integration/cluster/ImageStore.py
delete mode 100644 docker/test/integration/cluster/KubernetesProxy.py
delete mode 100644 docker/test/integration/cluster/LogSource.py
delete mode 100644 docker/test/integration/cluster/__init__.py
delete mode 100644 docker/test/integration/cluster/checkers/AzureChecker.py
delete mode 100644 docker/test/integration/cluster/checkers/ModbusChecker.py
delete mode 100644 docker/test/integration/cluster/checkers/PostgresChecker.py
delete mode 100644
docker/test/integration/cluster/checkers/PrometheusChecker.py
delete mode 100644 docker/test/integration/cluster/checkers/__init__.py
delete mode 100644
docker/test/integration/cluster/containers/AzureStorageServerContainer.py
delete mode 100644 docker/test/integration/cluster/containers/Container.py
delete mode 100644 docker/test/integration/cluster/containers/FlowContainer.py
delete mode 100644
docker/test/integration/cluster/containers/HttpProxyContainer.py
delete mode 100644
docker/test/integration/cluster/containers/MinifiAsPodInKubernetesCluster.py
delete mode 100644
docker/test/integration/cluster/containers/MinifiC2ServerContainer.py
delete mode 100644
docker/test/integration/cluster/containers/MinifiContainer.py
delete mode 100644
docker/test/integration/cluster/containers/MqttBrokerContainer.py
delete mode 100644 docker/test/integration/cluster/containers/NifiContainer.py
delete mode 100644
docker/test/integration/cluster/containers/PostgreSQLServerContainer.py
delete mode 100644
docker/test/integration/cluster/containers/PrometheusContainer.py
delete mode 100644
docker/test/integration/cluster/containers/SyslogTcpClientContainer.py
delete mode 100644
docker/test/integration/cluster/containers/SyslogUdpClientContainer.py
delete mode 100644
docker/test/integration/cluster/containers/ZookeeperContainer.py
delete mode 100644 docker/test/integration/cluster/containers/__init__.py
delete mode 100644
docker/test/integration/features/MiNiFi_integration_test_driver.py
delete mode 100644 docker/test/integration/features/README.md
delete mode 100644 docker/test/integration/features/environment.py
delete mode 100644 docker/test/integration/features/python_script.feature
delete mode 100644 docker/test/integration/features/steps/steps.py
delete mode 100644 docker/test/integration/features/utils.py
delete mode 100644
docker/test/integration/filesystem_validation/FileSystemObserver.py
delete mode 100644
docker/test/integration/filesystem_validation/OutputEventHandler.py
delete mode 100644 docker/test/integration/filesystem_validation/__init__.py
delete mode 100644 docker/test/integration/minifi/__init__.py
delete mode 100644
docker/test/integration/minifi/controllers/JsonRecordSetWriter.py
delete mode 100644 docker/test/integration/minifi/controllers/JsonTreeReader.py
delete mode 100644
docker/test/integration/minifi/controllers/KubernetesControllerService.py
delete mode 100644 docker/test/integration/minifi/controllers/ODBCService.py
delete mode 100644
docker/test/integration/minifi/controllers/SSLContextService.py
delete mode 100644 docker/test/integration/minifi/controllers/XMLReader.py
delete mode 100644
docker/test/integration/minifi/controllers/XMLRecordSetWriter.py
delete mode 100644 docker/test/integration/minifi/controllers/__init__.py
delete mode 100644 docker/test/integration/minifi/core/Connectable.py
delete mode 100644 docker/test/integration/minifi/core/ControllerService.py
delete mode 100644 docker/test/integration/minifi/core/Funnel.py
delete mode 100644 docker/test/integration/minifi/core/InputPort.py
delete mode 100644 docker/test/integration/minifi/core/OutputPort.py
delete mode 100644 docker/test/integration/minifi/core/Processor.py
delete mode 100644 docker/test/integration/minifi/core/RemoteProcessGroup.py
delete mode 100644 docker/test/integration/minifi/core/__init__.py
delete mode 100644
docker/test/integration/minifi/flow_serialization/Minifi_flow_json_serializer.py
delete mode 100644
docker/test/integration/minifi/flow_serialization/Minifi_flow_yaml_serializer.py
delete mode 100644
docker/test/integration/minifi/flow_serialization/Nifi_flow_json_serializer.py
delete mode 100644
docker/test/integration/minifi/flow_serialization/__init__.py
delete mode 100644
docker/test/integration/minifi/processors/AddPythonAttribute.py
delete mode 100644
docker/test/integration/minifi/processors/AzureBlobStorageProcessorBase.py
delete mode 100644 docker/test/integration/minifi/processors/ChunkDocument.py
delete mode 100644
docker/test/integration/minifi/processors/CollectKubernetesPodMetrics.py
delete mode 100644 docker/test/integration/minifi/processors/ConsumeMQTT.py
delete mode 100644 docker/test/integration/minifi/processors/ConvertRecord.py
delete mode 100644
docker/test/integration/minifi/processors/CountingProcessor.py
delete mode 100644 docker/test/integration/minifi/processors/CreateFlowFile.py
delete mode 100644 docker/test/integration/minifi/processors/CreateNothing.py
delete mode 100644
docker/test/integration/minifi/processors/DeleteAzureBlobStorage.py
delete mode 100644
docker/test/integration/minifi/processors/EvaluateExpressionLanguageChecker.py
delete mode 100644 docker/test/integration/minifi/processors/ExecuteSQL.py
delete mode 100644 docker/test/integration/minifi/processors/ExecuteScript.py
delete mode 100644
docker/test/integration/minifi/processors/ExpressionLanguagePropertyWithValidator.py
delete mode 100644
docker/test/integration/minifi/processors/FailureWithAttributes.py
delete mode 100644
docker/test/integration/minifi/processors/FailureWithContent.py
delete mode 100644
docker/test/integration/minifi/processors/FetchAzureBlobStorage.py
delete mode 100644 docker/test/integration/minifi/processors/FetchFile.py
delete mode 100644
docker/test/integration/minifi/processors/FetchOPCProcessor.py
delete mode 100644
docker/test/integration/minifi/processors/GaussianDistributionWithNumpy.py
delete mode 100644
docker/test/integration/minifi/processors/GenerateFlowFile.py
delete mode 100644 docker/test/integration/minifi/processors/GetFile.py
delete mode 100644 docker/test/integration/minifi/processors/HashContent.py
delete mode 100644 docker/test/integration/minifi/processors/InvokeHTTP.py
delete mode 100644
docker/test/integration/minifi/processors/ListAzureBlobStorage.py
delete mode 100644 docker/test/integration/minifi/processors/ListFile.py
delete mode 100644 docker/test/integration/minifi/processors/ListenHTTP.py
delete mode 100644 docker/test/integration/minifi/processors/ListenSyslog.py
delete mode 100644 docker/test/integration/minifi/processors/LogAttribute.py
delete mode 100644
docker/test/integration/minifi/processors/LogDynamicProperties.py
delete mode 100644
docker/test/integration/minifi/processors/LogOnDestructionProcessor.py
delete mode 100644
docker/test/integration/minifi/processors/MoveContentToJson.py
delete mode 100644
docker/test/integration/minifi/processors/NifiStyleLogDynamicProperties.py
delete mode 100644 docker/test/integration/minifi/processors/ParseDocument.py
delete mode 100644
docker/test/integration/minifi/processors/ProcessContextInterfaceChecker.py
delete mode 100644 docker/test/integration/minifi/processors/PublishMQTT.py
delete mode 100644
docker/test/integration/minifi/processors/PutAzureBlobStorage.py
delete mode 100644 docker/test/integration/minifi/processors/PutFile.py
delete mode 100644 docker/test/integration/minifi/processors/PutOPCProcessor.py
delete mode 100644 docker/test/integration/minifi/processors/PutSQL.py
delete mode 100644
docker/test/integration/minifi/processors/QueryDatabaseTable.py
delete mode 100644
docker/test/integration/minifi/processors/RelativeImporterProcessor.py
delete mode 100644 docker/test/integration/minifi/processors/RemoveFlowFile.py
delete mode 100644 docker/test/integration/minifi/processors/ReplaceText.py
delete mode 100644
docker/test/integration/minifi/processors/RotatingForwarder.py
delete mode 100644
docker/test/integration/minifi/processors/RouteOnAttribute.py
delete mode 100644 docker/test/integration/minifi/processors/RouteText.py
delete mode 100644
docker/test/integration/minifi/processors/RunLlamaCppInference.py
delete mode 100644 docker/test/integration/minifi/processors/SetRecordField.py
delete mode 100644
docker/test/integration/minifi/processors/SpecialPropertyTypeChecker.py
delete mode 100644 docker/test/integration/minifi/processors/SplitText.py
delete mode 100644 docker/test/integration/minifi/processors/TailFile.py
delete mode 100644
docker/test/integration/minifi/processors/TestStateManager.py
delete mode 100644
docker/test/integration/minifi/processors/TransferToOriginal.py
delete mode 100644 docker/test/integration/minifi/processors/UpdateAttribute.py
delete mode 100644 docker/test/integration/minifi/processors/__init__.py
delete mode 100644
docker/test/integration/minifi/validators/EmptyFilesOutPutValidator.py
delete mode 100644
docker/test/integration/minifi/validators/FileOutputValidator.py
delete mode 100644
docker/test/integration/minifi/validators/MultiFileOutputValidator.py
delete mode 100644
docker/test/integration/minifi/validators/NoContentCheckFileNumberValidator.py
delete mode 100644
docker/test/integration/minifi/validators/NoFileOutPutValidator.py
delete mode 100644
docker/test/integration/minifi/validators/NumFileRangeAndFileSizeValidator.py
delete mode 100644
docker/test/integration/minifi/validators/NumFileRangeValidator.py
delete mode 100644 docker/test/integration/minifi/validators/OutputValidator.py
delete mode 100644
docker/test/integration/minifi/validators/SegfaultValidator.py
delete mode 100644
docker/test/integration/minifi/validators/SingleFileOutputValidator.py
delete mode 100644
docker/test/integration/minifi/validators/SingleJSONFileOutputValidator.py
delete mode 100644
docker/test/integration/minifi/validators/SingleOrMultiFileOutputRegexValidator.py
delete mode 100644
docker/test/integration/minifi/validators/SingleOrMultiFileOutputValidator.py
delete mode 100644 docker/test/integration/minifi/validators/__init__.py
delete mode 100644
docker/test/integration/resources/kubernetes/minifi-conf/minifi-log.properties
delete mode 100644
docker/test/integration/resources/kubernetes/minifi-conf/minifi.properties
delete mode 100644
docker/test/integration/resources/minifi/minifi-log.properties
delete mode 100644 docker/test/integration/resources/minifi/minifi.properties
delete mode 100644 docker/test/integration/resources/python/sleep_forever.py
delete mode 100644 docker/test/integration/ssl_utils/SSL_cert_utils.py
delete mode 100644 docker/test/integration/ssl_utils/__init__.py
rename extensions/aws/tests/features/{steps =>
containers}/kinesis_server_container.py (100%)
rename extensions/aws/tests/features/{steps =>
containers}/s3_server_container.py (99%)
rename extensions/azure/tests/features/{steps =>
containers}/azure_server_container.py (100%)
rename extensions/couchbase/tests/features/{steps =>
containers}/couchbase_server_container.py (98%)
rename extensions/elasticsearch/tests/features/{steps =>
containers}/elastic_base_container.py (100%)
rename extensions/elasticsearch/tests/features/{steps =>
containers}/elasticsearch_container.py (100%)
rename extensions/elasticsearch/tests/features/{steps =>
containers}/opensearch_container.py (100%)
rename extensions/gcp/tests/features/{steps =>
containers}/fake_gcs_server_container.py (100%)
rename extensions/grafana-loki/tests/features/{steps =>
containers}/grafana_loki_container.py (98%)
rename extensions/grafana-loki/tests/features/{steps =>
containers}/reverse_proxy_container.py (100%)
rename extensions/kafka/tests/features/{steps =>
containers}/kafka_server_container.py (100%)
copy extensions/{splunk => kubernetes}/tests/features/environment.py (64%)
rename {docker/test/integration =>
extensions/kubernetes/tests}/features/kubernetes.feature (76%)
rename {docker/test/integration/resources/kubernetes/pods-etc =>
extensions/kubernetes/tests/features/resources}/daemon.namespace.yml (100%)
rename {docker/test/integration/resources/kubernetes/pods-etc =>
extensions/kubernetes/tests/features/resources}/hello-world-one.helper-pod.yml
(100%)
rename {docker/test/integration/resources/kubernetes/pods-etc =>
extensions/kubernetes/tests/features/resources}/hello-world-two.helper-pod.yml
(100%)
rename {docker/test/integration/resources/kubernetes/pods-etc =>
extensions/kubernetes/tests/features/resources}/metrics-server.dependencies.yml
(100%)
rename {docker/test/integration/resources/kubernetes/pods-etc =>
extensions/kubernetes/tests/features/resources}/minifi.test-pod.yml (87%)
rename {docker/test/integration/resources/kubernetes/pods-etc =>
extensions/kubernetes/tests/features/resources}/namespace-reader.clusterrole.yml
(100%)
rename {docker/test/integration/resources/kubernetes/pods-etc =>
extensions/kubernetes/tests/features/resources}/namespace-reader.clusterrolebinding.yml
(100%)
rename {docker/test/integration/resources/kubernetes/pods-etc =>
extensions/kubernetes/tests/features/resources}/pod-reader.clusterrole.yml
(100%)
rename {docker/test/integration/resources/kubernetes/pods-etc =>
extensions/kubernetes/tests/features/resources}/pod-reader.clusterrolebinding.yml
(100%)
create mode 100644
extensions/kubernetes/tests/features/steps/kubernetes_proxy.py
create mode 100644
extensions/kubernetes/tests/features/steps/minifi_as_pod_in_kubernetes_cluster.py
create mode 100644 extensions/kubernetes/tests/features/steps/steps.py
create mode 100644
extensions/mqtt/tests/features/containers/mqtt_broker_container.py
copy extensions/{grafana-loki => mqtt}/tests/features/environment.py (71%)
rename {docker/test/integration =>
extensions/mqtt/tests}/features/mqtt.feature (59%)
rename docker/test/integration/cluster/checkers/MqttHelper.py =>
extensions/mqtt/tests/features/resources/publish_mqtt_message.py (62%)
create mode 100644 extensions/mqtt/tests/features/steps/steps.py
rename extensions/opc/tests/features/{steps =>
containers}/opc_ua_server_container.py (87%)
delete mode 100644
extensions/opc/tests/features/resources/opcua_client_cert.der
delete mode 100644 extensions/opc/tests/features/resources/opcua_client_key.der
create mode 100644
extensions/prometheus/tests/features/containers/prometheus_container.py
copy extensions/{grafana-loki => prometheus}/tests/features/environment.py
(70%)
rename {docker/test/integration =>
extensions/prometheus/tests}/features/prometheus.feature (91%)
create mode 100644
extensions/prometheus/tests/features/resources/prometheus_checker.py
create mode 100644 extensions/prometheus/tests/features/steps/steps.py
create mode 100644 extensions/python/tests/features/environment.py
rename {docker/test/integration =>
extensions/python/tests}/features/python.feature (62%)
rename {docker/test/integration/resources/python =>
extensions/python/tests/features/resources}/CreateFlowFile.py (100%)
rename {docker/test/integration/resources/python =>
extensions/python/tests/features/resources}/CreateNothing.py (100%)
rename {docker/test/integration/resources/python =>
extensions/python/tests/features/resources}/EvaluateExpressionLanguageChecker.py
(100%)
rename {docker/test/integration/resources/python =>
extensions/python/tests/features/resources}/ExpressionLanguagePropertyWithValidator.py
(100%)
rename {docker/test/integration/resources/python =>
extensions/python/tests/features/resources}/FailureWithAttributes.py (100%)
rename {docker/test/integration/resources/python =>
extensions/python/tests/features/resources}/FailureWithContent.py (100%)
rename {docker/test/integration/resources/python =>
extensions/python/tests/features/resources}/LogDynamicProperties.py (100%)
rename {docker/test/integration/resources/python =>
extensions/python/tests/features/resources}/NifiStyleLogDynamicProperties.py
(100%)
rename {docker/test/integration/resources/python =>
extensions/python/tests/features/resources}/ProcessContextInterfaceChecker.py
(100%)
rename {docker/test/integration/resources/python =>
extensions/python/tests/features/resources}/RelativeImporterProcessor.py (100%)
rename {docker/test/integration/resources/python =>
extensions/python/tests/features/resources}/RotatingForwarder.py (100%)
rename {docker/test/integration/resources/python =>
extensions/python/tests/features/resources}/SetRecordField.py (100%)
rename {docker/test/integration/resources/python =>
extensions/python/tests/features/resources}/SpecialPropertyTypeChecker.py (100%)
rename {docker/test/integration/resources/python =>
extensions/python/tests/features/resources}/TestStateManager.py (100%)
rename {docker/test/integration/resources/python =>
extensions/python/tests/features/resources}/TransferToOriginal.py (100%)
rename {docker/test/integration/resources/python =>
extensions/python/tests/features/resources}/multiplierutils.py (100%)
rename {docker/test/integration/resources/python =>
extensions/python/tests/features/resources}/subtractutils.py (100%)
create mode 100644 extensions/python/tests/features/steps/steps.py
rename extensions/splunk/tests/features/{steps =>
containers}/splunk_container.py (100%)
rename extensions/sql/tests/features/{steps =>
containers}/postgress_server_container.py (99%)
rename extensions/standard-processors/tests/features/{steps =>
containers}/diag_slave_container.py (98%)
rename extensions/standard-processors/tests/features/{steps =>
containers}/syslog_container.py (100%)
rename extensions/standard-processors/tests/features/{steps =>
containers}/tcp_client_container.py (98%)
rename {docker/test/integration =>
extensions/standard-processors/tests}/features/minifi_c2_server.feature (75%)
rename {docker/test/integration =>
extensions/standard-processors/tests}/features/s2s.feature (50%)
create mode 100644
extensions/standard-processors/tests/features/steps/minifi_c2_server_container.py
rename {docker/test/integration =>
extensions/standard-processors/tests/features/steps}/resources/minifi-c2-server/authorizations.yaml
(100%)
rename {docker/test/integration =>
extensions/standard-processors/tests/features/steps}/resources/minifi-c2-server/c2.properties
(100%)
rename {docker/test/integration =>
extensions/standard-processors/tests/features/steps}/resources/minifi-c2-server/config.yml
(100%)
copy extension-framework/cpp-extension-lib/include/api/core/PublishedMetrics.h
=> libminifi/include/core/extension/ApiVersion.h (72%)
copy libminifi/src/{utils/AttributeErrors.cpp =>
core/extension/ApiVersion.cpp} (55%)
copy extensions/ExtensionInitializer.cpp =>
libminifi/test/integration/extension-verification-test/CApiExtension.cpp (63%)
create mode 100644
libminifi/test/integration/extension-verification-test/CMakeLists.txt
copy extensions/ExtensionInitializer.cpp =>
libminifi/test/integration/extension-verification-test/CppApiExtension.cpp (76%)
copy extension-framework/cpp-extension-lib/include/api/utils/Export.h =>
libminifi/test/integration/extension-verification-test/CreateNotCalled.cpp (79%)
create mode 100644
libminifi/test/integration/extension-verification-test/ExtensionVerificationTests.cpp
copy core-framework/src/io/CRCStream.cpp =>
libminifi/test/integration/extension-verification-test/InvalidMissingInitExtension.cpp
(91%)
create mode 100644
libminifi/test/integration/extension-verification-test/dummy-cpp-api.def
copy extensions/systemd/Common.h =>
minifi-api/include/minifi-cpp/core/controller/ControllerServiceHandle.h (79%)
delete mode 100644
minifi-api/include/minifi-cpp/core/controller/ControllerServiceInterface.h