Fix Broker topics used to uniquely identify cluster nodes

Node-specific topic prefix subscriptions/publications now add a trailing
slash like "zeek/cluster/node/<name>/".  Without the trailing slash,
messages attempting to target "proxy-10" may also be sent to "proxy-1"
since subscription matching is prefix-based.
This commit is contained in:
Jon Siwek 2020-04-10 14:36:00 -07:00
parent 714e2f736a
commit ce9183a2ed
8 changed files with 203 additions and 200 deletions

@ -1 +1 @@
Subproject commit 1656c9c8744241b58b48eaa17ed159bf55fc1b2a Subproject commit 0d04bf43131ade7000506711cbe43c068dab2471

View file

@ -298,12 +298,12 @@ function local_node_type(): NodeType
function node_topic(name: string): string function node_topic(name: string): string
{ {
return node_topic_prefix + name; return node_topic_prefix + name + "/";
} }
function nodeid_topic(id: string): string function nodeid_topic(id: string): string
{ {
return node_topic_prefix + id; return nodeid_topic_prefix + id + "/";
} }
event Cluster::hello(name: string, id: string) &priority=10 event Cluster::hello(name: string, id: string) &priority=10

View file

@ -172,7 +172,7 @@ function hrw_topic(pool: Pool, key: any): string
local site = HashHRW::get_site(pool$hrw_pool, key); local site = HashHRW::get_site(pool$hrw_pool, key);
local pn: PoolNode = site$user_data; local pn: PoolNode = site$user_data;
return node_topic_prefix + pn$name; return Cluster::node_topic(pn$name);
} }
function rr_topic(pool: Pool, key: string): string function rr_topic(pool: Pool, key: string): string
@ -198,7 +198,7 @@ function rr_topic(pool: Pool, key: string): string
if ( pn$alive ) if ( pn$alive )
{ {
rval = node_topic_prefix + pn$name; rval = Cluster::node_topic(pn$name);
break; break;
} }

View file

@ -1,101 +1,101 @@
1st stuff 1st stuff
hrw, 0, zeek/cluster/node/proxy-1 hrw, 0, zeek/cluster/node/proxy-1/
hrw (custom pool), 0, zeek/cluster/node/proxy-2 hrw (custom pool), 0, zeek/cluster/node/proxy-2/
hrw, 1, zeek/cluster/node/proxy-1 hrw, 1, zeek/cluster/node/proxy-1/
hrw (custom pool), 1, zeek/cluster/node/proxy-2 hrw (custom pool), 1, zeek/cluster/node/proxy-2/
hrw, 2, zeek/cluster/node/proxy-1 hrw, 2, zeek/cluster/node/proxy-1/
hrw (custom pool), 2, zeek/cluster/node/proxy-2 hrw (custom pool), 2, zeek/cluster/node/proxy-2/
hrw, 3, zeek/cluster/node/proxy-1 hrw, 3, zeek/cluster/node/proxy-1/
hrw (custom pool), 3, zeek/cluster/node/proxy-2 hrw (custom pool), 3, zeek/cluster/node/proxy-2/
hrw, 13, zeek/cluster/node/proxy-1 hrw, 13, zeek/cluster/node/proxy-1/
hrw (custom pool), 13, zeek/cluster/node/proxy-2 hrw (custom pool), 13, zeek/cluster/node/proxy-2/
hrw, 37, zeek/cluster/node/proxy-1 hrw, 37, zeek/cluster/node/proxy-1/
hrw (custom pool), 37, zeek/cluster/node/proxy-2 hrw (custom pool), 37, zeek/cluster/node/proxy-2/
hrw, 42, zeek/cluster/node/proxy-1 hrw, 42, zeek/cluster/node/proxy-1/
hrw (custom pool), 42, zeek/cluster/node/proxy-2 hrw (custom pool), 42, zeek/cluster/node/proxy-2/
hrw, 101, zeek/cluster/node/proxy-1 hrw, 101, zeek/cluster/node/proxy-1/
hrw (custom pool), 101, zeek/cluster/node/proxy-2 hrw (custom pool), 101, zeek/cluster/node/proxy-2/
rr, zeek/cluster/node/proxy-1 rr, zeek/cluster/node/proxy-1/
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
rr, zeek/cluster/node/proxy-1 rr, zeek/cluster/node/proxy-1/
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
rr, zeek/cluster/node/proxy-1 rr, zeek/cluster/node/proxy-1/
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
rr, zeek/cluster/node/proxy-1 rr, zeek/cluster/node/proxy-1/
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
rr, zeek/cluster/node/proxy-1 rr, zeek/cluster/node/proxy-1/
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
rr, zeek/cluster/node/proxy-1 rr, zeek/cluster/node/proxy-1/
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
rr, zeek/cluster/node/proxy-1 rr, zeek/cluster/node/proxy-1/
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
rr, zeek/cluster/node/proxy-1 rr, zeek/cluster/node/proxy-1/
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
hrw, 0, zeek/cluster/node/proxy-1 hrw, 0, zeek/cluster/node/proxy-1/
hrw (custom pool), 0, zeek/cluster/node/proxy-2 hrw (custom pool), 0, zeek/cluster/node/proxy-2/
hrw, 1, zeek/cluster/node/proxy-1 hrw, 1, zeek/cluster/node/proxy-1/
hrw (custom pool), 1, zeek/cluster/node/proxy-2 hrw (custom pool), 1, zeek/cluster/node/proxy-2/
hrw, 2, zeek/cluster/node/proxy-1 hrw, 2, zeek/cluster/node/proxy-1/
hrw (custom pool), 2, zeek/cluster/node/proxy-2 hrw (custom pool), 2, zeek/cluster/node/proxy-2/
hrw, 3, zeek/cluster/node/proxy-1 hrw, 3, zeek/cluster/node/proxy-1/
hrw (custom pool), 3, zeek/cluster/node/proxy-2 hrw (custom pool), 3, zeek/cluster/node/proxy-2/
hrw, 13, zeek/cluster/node/proxy-1 hrw, 13, zeek/cluster/node/proxy-1/
hrw (custom pool), 13, zeek/cluster/node/proxy-2 hrw (custom pool), 13, zeek/cluster/node/proxy-2/
hrw, 37, zeek/cluster/node/proxy-1 hrw, 37, zeek/cluster/node/proxy-1/
hrw (custom pool), 37, zeek/cluster/node/proxy-2 hrw (custom pool), 37, zeek/cluster/node/proxy-2/
hrw, 42, zeek/cluster/node/proxy-1 hrw, 42, zeek/cluster/node/proxy-1/
hrw (custom pool), 42, zeek/cluster/node/proxy-2 hrw (custom pool), 42, zeek/cluster/node/proxy-2/
hrw, 101, zeek/cluster/node/proxy-1 hrw, 101, zeek/cluster/node/proxy-1/
hrw (custom pool), 101, zeek/cluster/node/proxy-2 hrw (custom pool), 101, zeek/cluster/node/proxy-2/
2nd stuff 2nd stuff
hrw, 0, hrw, 0,
hrw (custom pool), 0, zeek/cluster/node/proxy-2 hrw (custom pool), 0, zeek/cluster/node/proxy-2/
hrw, 1, hrw, 1,
hrw (custom pool), 1, zeek/cluster/node/proxy-2 hrw (custom pool), 1, zeek/cluster/node/proxy-2/
hrw, 2, hrw, 2,
hrw (custom pool), 2, zeek/cluster/node/proxy-2 hrw (custom pool), 2, zeek/cluster/node/proxy-2/
hrw, 3, hrw, 3,
hrw (custom pool), 3, zeek/cluster/node/proxy-2 hrw (custom pool), 3, zeek/cluster/node/proxy-2/
hrw, 13, hrw, 13,
hrw (custom pool), 13, zeek/cluster/node/proxy-2 hrw (custom pool), 13, zeek/cluster/node/proxy-2/
hrw, 37, hrw, 37,
hrw (custom pool), 37, zeek/cluster/node/proxy-2 hrw (custom pool), 37, zeek/cluster/node/proxy-2/
hrw, 42, hrw, 42,
hrw (custom pool), 42, zeek/cluster/node/proxy-2 hrw (custom pool), 42, zeek/cluster/node/proxy-2/
hrw, 101, hrw, 101,
hrw (custom pool), 101, zeek/cluster/node/proxy-2 hrw (custom pool), 101, zeek/cluster/node/proxy-2/
rr, rr,
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
rr, rr,
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
rr, rr,
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
rr, rr,
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
rr, rr,
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
rr, rr,
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
rr, rr,
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
rr, rr,
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
hrw, 0, hrw, 0,
hrw (custom pool), 0, zeek/cluster/node/proxy-2 hrw (custom pool), 0, zeek/cluster/node/proxy-2/
hrw, 1, hrw, 1,
hrw (custom pool), 1, zeek/cluster/node/proxy-2 hrw (custom pool), 1, zeek/cluster/node/proxy-2/
hrw, 2, hrw, 2,
hrw (custom pool), 2, zeek/cluster/node/proxy-2 hrw (custom pool), 2, zeek/cluster/node/proxy-2/
hrw, 3, hrw, 3,
hrw (custom pool), 3, zeek/cluster/node/proxy-2 hrw (custom pool), 3, zeek/cluster/node/proxy-2/
hrw, 13, hrw, 13,
hrw (custom pool), 13, zeek/cluster/node/proxy-2 hrw (custom pool), 13, zeek/cluster/node/proxy-2/
hrw, 37, hrw, 37,
hrw (custom pool), 37, zeek/cluster/node/proxy-2 hrw (custom pool), 37, zeek/cluster/node/proxy-2/
hrw, 42, hrw, 42,
hrw (custom pool), 42, zeek/cluster/node/proxy-2 hrw (custom pool), 42, zeek/cluster/node/proxy-2/
hrw, 101, hrw, 101,
hrw (custom pool), 101, zeek/cluster/node/proxy-2 hrw (custom pool), 101, zeek/cluster/node/proxy-2/
no stuff no stuff
hrw, 0, hrw, 0,
hrw (custom pool), 0, hrw (custom pool), 0,

