hashicorp/nomad · error

scheduler config not initialized yet

Error message

scheduler config not initialized yet

What it means

SchedulerGetConfiguration found no scheduler configuration object in the state store; the cluster has not yet had a scheduler config applied (fresh cluster or version upgrade path), so there is nothing to return.

Source

Thrown at nomad/operator_endpoint.go:504

	if authErr != nil {
		return structs.ErrPermissionDenied
	}

	// This action requires operator read access.
	aclObj, err := op.srv.ResolveACL(args)
	if err != nil {
		return err
	} else if !aclObj.AllowOperatorRead() {
		return structs.ErrPermissionDenied
	}

	state := op.srv.fsm.State()
	index, config, err := state.SchedulerConfig()

	if err != nil {
		return err
	} else if config == nil {
		return fmt.Errorf("scheduler config not initialized yet")
	}

	reply.SchedulerConfig = config
	reply.QueryMeta.Index = index
	op.srv.setQueryMeta(&reply.QueryMeta)

	return nil
}

func (op *Operator) forwardStreamingRPC(region string, method string, args any, in io.ReadWriteCloser) error {
	server, err := op.srv.findRegionServer(region)
	if err != nil {
		return err
	}

	return op.forwardStreamingRPCToServer(server, method, args, in)
}

View on GitHub (pinned to 482b49bf1a)

Solutions

  1. Retry once the cluster has initialized and applied the default scheduler config
  2. Set the scheduler configuration explicitly via the operator endpoint
  3. Check server logs/Raft health if the config never appears
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at nomad/operator_endpoint.go:504 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/93fdcc8bbaa8cba3. Report an issue: GitHub.