The cross-node bed is green: push the provider node after adding the remote consumer
A provision secret is minted as a side-effect of composing the CONSUMER's plan, and the provider's grant list is a pure read of secrets already issued from it. So a cross-node consumer's grant exists only after its node is pushed, and the provider's provisioner mints the vhost only when the provider node is composed again. Push anchor once more after node2, and the bed passes: amqp-ping on node2 reaches mesh-broker on anchor over the overlay, its binding names anchor.internal, and its vhost is minted. Proves both halves of issue 055. https://claude.ai/code/session_01D6qtiYU3P9jk3pnAXyAFyx
This commit is contained in:
@@ -155,6 +155,12 @@ test("a consumer on a joined node opens the adopted broker on the control-node o
|
||||
await install("amqp-ping", NODE);
|
||||
await mesh(`push ${NODE}`, 900_000);
|
||||
|
||||
// The consumer minted its grant against anchor's broker only when node2 was composed
|
||||
// (a provision secret is a side-effect of composing the CONSUMER). anchor's provisioner
|
||||
// learns of a cross-node consumer only when anchor is composed again, so push it once more to
|
||||
// mint the vhost. Adding a cross-node consumer means pushing the provider node too (issue 055).
|
||||
await mesh(`push anchor`, 600_000);
|
||||
|
||||
// amqp-ping's container comes up and stays up (a broker it could not reach would crash-loop it).
|
||||
const psName = async () => (await on(NODE, `docker ps -a --format '{{.Names}}\t{{.Status}}'`)).out;
|
||||
const deadline = Date.now() + 600_000;
|
||||
|
||||
Reference in New Issue
Block a user