fix: keep CARP state knowledge out of the base package (4.10.1) #39

Merged
christianmanivong merged 1 commits from fix/carp-helper-to-driver into main 2026-10-16 09:19:00 +00:00
Owner

Follow-up to #38 (NetOrk/netork#1121), raised by the driver-cleanup coordination (NetOrk/netork#1105, docs/STRUCTURE.md in #37).

carp_virtual_ip() and _CARP_STATES are CARP protocol knowledge. Under the agreed structure, napalm-device-types holds only contracts, data shapes and I/O-free reconcilers, so both move into napalm-opnsense (NAPALM/napalm-opnsense#17).

What stays is the contract: VirtualIpsDict.carp (NotRequired) and VirtualIpDict.holds (NotRequired). Nothing used the helper yet.

Suite 619 passed (the CARP tests move with the helper), mypy clean.

Open for Christian, not part of this change: keying VirtualIpsDict by mechanism as data instead of one key per mechanism (raised by netork-d4).

Follow-up to #38 (NetOrk/netork#1121), raised by the driver-cleanup coordination (NetOrk/netork#1105, `docs/STRUCTURE.md` in #37). `carp_virtual_ip()` and `_CARP_STATES` are CARP protocol knowledge. Under the agreed structure, napalm-device-types holds only contracts, data shapes and I/O-free reconcilers, so both move into napalm-opnsense (NAPALM/napalm-opnsense#17). What stays is the contract: `VirtualIpsDict.carp` (NotRequired) and `VirtualIpDict.holds` (NotRequired). Nothing used the helper yet. Suite 619 passed (the CARP tests move with the helper), mypy clean. Open for Christian, not part of this change: keying `VirtualIpsDict` by mechanism as data instead of one key per mechanism (raised by netork-d4).
christianmanivong added 1 commit 2026-10-16 09:11:16 +00:00
fix: keep CARP state knowledge out of the base package (4.10.1)
CI / test (3.10) (push) Successful in 25s
CI / test (3.11) (push) Successful in 24s
CI / test (3.12) (push) Successful in 26s
CI / test (3.13) (push) Successful in 25s
CI / test (3.10) (pull_request) Successful in 26s
CI / test (3.11) (pull_request) Successful in 24s
CI / test (3.12) (pull_request) Successful in 26s
CI / test (3.13) (pull_request) Successful in 26s
0330f17a67
carp_virtual_ip() and its state table are CARP protocol knowledge; under the
agreed structure (PR #37, docs/STRUCTURE.md) the base package carries only
contracts, data shapes and I/O-free reconcilers. They move to the driver that
speaks CARP (napalm-opnsense). The contract stays: VirtualIpsDict.carp and
VirtualIpDict.holds.

Nothing used the helper yet; it was released in 4.10.0 an hour ago.

netOrk #1121.
christianmanivong merged commit 2739f10ecd into main 2026-10-16 09:19:00 +00:00
christianmanivong deleted branch fix/carp-helper-to-driver 2026-10-16 09:19:00 +00:00
Sign in to join this conversation.