Skip to content

Commit

Permalink
minimum version check
Browse files Browse the repository at this point in the history
  • Loading branch information
tgross committed Nov 9, 2022
1 parent 58e426b commit d71c26e
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions nomad/eval_endpoint.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import (
log "github.com/hashicorp/go-hclog"
memdb "github.com/hashicorp/go-memdb"
multierror "github.com/hashicorp/go-multierror"
version "github.com/hashicorp/go-version"

"github.com/hashicorp/nomad/acl"
"github.com/hashicorp/nomad/nomad/state"
Expand All @@ -24,6 +25,8 @@ const (
DefaultDequeueTimeout = time.Second
)

var minVersionEvalDeleteByFilter = version.Must(version.NewVersion("1.4.3"))

// Eval endpoint is used for eval interactions
type Eval struct {
srv *Server
Expand Down Expand Up @@ -438,6 +441,12 @@ func (e *Eval) Delete(
return structs.ErrPermissionDenied
}

if args.Filter != "" && !ServersMeetMinimumVersion(
e.srv.Members(), e.srv.Region(), minVersionEvalDeleteByFilter, true) {
return fmt.Errorf(
"all servers must be running version %v or later to delete evals by filter",
minVersionEvalDeleteByFilter)
}
if args.Filter != "" && len(args.EvalIDs) > 0 {
return fmt.Errorf("evals cannot be deleted by both ID and filter")
}
Expand Down

0 comments on commit d71c26e

Please sign in to comment.