View file

@ -1,101 +1,101 @@
1st stuff 1st stuff
hrw, 0, zeek/cluster/node/proxy-1 hrw, 0, zeek/cluster/node/proxy-1/
hrw (custom pool), 0, zeek/cluster/node/proxy-1 hrw (custom pool), 0, zeek/cluster/node/proxy-1/
hrw, 1, zeek/cluster/node/proxy-1 hrw, 1, zeek/cluster/node/proxy-1/
hrw (custom pool), 1, zeek/cluster/node/proxy-1 hrw (custom pool), 1, zeek/cluster/node/proxy-1/
hrw, 2, zeek/cluster/node/proxy-1 hrw, 2, zeek/cluster/node/proxy-1/
hrw (custom pool), 2, zeek/cluster/node/proxy-1 hrw (custom pool), 2, zeek/cluster/node/proxy-1/
hrw, 3, zeek/cluster/node/proxy-1 hrw, 3, zeek/cluster/node/proxy-1/
hrw (custom pool), 3, zeek/cluster/node/proxy-1 hrw (custom pool), 3, zeek/cluster/node/proxy-1/
hrw, 13, zeek/cluster/node/proxy-1 hrw, 13, zeek/cluster/node/proxy-1/
hrw (custom pool), 13, zeek/cluster/node/proxy-2 hrw (custom pool), 13, zeek/cluster/node/proxy-2/
hrw, 37, zeek/cluster/node/proxy-1 hrw, 37, zeek/cluster/node/proxy-1/
hrw (custom pool), 37, zeek/cluster/node/proxy-2 hrw (custom pool), 37, zeek/cluster/node/proxy-2/
hrw, 42, zeek/cluster/node/proxy-1 hrw, 42, zeek/cluster/node/proxy-1/
hrw (custom pool), 42, zeek/cluster/node/proxy-2 hrw (custom pool), 42, zeek/cluster/node/proxy-2/
hrw, 101, zeek/cluster/node/proxy-1 hrw, 101, zeek/cluster/node/proxy-1/
hrw (custom pool), 101, zeek/cluster/node/proxy-2 hrw (custom pool), 101, zeek/cluster/node/proxy-2/
rr, zeek/cluster/node/proxy-1 rr, zeek/cluster/node/proxy-1/
rr (custom pool), zeek/cluster/node/proxy-1 rr (custom pool), zeek/cluster/node/proxy-1/
rr, zeek/cluster/node/proxy-1 rr, zeek/cluster/node/proxy-1/
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
rr, zeek/cluster/node/proxy-1 rr, zeek/cluster/node/proxy-1/
rr (custom pool), zeek/cluster/node/proxy-1 rr (custom pool), zeek/cluster/node/proxy-1/
rr, zeek/cluster/node/proxy-1 rr, zeek/cluster/node/proxy-1/
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
rr, zeek/cluster/node/proxy-1 rr, zeek/cluster/node/proxy-1/
rr (custom pool), zeek/cluster/node/proxy-1 rr (custom pool), zeek/cluster/node/proxy-1/
rr, zeek/cluster/node/proxy-1 rr, zeek/cluster/node/proxy-1/
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
rr, zeek/cluster/node/proxy-1 rr, zeek/cluster/node/proxy-1/
rr (custom pool), zeek/cluster/node/proxy-1 rr (custom pool), zeek/cluster/node/proxy-1/
rr, zeek/cluster/node/proxy-1 rr, zeek/cluster/node/proxy-1/
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
hrw, 0, zeek/cluster/node/proxy-1 hrw, 0, zeek/cluster/node/proxy-1/
hrw (custom pool), 0, zeek/cluster/node/proxy-1 hrw (custom pool), 0, zeek/cluster/node/proxy-1/
hrw, 1, zeek/cluster/node/proxy-1 hrw, 1, zeek/cluster/node/proxy-1/
hrw (custom pool), 1, zeek/cluster/node/proxy-1 hrw (custom pool), 1, zeek/cluster/node/proxy-1/
hrw, 2, zeek/cluster/node/proxy-1 hrw, 2, zeek/cluster/node/proxy-1/
hrw (custom pool), 2, zeek/cluster/node/proxy-1 hrw (custom pool), 2, zeek/cluster/node/proxy-1/
hrw, 3, zeek/cluster/node/proxy-1 hrw, 3, zeek/cluster/node/proxy-1/
hrw (custom pool), 3, zeek/cluster/node/proxy-1 hrw (custom pool), 3, zeek/cluster/node/proxy-1/
hrw, 13, zeek/cluster/node/proxy-1 hrw, 13, zeek/cluster/node/proxy-1/
hrw (custom pool), 13, zeek/cluster/node/proxy-2 hrw (custom pool), 13, zeek/cluster/node/proxy-2/
hrw, 37, zeek/cluster/node/proxy-1 hrw, 37, zeek/cluster/node/proxy-1/
hrw (custom pool), 37, zeek/cluster/node/proxy-2 hrw (custom pool), 37, zeek/cluster/node/proxy-2/
hrw, 42, zeek/cluster/node/proxy-1 hrw, 42, zeek/cluster/node/proxy-1/
hrw (custom pool), 42, zeek/cluster/node/proxy-2 hrw (custom pool), 42, zeek/cluster/node/proxy-2/
hrw, 101, zeek/cluster/node/proxy-1 hrw, 101, zeek/cluster/node/proxy-1/
hrw (custom pool), 101, zeek/cluster/node/proxy-2 hrw (custom pool), 101, zeek/cluster/node/proxy-2/
2nd stuff 2nd stuff
hrw, 0, hrw, 0,
hrw (custom pool), 0, zeek/cluster/node/proxy-2 hrw (custom pool), 0, zeek/cluster/node/proxy-2/
hrw, 1, hrw, 1,
hrw (custom pool), 1, zeek/cluster/node/proxy-2 hrw (custom pool), 1, zeek/cluster/node/proxy-2/
hrw, 2, hrw, 2,
hrw (custom pool), 2, zeek/cluster/node/proxy-2 hrw (custom pool), 2, zeek/cluster/node/proxy-2/
hrw, 3, hrw, 3,
hrw (custom pool), 3, zeek/cluster/node/proxy-2 hrw (custom pool), 3, zeek/cluster/node/proxy-2/
hrw, 13, hrw, 13,
hrw (custom pool), 13, zeek/cluster/node/proxy-2 hrw (custom pool), 13, zeek/cluster/node/proxy-2/
hrw, 37, hrw, 37,
hrw (custom pool), 37, zeek/cluster/node/proxy-2 hrw (custom pool), 37, zeek/cluster/node/proxy-2/
hrw, 42, hrw, 42,
hrw (custom pool), 42, zeek/cluster/node/proxy-2 hrw (custom pool), 42, zeek/cluster/node/proxy-2/
hrw, 101, hrw, 101,
hrw (custom pool), 101, zeek/cluster/node/proxy-2 hrw (custom pool), 101, zeek/cluster/node/proxy-2/
rr, rr,
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
rr, rr,
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
rr, rr,
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
rr, rr,
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
rr, rr,
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
rr, rr,
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
rr, rr,
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
rr, rr,
rr (custom pool), zeek/cluster/node/proxy-2 rr (custom pool), zeek/cluster/node/proxy-2/
hrw, 0, hrw, 0,
hrw (custom pool), 0, zeek/cluster/node/proxy-2 hrw (custom pool), 0, zeek/cluster/node/proxy-2/
hrw, 1, hrw, 1,
hrw (custom pool), 1, zeek/cluster/node/proxy-2 hrw (custom pool), 1, zeek/cluster/node/proxy-2/
hrw, 2, hrw, 2,
hrw (custom pool), 2, zeek/cluster/node/proxy-2 hrw (custom pool), 2, zeek/cluster/node/proxy-2/
hrw, 3, hrw, 3,
hrw (custom pool), 3, zeek/cluster/node/proxy-2 hrw (custom pool), 3, zeek/cluster/node/proxy-2/
hrw, 13, hrw, 13,
hrw (custom pool), 13, zeek/cluster/node/proxy-2 hrw (custom pool), 13, zeek/cluster/node/proxy-2/
hrw, 37, hrw, 37,
hrw (custom pool), 37, zeek/cluster/node/proxy-2 hrw (custom pool), 37, zeek/cluster/node/proxy-2/
hrw, 42, hrw, 42,
hrw (custom pool), 42, zeek/cluster/node/proxy-2 hrw (custom pool), 42, zeek/cluster/node/proxy-2/
hrw, 101, hrw, 101,
hrw (custom pool), 101, zeek/cluster/node/proxy-2 hrw (custom pool), 101, zeek/cluster/node/proxy-2/
no stuff no stuff
hrw, 0, hrw, 0,
hrw (custom pool), 0, hrw (custom pool), 0,

