diff --git a/CHANGELOG.md b/CHANGELOG.md index 85fb7152..ac50b266 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,11 +16,13 @@ All notable changes to this project will be documented in this file. Previously, arbitrary file names were silently accepted and ignored ([#1027]). - Bump `stackable-operator` to 0.111.1 ([#1027], [#1028]). - Internal operator refactoring: introduce dereference() and validate() steps in the reconciler ([#1034]). +- test: Bump vector-aggregator to 0.55.0, replace /graphql call with gRPC call ([#1038]). [#1020]: https://github.com/stackabletech/zookeeper-operator/pull/1020 [#1027]: https://github.com/stackabletech/zookeeper-operator/pull/1027 [#1028]: https://github.com/stackabletech/zookeeper-operator/pull/1028 [#1034]: https://github.com/stackabletech/zookeeper-operator/pull/1034 +[#1038]: https://github.com/stackabletech/zookeeper-operator/pull/1038 ## [26.3.0] - 2026-03-16 diff --git a/tests/templates/kuttl/logging/05-install-zookeeper-vector-aggregator.yaml b/tests/templates/kuttl/logging/05-install-zookeeper-vector-aggregator.yaml index 21592583..55ce3cbd 100644 --- a/tests/templates/kuttl/logging/05-install-zookeeper-vector-aggregator.yaml +++ b/tests/templates/kuttl/logging/05-install-zookeeper-vector-aggregator.yaml @@ -5,7 +5,7 @@ commands: - script: >- helm install zookeeper-vector-aggregator vector --namespace $NAMESPACE - --version 0.49.0 + --version 0.52.0 `# app version 0.55.0` --repo https://helm.vector.dev --values zookeeper-vector-aggregator-values.yaml --- diff --git a/tests/templates/kuttl/logging/test_log_aggregation.py b/tests/templates/kuttl/logging/test_log_aggregation.py index b21ac47e..c76786ab 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://zookeeper-vector-aggregator:8686/graphql', - json={ - 'query': """ - { - transforms(first:100) { - nodes { - componentId - metrics { - sentEventsTotal { - sentEventsTotal - } - } - } - } - } - """ - } + response = subprocess.run( + [ + "grpcurl", + "-plaintext", + "-d", + '{"limit": 100}', + "zookeeper-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, \ - f'No events were sent in "{componentId}".' + 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!")