Open
Description
I use you example, slightly modified;
package main
import (
"log"
"github.com/moby/ipvs"
)
func main() {
handle, err := ipvs.New("")
if err != nil {
log.Fatalf("ipvs.New: %s", err)
}
log.Println("ipvs.New did NOT give an error!!")
_, err = handle.GetServices()
if err != nil {
log.Fatalf("handle.GetServices: %s", err)
}
log.Println("handle.GetServices did NOT give an error!!")
}
And run on a kernel where ipvs is not configured. Output:
# moby-example
WARN[0000] Running modprobe ip_vs failed with message: `modprobe: WARNING: Module ip_vs not found in directory /lib/modules/6.1.0`, error: exit status 1
ERRO[0000] Could not get ipvs family information from the kernel. It is possible that ipvs is not enabled in your kernel. Native loadbalancing will not work until this is fixed.
2022/12/23 18:09:43 ipvs.New did NOT give an error!!
2022/12/23 18:09:43 handle.GetServices did NOT give an error!!
So, that ipvs can't be loaded is obviously noted, but even so err==nil is returned.
This is a serious bug, which enforces weird work-arounds do detect if ipvs can be used:
Metadata
Metadata
Assignees
Labels
No labels