View file

@ -1,53 +1,53 @@
1st stuff 1st stuff
hrw, 0, zeek/cluster/node/proxy-1 hrw, 0, zeek/cluster/node/proxy-1/
hrw, 1, zeek/cluster/node/proxy-1 hrw, 1, zeek/cluster/node/proxy-1/
hrw, 2, zeek/cluster/node/proxy-1 hrw, 2, zeek/cluster/node/proxy-1/
hrw, 3, zeek/cluster/node/proxy-1 hrw, 3, zeek/cluster/node/proxy-1/
hrw, 13, zeek/cluster/node/proxy-2 hrw, 13, zeek/cluster/node/proxy-2/
hrw, 37, zeek/cluster/node/proxy-2 hrw, 37, zeek/cluster/node/proxy-2/
hrw, 42, zeek/cluster/node/proxy-2 hrw, 42, zeek/cluster/node/proxy-2/
hrw, 101, zeek/cluster/node/proxy-2 hrw, 101, zeek/cluster/node/proxy-2/
rr, zeek/cluster/node/proxy-1 rr, zeek/cluster/node/proxy-1/
rr, zeek/cluster/node/proxy-2 rr, zeek/cluster/node/proxy-2/
rr, zeek/cluster/node/proxy-1 rr, zeek/cluster/node/proxy-1/
rr, zeek/cluster/node/proxy-2 rr, zeek/cluster/node/proxy-2/
rr, zeek/cluster/node/proxy-1 rr, zeek/cluster/node/proxy-1/
rr, zeek/cluster/node/proxy-2 rr, zeek/cluster/node/proxy-2/
rr, zeek/cluster/node/proxy-1 rr, zeek/cluster/node/proxy-1/
rr, zeek/cluster/node/proxy-2 rr, zeek/cluster/node/proxy-2/
hrw, 0, zeek/cluster/node/proxy-1 hrw, 0, zeek/cluster/node/proxy-1/
hrw, 1, zeek/cluster/node/proxy-1 hrw, 1, zeek/cluster/node/proxy-1/
hrw, 2, zeek/cluster/node/proxy-1 hrw, 2, zeek/cluster/node/proxy-1/
hrw, 3, zeek/cluster/node/proxy-1 hrw, 3, zeek/cluster/node/proxy-1/
hrw, 13, zeek/cluster/node/proxy-2 hrw, 13, zeek/cluster/node/proxy-2/
hrw, 37, zeek/cluster/node/proxy-2 hrw, 37, zeek/cluster/node/proxy-2/
hrw, 42, zeek/cluster/node/proxy-2 hrw, 42, zeek/cluster/node/proxy-2/
hrw, 101, zeek/cluster/node/proxy-2 hrw, 101, zeek/cluster/node/proxy-2/
2nd stuff 2nd stuff
hrw, 0, zeek/cluster/node/proxy-2 hrw, 0, zeek/cluster/node/proxy-2/
hrw, 1, zeek/cluster/node/proxy-2 hrw, 1, zeek/cluster/node/proxy-2/
hrw, 2, zeek/cluster/node/proxy-2 hrw, 2, zeek/cluster/node/proxy-2/
hrw, 3, zeek/cluster/node/proxy-2 hrw, 3, zeek/cluster/node/proxy-2/
hrw, 13, zeek/cluster/node/proxy-2 hrw, 13, zeek/cluster/node/proxy-2/
hrw, 37, zeek/cluster/node/proxy-2 hrw, 37, zeek/cluster/node/proxy-2/
hrw, 42, zeek/cluster/node/proxy-2 hrw, 42, zeek/cluster/node/proxy-2/
hrw, 101, zeek/cluster/node/proxy-2 hrw, 101, zeek/cluster/node/proxy-2/
rr, zeek/cluster/node/proxy-2 rr, zeek/cluster/node/proxy-2/
rr, zeek/cluster/node/proxy-2 rr, zeek/cluster/node/proxy-2/
rr, zeek/cluster/node/proxy-2 rr, zeek/cluster/node/proxy-2/
rr, zeek/cluster/node/proxy-2 rr, zeek/cluster/node/proxy-2/
rr, zeek/cluster/node/proxy-2 rr, zeek/cluster/node/proxy-2/
rr, zeek/cluster/node/proxy-2 rr, zeek/cluster/node/proxy-2/
rr, zeek/cluster/node/proxy-2 rr, zeek/cluster/node/proxy-2/
rr, zeek/cluster/node/proxy-2 rr, zeek/cluster/node/proxy-2/
hrw, 0, zeek/cluster/node/proxy-2 hrw, 0, zeek/cluster/node/proxy-2/
hrw, 1, zeek/cluster/node/proxy-2 hrw, 1, zeek/cluster/node/proxy-2/
hrw, 2, zeek/cluster/node/proxy-2 hrw, 2, zeek/cluster/node/proxy-2/
hrw, 3, zeek/cluster/node/proxy-2 hrw, 3, zeek/cluster/node/proxy-2/
hrw, 13, zeek/cluster/node/proxy-2 hrw, 13, zeek/cluster/node/proxy-2/
hrw, 37, zeek/cluster/node/proxy-2 hrw, 37, zeek/cluster/node/proxy-2/
hrw, 42, zeek/cluster/node/proxy-2 hrw, 42, zeek/cluster/node/proxy-2/
hrw, 101, zeek/cluster/node/proxy-2 hrw, 101, zeek/cluster/node/proxy-2/
no stuff no stuff
hrw, 0, hrw, 0,
hrw, 1, hrw, 1,

