From c1d7f7ca493be03557477196e6f21c364827403e Mon Sep 17 00:00:00 2001 From: Nick Larsen Date: Thu, 28 May 2026 15:00:30 +0200 Subject: [PATCH 1/3] test: Bump vector-aggregator to 0.55.0 --- .../kuttl/logging/01-install-nifi-vector-aggregator.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/templates/kuttl/logging/01-install-nifi-vector-aggregator.yaml b/tests/templates/kuttl/logging/01-install-nifi-vector-aggregator.yaml index b4358e28..48c694cc 100644 --- a/tests/templates/kuttl/logging/01-install-nifi-vector-aggregator.yaml +++ b/tests/templates/kuttl/logging/01-install-nifi-vector-aggregator.yaml @@ -5,7 +5,7 @@ commands: - script: >- helm install nifi-vector-aggregator vector --namespace $NAMESPACE - --version 0.49.0 + --version 0.52.0 `# app version 0.55.0` --repo https://helm.vector.dev --values nifi-vector-aggregator-values.yaml --- From ee441e3674494afb811461d459aa944ff9b61e34 Mon Sep 17 00:00:00 2001 From: Nick Larsen Date: Thu, 28 May 2026 20:00:46 +0200 Subject: [PATCH 2/3] test: replace /graphql call with gRPC call --- .../kuttl/logging/test_log_aggregation.py | 66 +++++++++---------- 1 file changed, 31 insertions(+), 35 deletions(-) diff --git a/tests/templates/kuttl/logging/test_log_aggregation.py b/tests/templates/kuttl/logging/test_log_aggregation.py index ae948a83..9bf5e3e7 100755 --- a/tests/templates/kuttl/logging/test_log_aggregation.py +++ b/tests/templates/kuttl/logging/test_log_aggregation.py @@ -1,48 +1,44 @@ -#!/usr/bin/env python3 -import requests +import json +import subprocess def check_sent_events(): - response = requests.post( - 'http://nifi-vector-aggregator:8686/graphql', - json={ - 'query': """ - { - transforms(first:100) { - nodes { - componentId - metrics { - sentEventsTotal { - sentEventsTotal - } - } - } - } - } - """ - } + response = subprocess.run( + [ + "grpcurl", + "-plaintext", + "-d", + '{"limit": 100}', + "nifi-vector-aggregator:8686", + "vector.observability.v1.ObservabilityService/GetComponents", + ], + capture_output=True, + text=True, + check=True, # Raise a CalledProcessError if non-zero return + timeout=20, # seconds ) + result = json.loads(response.stdout) + components = result.get("components", []) + transforms = [ + c for c in components if c.get("componentType") == "COMPONENT_TYPE_TRANSFORM" + ] - assert response.status_code == 200, \ - 'Cannot access the API of the vector aggregator.' + assert len(transforms) > 0, "No transform components found" - result = response.json() - - transforms = result['data']['transforms']['nodes'] for transform in transforms: - sentEvents = transform['metrics']['sentEventsTotal'] - componentId = transform['componentId'] + sentEvents = transform["metrics"]["sentEventsTotal"] + componentId = transform["componentId"] - if componentId == 'filteredInvalidEvents': - assert sentEvents is None or \ - sentEvents['sentEventsTotal'] == 0, \ - 'Invalid log events were sent.' + if componentId == "filteredInvalidEvents": + assert sentEvents is None or int(sentEvents) == 0, ( + "Invalid log events were sent." + ) else: - assert sentEvents is not None and \ - sentEvents['sentEventsTotal'] > 0, \ + assert sentEvents is not None and int(sentEvents) > 0, ( f'No events were sent in "{componentId}".' + ) -if __name__ == '__main__': +if __name__ == "__main__": check_sent_events() - print('Test successful!') + print("Test successful!") From 833d0e460136ab76db42d7f0fd806f17263e7310 Mon Sep 17 00:00:00 2001 From: Nick Larsen Date: Thu, 28 May 2026 20:00:48 +0200 Subject: [PATCH 3/3] chore: Update changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b9fb0e28..595701b9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ All notable changes to this project will be documented in this file. - Internal operator refactoring: introduce dereference() and validate() steps in the reconciler ([#935]). - Default `nifi.cluster.flow.election.max.wait.time` to NiFi's upstream value (`5 mins`) instead of the operator's previous `1 mins`. The operator no longer sets this property explicitly; the previous shorter value was left over from a TODO marked as "for testing" and may have caused flow election to settle on incomplete vote sets in cold-start scenarios ([#936]). - Set `nifi.content.repository.archive.max.retention.period` to `3 days` (previously empty, which NiFi interprets as `Long.MAX_VALUE` and effectively disables time-based archive purge). Without a time-based ceiling, the content archive can grow to half the content PVC and accumulate millions of files, which makes the synchronous startup directory scan in `FileSystemRepository.initializeRepository` very slow. Users requiring a longer content-replay window can extend via `configOverrides`. The provenance audit trail is independent of this setting and unaffected ([#936]). +- test: Bump vector-aggregator to 0.55.0, replace /graphql call with gRPC call ([#940]). ### Fixed @@ -32,6 +33,7 @@ All notable changes to this project will be documented in this file. [#928]: https://github.com/stackabletech/nifi-operator/pull/928 [#935]: https://github.com/stackabletech/nifi-operator/pull/935 [#936]: https://github.com/stackabletech/nifi-operator/pull/936 +[#940]: https://github.com/stackabletech/nifi-operator/pull/940 ## [26.3.0] - 2026-03-16