This now features support for the test_timeout_request/response events, as
supported by the client, and also adds a timeout event for set_configuration, in
case agents do not respond in time.
Includes corresponding zeek-client submodule bump.
This establishes a timeout controlled via ClusterController::request_timeout,
triggering a ClusterController::Request::request_expired event whenever a
timeout rolls around before request state has been finalized by a request's
normal processing.
This changes the basic agent-management model to one in which the configurations
received from the client define not just the data cluster, but also set the set
of acceptable instances. Unless connectivity already exists, the controller will
establish peerings with new agents that listen, or wait for ones that connect to
the controller to check in.
Once all required agents are available, the controller triggers the new
notify_agents_ready event, an agent/controller-level "cluster-is-ready"
event. The controller also uses this event to submit a pending config update to
the now-ready instances.
Prior to this, static configuration needed to be in place to configure the
controller/agent layout. The configuration update can now include new instances
that the controller will connect to, assuming they're instances with a listening
agent.
Request records for configuration updates now store the full configuration. The
ClusterController::Request module now provies a to_string() function for
rendering requests to a string.
This job runs in sequence after the image build one, using its resulting image.
The actual tests live in the external zeek-testing-cluster testsuite, which
the new job clones and runs.
To specify a version of the testsuite to use, testing/external/ has a new
commit-hash.zeek-testing-cluster file that tracks the testsuite's relevant
commit ref
We used to attempt to remove any port specification before recording
HTTP host headers in logs. Doing so would (1) remove potentially useful
information, (2) not match what the documentation seemed to suggest, and
(3) fail for IP6 addresses containing colons.
We now record the original HOST header as is.
Addresses #1844.
Our test trace is extracted from https://www.cloudshark.org/captures/b9089aac6eee.
There actually seems to be a bug in the existing code: the URI passed to
bt_tracker_request() includes a partial HTTP version. This commits
includes the baseline as the current code produces it, we'll fix that in
a subsequent comment.
* origin/topic/vern/usage-usage:
fixes for double-delete and reducing '?' operator with constant alternatives
additional test suite updates for "-u" usage issues
test suite updates for "xform" and "usage" alternatives, plus test name change
removed unused script variable
correct usage info for -u flag; -uu no longer supported
fix typo in btest filename
* origin/topic/vern/cpp-incr:
tweak to keep clang-format happy
minor note regarding improving performance of C++-generated code
factoring of generating C++ initializations, no semantic changes
restored support for incremental compilation of scripts to C++
fixes for -O gen-standalone-C++
new ZEEK_FILE_ONLY and ZEEK_FUNC_ONLY environment variables for debugging script optimization - replaces ZEEK_ONLY
fix for compiling record constructors to C++
fixes for compiling vector operations to C++
fixed for profiling missing some profile elements
removing vestigial methods
minor efficiency tweak for ZAM record construction
* origin/topic/timw/null-checks:
Check for sets before attempting to check for same Yield types
Add early bail-outs to same_type()
Fix types for Analyzer::register_for_port(s) to be the same