hashicorp/nomad · error
All servers should be running version %v to update scheduler
Error message
All servers should be running version %v to update scheduler config
What it means
SchedulerSetConfiguration was rejected because not all servers meet the minimum Nomad version (0.9.0+) required for scheduler config updates; a mixed-version cluster cannot safely apply the change.
Source
Thrown at nomad/operator_endpoint.go:443
if authErr != nil {
return structs.ErrPermissionDenied
}
// This action requires operator write access.
aclObj, err := op.srv.ResolveACL(args)
if err != nil {
return err
} else if !aclObj.AllowOperatorWrite() {
return structs.ErrPermissionDenied
}
// All servers should be at or above 0.9.0 to apply this operation
if !op.srv.peersCache.ServersMeetMinimumVersion(
op.srv.Region(),
minSchedulerConfigVersion,
false,
) {
return fmt.Errorf(
"All servers should be running version %v to update scheduler config",
minSchedulerConfigVersion,
)
}
// Apply the update
resp, index, err := op.srv.raftApply(structs.SchedulerConfigRequestType, args)
if err != nil {
op.logger.Error("failed applying Scheduler configuration", "error", err)
return err
}
// If CAS request, raft returns a boolean indicating if the update was applied.
// Otherwise, assume success
reply.Updated = true
if respBool, ok := resp.(bool); ok {
reply.Updated = respBool
}View on GitHub (pinned to 482b49bf1a)
Solutions
- Complete a rolling upgrade so every server runs the minimum version
- Verify with `nomad server members` and retry after the peers cache updates
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at nomad/operator_endpoint.go:443 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of hashicorp/nomad@482b49bf1a (2026-09-04).
Data as JSON: /api/errors/a4021def71b86f99.
Report an issue: GitHub.