diff --git a/pkg/hostman/hostinfo/hostinfo.go b/pkg/hostman/hostinfo/hostinfo.go index 4b5d5b4e36..f45e35b881 100644 --- a/pkg/hostman/hostinfo/hostinfo.go +++ b/pkg/hostman/hostinfo/hostinfo.go @@ -141,8 +141,11 @@ func (h *SHostInfo) Init() error { if err := h.parseConfig(); err != nil { return err } - if err := h.setupOvnChassis(); err != nil { - return err + if HasOvnSupport() { + if err := h.setupOvnChassis(); err != nil { + return err + } + return nil } log.Infof("Start detectHostInfo") if err := h.detectHostInfo(); err != nil { diff --git a/pkg/hostman/hostinfo/hostovn.go b/pkg/hostman/hostinfo/hostovn.go index a3e2d5c843..502e758bf2 100644 --- a/pkg/hostman/hostinfo/hostovn.go +++ b/pkg/hostman/hostinfo/hostovn.go @@ -107,13 +107,21 @@ func (oh *OvnHelper) mustPrepService() { } func MustGetOvnVersion() string { - output, err := procutils.NewCommand("ovn-controller", "--version").Output() + output, err := procutils.NewRemoteCommandAsFarAsPossible("ovn-controller", "--version").Output() if err != nil { return "" } return ovnExtractVersion(string(output)) } +func HasOvnSupport() bool { + ver := MustGetOvnVersion() + if ver != "" { + return true + } + return false +} + func ovnExtractVersion(in string) string { r := make([]rune, 0, 8) var (