From 777a05fd0d7ef115c8dfd019b798a4f6572b6b7f Mon Sep 17 00:00:00 2001 From: Arne Welzel Date: Wed, 24 Sep 2025 15:01:04 +0200 Subject: [PATCH] btest/control: Use Broker explicitly At least the control/controller script looks as if it always intended to peer with just one node in a cluster using Broker. The controllee script will start listening for such connections if the selected backend is actually Broker, so explicitly switch to that here. --- .../scripts/base/frameworks/control/configuration_update.zeek | 3 +++ testing/btest/scripts/base/frameworks/control/id_value.zeek | 3 +++ testing/btest/scripts/base/frameworks/control/shutdown.zeek | 2 ++ .../btest/scripts/base/frameworks/logging/length-checking.zeek | 3 +++ .../btest/scripts/policy/frameworks/telemetry/prometheus.zeek | 2 ++ 5 files changed, 13 insertions(+) diff --git a/testing/btest/scripts/base/frameworks/control/configuration_update.zeek b/testing/btest/scripts/base/frameworks/control/configuration_update.zeek index d2507f7ee3..22c29e9006 100644 --- a/testing/btest/scripts/base/frameworks/control/configuration_update.zeek +++ b/testing/btest/scripts/base/frameworks/control/configuration_update.zeek @@ -13,6 +13,9 @@ const test_var = "ORIGINAL VALUE (this should be printed out first)" &redef; redef test_var = "NEW VALUE (this should be printed out second)"; # @TEST-END-FILE +# This ensures the controllee script starts listening using Broker. +redef Cluster::backend = Cluster::CLUSTER_BACKEND_BROKER; + event zeek_init() { print test_var; diff --git a/testing/btest/scripts/base/frameworks/control/id_value.zeek b/testing/btest/scripts/base/frameworks/control/id_value.zeek index c12d137c6a..89d68a8bf8 100644 --- a/testing/btest/scripts/base/frameworks/control/id_value.zeek +++ b/testing/btest/scripts/base/frameworks/control/id_value.zeek @@ -20,6 +20,9 @@ const test_var = "Original value" &redef; redef test_var = "This is the value from the controllee"; # @TEST-END-FILE +# This ensures the controllee script starts listening using Broker. +redef Cluster::backend = Cluster::CLUSTER_BACKEND_BROKER; + event Control::id_value_response(id: string, val: string) { print fmt("Got an id_value_response(%s, %s) event", id, val); diff --git a/testing/btest/scripts/base/frameworks/control/shutdown.zeek b/testing/btest/scripts/base/frameworks/control/shutdown.zeek index 832ca8a591..13e93c8eca 100644 --- a/testing/btest/scripts/base/frameworks/control/shutdown.zeek +++ b/testing/btest/scripts/base/frameworks/control/shutdown.zeek @@ -4,3 +4,5 @@ # @TEST-EXEC: btest-bg-run controller ZEEKPATH=$ZEEKPATH:.. zeek -b %INPUT frameworks/control/controller Control::host=127.0.0.1 Control::host_port=$BROKER_PORT Control::cmd=shutdown # @TEST-EXEC: btest-bg-wait 20 +# This ensures the controllee script starts listening using Broker. +redef Cluster::backend = Cluster::CLUSTER_BACKEND_BROKER; diff --git a/testing/btest/scripts/base/frameworks/logging/length-checking.zeek b/testing/btest/scripts/base/frameworks/logging/length-checking.zeek index 95e966c3d6..88f2c3b30a 100644 --- a/testing/btest/scripts/base/frameworks/logging/length-checking.zeek +++ b/testing/btest/scripts/base/frameworks/logging/length-checking.zeek @@ -38,6 +38,9 @@ redef Log::max_log_record_size = 1024 * 1024; redef Broker::disable_ssl = T; +# Pass log record from logging manager to broker. +redef Cluster::backend = Cluster::CLUSTER_BACKEND_BROKER; + event zeek_init() { Log::create_stream(LOG, [$columns=Info, $path="test"]); diff --git a/testing/btest/scripts/policy/frameworks/telemetry/prometheus.zeek b/testing/btest/scripts/policy/frameworks/telemetry/prometheus.zeek index 9b09784e1f..fec3a3edf5 100644 --- a/testing/btest/scripts/policy/frameworks/telemetry/prometheus.zeek +++ b/testing/btest/scripts/policy/frameworks/telemetry/prometheus.zeek @@ -24,6 +24,8 @@ # @TEST-EXEC: btest-diff manager/services.out # @TEST-START-FILE cluster-layout.zeek +redef Cluster::backend = Cluster::CLUSTER_BACKEND_BROKER; + redef Cluster::nodes = { ["manager"] = [$node_type=Cluster::MANAGER, $ip=127.0.0.1, $p=to_port(getenv("BROKER_MANAGER_PORT")), $metrics_port=to_port(getenv("METRICS_PORT1"))], ["logger-1"] = [$node_type=Cluster::LOGGER, $ip=127.0.0.1, $p=to_port(getenv("BROKER_LOGGER1_PORT")), $manager="manager", $metrics_port=to_port(getenv("METRICS_PORT2"))],