mirror of https://github.com/containers/podman.git
require conmon v2.0.0
Signed-off-by: Peter Hunt <pehunt@redhat.com>
This commit is contained in:
parent
f0da9cfc26
commit
57fa6cf756
|
|
@ -84,6 +84,9 @@ var (
|
|||
// DefaultDetachKeys is the default keys sequence for detaching a
|
||||
// container
|
||||
DefaultDetachKeys = "ctrl-p,ctrl-q"
|
||||
|
||||
// minConmonMajor is the major version required for conmon
|
||||
minConmonMajor = 2
|
||||
)
|
||||
|
||||
// A RuntimeOption is a functional option which alters the Runtime created by
|
||||
|
|
@ -783,6 +786,7 @@ func getLockManager(runtime *Runtime) (lock.Manager, error) {
|
|||
// probeConmon calls conmon --version and verifies it is a new enough version for
|
||||
// the runtime expectations podman currently has
|
||||
func probeConmon(conmonBinary string) error {
|
||||
versionFormatErr := "conmon version changed format"
|
||||
cmd := exec.Command(conmonBinary, "--version")
|
||||
var out bytes.Buffer
|
||||
cmd.Stdout = &out
|
||||
|
|
@ -794,17 +798,13 @@ func probeConmon(conmonBinary string) error {
|
|||
|
||||
matches := r.FindStringSubmatch(out.String())
|
||||
if len(matches) != 4 {
|
||||
return errors.Wrapf(err, "conmon version changed format")
|
||||
return errors.Wrapf(err, versionFormatErr)
|
||||
}
|
||||
major, err := strconv.Atoi(matches[1])
|
||||
if err != nil || major < 1 {
|
||||
return define.ErrConmonOutdated
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, versionFormatErr)
|
||||
}
|
||||
// conmon used to be shipped with CRI-O, and was versioned along with it.
|
||||
// even though the conmon that came with crio-1.9 to crio-1.15 has a higher
|
||||
// version number than conmon 1.0.0, 1.0.0 is newer, so we need this check
|
||||
minor, err := strconv.Atoi(matches[2])
|
||||
if err != nil || minor > 9 {
|
||||
if major < minConmonMajor {
|
||||
return define.ErrConmonOutdated
|
||||
}
|
||||
|
||||
|
|
@ -866,7 +866,7 @@ func makeRuntime(ctx context.Context, runtime *Runtime) (err error) {
|
|||
|
||||
if !foundConmon {
|
||||
if foundOutdatedConmon {
|
||||
return errors.Wrapf(define.ErrConmonOutdated, "please update to v1.0.0 or later")
|
||||
return errors.Wrapf(define.ErrConmonOutdated, "please update to v%d.0.0 or later", minConmonMajor)
|
||||
}
|
||||
return errors.Wrapf(define.ErrInvalidArg,
|
||||
"could not find a working conmon binary (configured options: %v)",
|
||||
|
|
|
|||
Loading…
Reference in New Issue