Skip to content

fix(client): skip service DNS records on non-bridge networks - #186

Merged
jochumdev merged 1 commit into
lxc:developfrom
sandroden:fix/dnswatcher-non-bridge
Sep 1, 2026
Merged

jochumdev merged 1 commit into
lxc:developfrom
sandroden:fix/dnswatcher-non-bridge

Conversation

@sandroden

Copy link
Copy Markdown
Contributor

Fixes #185

raw.dnsmasq is a bridge-only option, but the DNSWatcher wrote it to every
network of the project, so with an external OVN network every
up/start/stop failed mid-phase and the stack could never converge
(details in #185).

updateDNSAliases now returns early on networks whose type is not bridge,
with a debug log. On OVN networks instance names already resolve through the
network's own DNS, so the only loss is the service-name round-robin, which
raw.dnsmasq cannot provide there anyway.

Tested on a 3-node Incus 7.3 cluster (OVN + Linstor):

  • external OVN network: unpatched up -d exits 1 with
    Invalid option ... "raw.dnsmasq"; patched it converges (exit 0,
    idempotent on re-run) and --debug shows
    skipping service DNS records: network is not a bridge ... type=ovn.
  • external bridge network: service records are still written on up
    and removed on down.

raw.dnsmasq is a bridge-only option, so on an OVN network every
up/start/stop failed and the stack could never converge.

Fixes lxc#185

Signed-off-by: Alessandro Dentella <sandro.dentella@gmail.com>
@jochumdev

Copy link
Copy Markdown
Member

Nice one! I'll cherry-pick into the main - 1.3 branch.

@jochumdev
jochumdev merged commit bdf4d51 into lxc:develop Sep 1, 2026
9 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

DNSWatcher writes raw.dnsmasq to non-bridge (OVN) networks, so up can never converge with an external OVN network

2 participants