hashicorp/nomad · info
module %s not in %s
Error message
module %s not in %s
What it means
searchFile successfully opened and scanned the kernel metadata file but found no line matching the bridge module - the file is readable, the module just isn't listed in it. This is the expected outcome when the bridge module is neither loaded, nor built-in, nor available as a loadable module on the host. detect() aggregates it with the other probe errors and the fingerprint simply reports the node as not supporting bridge networking.
Source
Thrown at client/fingerprint/bridge_linux.go:127
file, err := os.Open(filename)
if err != nil {
return fmt.Errorf("failed to open %s: %v", filename, err)
}
defer func() {
_ = file.Close()
}()
scanner := bufio.NewScanner(file)
for scanner.Scan() {
if re.MatchString(scanner.Text()) {
return nil // found the module!
}
}
if err := scanner.Err(); err != nil {
return fmt.Errorf("failed to scan %s: %v", filename, err)
}
return fmt.Errorf("module %s not in %s", module, filename)
}
View on GitHub (pinned to 482b49bf1a)
Solutions
- Install the bridge module package for the kernel (e.g. linux-modules-extra on RHEL-family) so modules.dep lists it.
- Load it persistently: 'sudo modprobe bridge' and add 'bridge' to /etc/modules-load.d/bridge.conf.
- Confirm with 'grep bridge /lib/modules/$(uname -r)/modules.dep'.
- If you don't need Nomad bridge networking mode, ignore - only nodes advertising bridge mode require the module.
Example fix
# before (module absent from all kernel metadata) $ grep bridge /lib/modules/$(uname -r)/modules.dep (no output) # after $ sudo apt-get install linux-modules-extra-$(uname -r) # or distro equivalent $ sudo modprobe bridge $ grep bridge /lib/modules/$(uname -r)/modules.dep kernel/net/bridge/bridge.ko: ...
Defensive patterns
Strategy: fallback
Validate before calling
# host preflight (shell): confirm the module is available somewhere before enabling bridge networking # grep -q '^bridge' /proc/modules || grep -q bridge /lib/modules/$(uname -r)/modules.builtin || grep -q bridge /lib/modules/$(uname -r)/modules.dep || echo 'bridge module unavailable'
Try / catch
if err := f.detect(bridgeKernelModuleName); err != nil {
// not detected: continue without bridge networking capability
f.logger.Info("bridge kernel module unavailable, bridge networking not advertised")
return nil
} Prevention
- Install module packages (e.g. linux-modules-extra) on hosts that must run bridge networking.
- Persist module loading via /etc/modules-load.d so reboots don't silently drop capability.
- Filter/schedule only onto nodes whose fingerprint advertises bridge mode for jobs needing it.
When it happens
Trigger: detect('bridge') runs all four probes: /sys/module/bridge missing, 'bridge' not in /proc/modules, not in modules.builtin, not in modules.dep - then findDir/searchFile failures are returned as a combined multierror whose members include this message.
Common situations: Hosts or appliance kernels compiled without the bridge module and without it in modules.dep; heavily stripped VM images; nodes where bridging is unnecessary (the warning is informational).
Related errors
- failed to find %s: %v
- failed to open %s: %v
- failed to scan %s: %v
- fingerprint name cannot be empty
- empty response from AWS metadata
AI-assisted analysis of hashicorp/nomad@482b49bf1a (2026-09-04).
Data as JSON: /api/errors/a7fe05b420e45bf8.
Report an issue: GitHub.