hashicorp/nomad · error

Dispatch did not provide required meta keys: %v

Error message

Dispatch did not provide required meta keys: %v

What it means

Fires in validateDispatchRequest when the dispatch payload meta is missing one or more keys listed in the parameterized job's MetaRequired; the listed keys must all be provided with nomad job dispatch -meta.

Source

Thrown at nomad/job_endpoint.go:2190

		}

		return fmt.Errorf("Dispatch request included unpermitted metadata keys: %v", flat)
	}

	missing := make(map[string]struct{})
	for _, k := range job.ParameterizedJob.MetaRequired {
		if _, ok := req.Meta[k]; !ok {
			missing[k] = struct{}{}
		}
	}

	if len(missing) != 0 {
		flat := make([]string, 0, len(missing))
		for k := range missing {
			flat = append(flat, k)
		}

		return fmt.Errorf("Dispatch did not provide required meta keys: %v", flat)
	}

	// Confirm that Priority is appropriately set on the JobDispatchRequest
	if req.Priority < structs.JobMinPriority || req.Priority > config.JobMaxPriority {
		return fmt.Errorf("dispatch job priority must be between [%d, %d]", structs.JobMinPriority, config.JobMaxPriority)
	}

	return nil
}

// ScaleStatus retrieves the scaling status for a job
func (j *Job) ScaleStatus(args *structs.JobScaleStatusRequest,
	reply *structs.JobScaleStatusResponse) error {

	authErr := j.srv.Authenticate(j.ctx, args)
	if done, err := j.srv.forward("Job.ScaleStatus", args, args, reply); done {
		return err
	}

View on GitHub (pinned to 482b49bf1a)

Solutions

  1. Pass the missing meta keys: nomad job dispatch -meta <key>=<value> ...
  2. Review the parameterized job's meta_required list
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at nomad/job_endpoint.go:2190 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/5025a6b81b22215c. Report an issue: GitHub.