View file

@ -3,13 +3,16 @@
# @TEST-PORT: BROKER_PORT3 # @TEST-PORT: BROKER_PORT3
# @TEST-PORT: BROKER_PORT4 # @TEST-PORT: BROKER_PORT4
# #
# Note: the logger names are chosen on purpose such that one is a prefix of the
# other to help verify that the node-specific Cluster topics are able to
# uniquely target a particular node.
# @TEST-EXEC: btest-bg-run logger-1 ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=logger-1 zeek %INPUT # @TEST-EXEC: btest-bg-run logger-1 ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=logger-1 zeek %INPUT
# @TEST-EXEC: btest-bg-run logger-2 ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=logger-2 zeek %INPUT # @TEST-EXEC: btest-bg-run logger-10 ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=logger-10 zeek %INPUT
# @TEST-EXEC: btest-bg-run manager ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=manager zeek %INPUT # @TEST-EXEC: btest-bg-run manager ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=manager zeek %INPUT
# @TEST-EXEC: btest-bg-run worker-1 ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=worker-1 zeek %INPUT # @TEST-EXEC: btest-bg-run worker-1 ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=worker-1 zeek %INPUT
# @TEST-EXEC: btest-bg-wait 45 # @TEST-EXEC: btest-bg-wait 45
# @TEST-EXEC: btest-diff logger-1/test.log # @TEST-EXEC: btest-diff logger-1/test.log
# @TEST-EXEC: btest-diff logger-2/test.log # @TEST-EXEC: btest-diff logger-10/test.log
@TEST-START-FILE cluster-layout.zeek @TEST-START-FILE cluster-layout.zeek
redef Cluster::manager_is_logger = F; redef Cluster::manager_is_logger = F;
@ -18,7 +21,7 @@ redef Cluster::nodes = {
["manager"] = [$node_type=Cluster::MANAGER, $ip=127.0.0.1, $p=to_port(getenv("BROKER_PORT1"))], ["manager"] = [$node_type=Cluster::MANAGER, $ip=127.0.0.1, $p=to_port(getenv("BROKER_PORT1"))],
["worker-1"] = [$node_type=Cluster::WORKER, $ip=127.0.0.1, $p=to_port(getenv("BROKER_PORT2")), $manager="manager", $interface="eth0"], ["worker-1"] = [$node_type=Cluster::WORKER, $ip=127.0.0.1, $p=to_port(getenv("BROKER_PORT2")), $manager="manager", $interface="eth0"],
["logger-1"] = [$node_type=Cluster::LOGGER, $ip=127.0.0.1, $p=to_port(getenv("BROKER_PORT3")), $manager="manager"], ["logger-1"] = [$node_type=Cluster::LOGGER, $ip=127.0.0.1, $p=to_port(getenv("BROKER_PORT3")), $manager="manager"],
["logger-2"] = [$node_type=Cluster::LOGGER, $ip=127.0.0.1, $p=to_port(getenv("BROKER_PORT4")), $manager="manager"] ["logger-10"] = [$node_type=Cluster::LOGGER, $ip=127.0.0.1, $p=to_port(getenv("BROKER_PORT4")), $manager="manager"]
}; };
@TEST-END-FILE @TEST-END-FILE