diff options
author | Peter Hunt <pehunt@redhat.com> | 2019-09-12 14:32:45 -0400 |
---|---|---|
committer | Peter Hunt <pehunt@redhat.com> | 2019-10-28 16:13:58 -0400 |
commit | 306f7cb9f56f7807dc125caa2292b653c7fae3ac (patch) | |
tree | 2f12bb4ec2f4bd87da4c80e776184481bf6ed78a /libpod | |
parent | 57fa6cf756219baa1d8d562906ccf5bbb85380dc (diff) | |
download | podman-306f7cb9f56f7807dc125caa2292b653c7fae3ac.tar.gz podman-306f7cb9f56f7807dc125caa2292b653c7fae3ac.tar.bz2 podman-306f7cb9f56f7807dc125caa2292b653c7fae3ac.zip |
require conmon v2.0.1
Signed-off-by: Peter Hunt <pehunt@redhat.com>
Diffstat (limited to 'libpod')
-rw-r--r-- | libpod/runtime.go | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/libpod/runtime.go b/libpod/runtime.go index 64e645299..93d6fbead 100644 --- a/libpod/runtime.go +++ b/libpod/runtime.go @@ -87,6 +87,12 @@ var ( // minConmonMajor is the major version required for conmon minConmonMajor = 2 + + // minConmonMinor is the minor version required for conmon + minConmonMinor = 0 + + // minConmonPatch is the sub-minor version required for conmon + minConmonPatch = 1 ) // A RuntimeOption is a functional option which alters the Runtime created by @@ -807,6 +813,31 @@ func probeConmon(conmonBinary string) error { if major < minConmonMajor { return define.ErrConmonOutdated } + if major > minConmonMajor { + return nil + } + + minor, err := strconv.Atoi(matches[2]) + if err != nil { + return errors.Wrapf(err, versionFormatErr) + } + if minor < minConmonMinor { + return define.ErrConmonOutdated + } + if minor > minConmonMinor { + return nil + } + + patch, err := strconv.Atoi(matches[3]) + if err != nil { + return errors.Wrapf(err, versionFormatErr) + } + if patch < minConmonPatch { + return define.ErrConmonOutdated + } + if patch > minConmonPatch { + return nil + } return nil } @@ -866,7 +897,7 @@ func makeRuntime(ctx context.Context, runtime *Runtime) (err error) { if !foundConmon { if foundOutdatedConmon { - return errors.Wrapf(define.ErrConmonOutdated, "please update to v%d.0.0 or later", minConmonMajor) + return errors.Errorf("please update to v%d.%d.%d or later: %v", minConmonMajor, minConmonMinor, minConmonPatch, define.ErrConmonOutdated) } return errors.Wrapf(define.ErrInvalidArg, "could not find a working conmon binary (configured options: %v)", |