From cac8bcdd7ec17dd78c12b0bf45af20e2644890b1 Mon Sep 17 00:00:00 2001 From: Brent Baude Date: Thu, 26 Mar 2020 11:56:56 -0500 Subject: apiv2 add default network in specgen when a network is not provided, we should set a default mode based on rootless or rootfull. Fixes: #5366 Signed-off-by: Brent Baude --- pkg/specgen/validate.go | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'pkg') diff --git a/pkg/specgen/validate.go b/pkg/specgen/validate.go index dd5ca3a55..5f567f725 100644 --- a/pkg/specgen/validate.go +++ b/pkg/specgen/validate.go @@ -3,6 +3,8 @@ package specgen import ( "strings" + "github.com/containers/libpod/pkg/rootless" + "github.com/containers/libpod/libpod" "github.com/containers/libpod/pkg/util" "github.com/pkg/errors" @@ -138,9 +140,6 @@ func (s *SpecGenerator) validate(rt *libpod.Runtime) error { if err := s.IpcNS.validate(); err != nil { return err } - if err := validateNetNS(&s.NetNS); err != nil { - return err - } if err := s.PidNS.validate(); err != nil { return err } @@ -155,5 +154,16 @@ func (s *SpecGenerator) validate(rt *libpod.Runtime) error { if len(s.WorkDir) < 1 { s.WorkDir = "/" } + + // Set defaults if network info is not provided + if s.NetNS.NSMode == "" { + s.NetNS.NSMode = Bridge + if rootless.IsRootless() { + s.NetNS.NSMode = Slirp + } + } + if err := validateNetNS(&s.NetNS); err != nil { + return err + } return nil } -- cgit v1.2.3-54-g00ecf