hashicorp/nomad · error

Enterprise only

Error message

Enterprise only

What it means

The community (OSS) build of Nomad stubs SetTaskPauseState in alloc_runner_ce.go so that the task scheduling pause/resume API always fails with "Enterprise only". Pausing a task's schedule is a Nomad Enterprise feature; the OSS binary cannot perform it.

Source

Thrown at client/allocrunner/alloc_runner_ce.go:15

// Copyright IBM Corp. 2015, 2026
// SPDX-License-Identifier: BUSL-1.1

//go:build !ent

package allocrunner

import (
	"fmt"

	"github.com/hashicorp/nomad/nomad/structs"
)

func (ar *allocRunner) SetTaskPauseState(string, structs.TaskScheduleState) error {
	return fmt.Errorf("Enterprise only")
}

func (ar *allocRunner) GetTaskPauseState(taskName string) (structs.TaskScheduleState, error) {
	return "", fmt.Errorf("Enterprise only")
}

View on GitHub (pinned to 482b49bf1a)

Solutions

  1. Use Nomad Enterprise if task pause/schedule-state control is required
  2. On OSS, achieve pausing by stopping the job (`nomad job stop`) or using lifecycle/kill-timeout controls instead
  3. Guard automation: check the Nomad build/edition before invoking pause APIs
Defensive patterns

Strategy: fallback

Try / catch

if err := pauseTask(allocID, task); err != nil && strings.Contains(err.Error(), "Enterprise only") {
  // fall back to OSS-compatible behavior
  return stopOrDrainInstead(allocID, task)
}

Prevention

When it happens

Trigger: Calling SetTaskPauseState (task pause/resume endpoint or API) against an open-source Nomad agent build.

Common situations: Running `nomad alloc signal`-style pause workflows or automation that assumes Enterprise; scripts copied from Enterprise environments run against OSS clusters.

Related errors


AI-assisted analysis of hashicorp/nomad@482b49bf1a (2026-09-04). Data as JSON: /api/errors/7d3535876f6b52c5. Report an issue: GitHub.