{"record":{"id":"a7fe05b420e45bf8","repo":"hashicorp/nomad","slug":"module-s-not-in-s","errorCode":null,"errorMessage":"module %s not in %s","messagePattern":"module (.+?) not in (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"info","filePath":"client/fingerprint/bridge_linux.go","lineNumber":127,"sourceCode":"\tfile, err := os.Open(filename)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to open %s: %v\", filename, err)\n\t}\n\tdefer func() {\n\t\t_ = file.Close()\n\t}()\n\n\tscanner := bufio.NewScanner(file)\n\tfor scanner.Scan() {\n\t\tif re.MatchString(scanner.Text()) {\n\t\t\treturn nil // found the module!\n\t\t}\n\t}\n\tif err := scanner.Err(); err != nil {\n\t\treturn fmt.Errorf(\"failed to scan %s: %v\", filename, err)\n\t}\n\n\treturn fmt.Errorf(\"module %s not in %s\", module, filename)\n}\n","sourceCodeStart":109,"sourceCodeEnd":129,"githubUrl":"https://github.com/hashicorp/nomad/blob/482b49bf1aec006f089bcfc7e632d8f6ac303e5e/client/fingerprint/bridge_linux.go#L109-L129","documentation":"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.","triggerScenarios":"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.","commonSituations":"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).","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."],"exampleFix":"# before (module absent from all kernel metadata)\n$ grep bridge /lib/modules/$(uname -r)/modules.dep\n(no output)\n# after\n$ sudo apt-get install linux-modules-extra-$(uname -r)  # or distro equivalent\n$ sudo modprobe bridge\n$ grep bridge /lib/modules/$(uname -r)/modules.dep\nkernel/net/bridge/bridge.ko: ...","handlingStrategy":"fallback","validationCode":"# host preflight (shell): confirm the module is available somewhere before enabling bridge networking\n# 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'","typeGuard":null,"tryCatchPattern":"if err := f.detect(bridgeKernelModuleName); err != nil {\n    // not detected: continue without bridge networking capability\n    f.logger.Info(\"bridge kernel module unavailable, bridge networking not advertised\")\n    return nil\n}","preventionTips":["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."],"tags":["fingerprint","linux","kernel-module","bridge-networking"],"backgroundTag":"kernel-module-not-loaded","analyzedSha":"482b49bf1aec006f089bcfc7e632d8f6ac303e5e","analyzedAt":"2026-09-04T07:54:14.808Z","contentChangedAt":"2026-09-04T07:54:14.808Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}