Skip to content

support unbundled multihomed servers in SetupVPCs / TestConnectivity - #1836

Closed
edipascale wants to merge 6 commits into
masterfrom
ema/multiple-conns-unbundled
Closed

support unbundled multihomed servers in SetupVPCs / TestConnectivity#1836
edipascale wants to merge 6 commits into
masterfrom
ema/multiple-conns-unbundled

Conversation

@edipascale

@edipascale edipascale commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

stacked on top of the connectivity matrix refactor

  • in SetupVPCs, automatically opt for a HostBGP subnet if the server has multiple unbundled connections
  • handle this case in TestConnectivity, i.e. when discovering the endpoints
  • support multihomed servers on a mix of eslag leaves and orphan leaves if there are not enough orphan leaves, e.g. in our standard topology

@coderabbitai

coderabbitai Bot commented Jun 23, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 93e2c4b6-201c-4cda-9aaa-55e70c586676

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands.

@edipascale
edipascale force-pushed the ema/multiple-conns-unbundled branch from 604bcb0 to 4484d75 Compare June 23, 2026 10:04
@edipascale
edipascale force-pushed the ema/test-connectivity branch from 3d9ba10 to 3361aa3 Compare June 23, 2026 13:42
@edipascale
edipascale force-pushed the ema/multiple-conns-unbundled branch from 4484d75 to 471d99e Compare June 23, 2026 13:43
@edipascale
edipascale marked this pull request as ready for review June 24, 2026 08:02
@edipascale
edipascale requested review from a team as code owners June 24, 2026 08:02
@pau-hedgehog
pau-hedgehog force-pushed the ema/test-connectivity branch from 3361aa3 to 564a871 Compare July 9, 2026 20:58
@edipascale
edipascale force-pushed the ema/test-connectivity branch from 564a871 to 5549eab Compare July 10, 2026 13:51
@edipascale
edipascale force-pushed the ema/multiple-conns-unbundled branch from 471d99e to d99cb50 Compare July 13, 2026 13:22
@pau-hedgehog
pau-hedgehog force-pushed the ema/test-connectivity branch from 5549eab to cd3dc5b Compare July 14, 2026 17:53
@edipascale
edipascale force-pushed the ema/test-connectivity branch from cd3dc5b to e47a567 Compare July 15, 2026 09:58
@edipascale
edipascale force-pushed the ema/multiple-conns-unbundled branch from d99cb50 to 340084b Compare July 15, 2026 09:59
@edipascale
edipascale force-pushed the ema/test-connectivity branch from e47a567 to ce28f3b Compare July 22, 2026 06:46
@edipascale
edipascale force-pushed the ema/multiple-conns-unbundled branch from 340084b to c430b6d Compare July 22, 2026 06:46
edipascale and others added 3 commits July 28, 2026 16:42
replace a number of ad-hoc testing function with a declarative,
matrix-based test. Reachability checks that are currently supported
by Fabric are preserved as is; additional checks are manually
overlayed on the matrix, e.g. for NAT tests.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Emanuele Di Pascale <emanuele@githedgehog.com>
Move endpoint collection out of SetupVPCs into a standalone, inspection-
based helper (CollectServerEndpoints in pkg/hhfab/endpoints.go) so the
matrix can model servers with multiple (vpc, subnet) attachments, be
built against pre-existing topologies, and be refreshed per-server after
a runtime config change.

SetupVPCs now delegates to the collector after configuring servers and
keeps its ([]*Endpoint, error) signature. BuildConnectivityMatrixFromCluster
covers the build-from-scratch case. ReplaceServerEndpoints on the matrix
swaps endpoint pointers and wipes stale entries; rebindMatrixServerEndpoint
in the overlap-NAT test now reads (vpc, subnet) from the cluster instead
of being told. The single-IP discoverServerIP is replaced by
discoverServerIPs; the legacy non-matrix TestConnectivity asserts len==1
itself.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Emanuele Di Pascale <emanuele@githedgehog.com>
ensure that followup failover test have up-to-date information

Signed-off-by: Emanuele Di Pascale <emanuele@githedgehog.com>
@edipascale
edipascale force-pushed the ema/test-connectivity branch from ce28f3b to acb7a48 Compare July 28, 2026 14:42
edipascale and others added 3 commits July 28, 2026 16:42
Replace single-connection/subnet args of getServerHostBGPCmd with a
[]HostBGPParams slice so the helper can compose configs for hosts
attached to multiple hostBGP VPCs over multiple connections. Each
entry carries VPC label, connections, VLAN, subnet, and per-server
address offset.

Updates the two existing call sites (SetupVPCs and the on-ready
release test) to pass a single-element slice; behavior is unchanged.

Signed-off-by: Emanuele Di Pascale <emanuele@githedgehog.com>
automatically opt for a hostBGP subnet if a server has multiple
unbundled connections. also detect this setup in test-connectivity
and treat it as a single endpoint

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Emanuele Di Pascale <emanuele@githedgehog.com>
the standard topology has 2 eslag leaves and 1 orphan, and
we want to be able to test hostbgp with this. vlab gen now
prefers orphan leaves for mh servers but will take eslag
leaves too if there are not enough orphans

Signed-off-by: Emanuele Di Pascale <emanuele@githedgehog.com>
@edipascale
edipascale force-pushed the ema/multiple-conns-unbundled branch from c430b6d to ef68a37 Compare July 28, 2026 14:43
@edipascale
edipascale force-pushed the ema/test-connectivity branch from acb7a48 to 709bff4 Compare July 29, 2026 16:03
Base automatically changed from ema/test-connectivity to master July 30, 2026 07:35
@edipascale

Copy link
Copy Markdown
Contributor Author

closing in favor of #1910

@edipascale edipascale closed this Jul 30, 2026
@edipascale
edipascale deleted the ema/multiple-conns-unbundled branch September 1, 2026 07:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant