hashicorp/nomad · error

no such plugin: %q

Error message

no such plugin: %q

What it means

Fires in controllerUnpublishVolume: the state store has no CSI plugin record matching vol.PluginID, so the plugin the volume was provisioned with is gone (deregistered or never registered in this cluster) and detach cannot proceed.

Source

Thrown at nomad/csi_endpoint.go:901

	if !vol.ControllerRequired {
		claim.State = structs.CSIVolumeClaimStateReadyToFree
		return nil
	}

	// We need a new snapshot after each checkpoint
	snap, err := v.srv.fsm.State().Snapshot()
	if err != nil {
		return err
	}

	ws := memdb.NewWatchSet()

	plugin, err := snap.CSIPluginByID(ws, vol.PluginID)
	if err != nil {
		return fmt.Errorf("could not query plugin: %v", err)
	} else if plugin == nil {
		return fmt.Errorf("no such plugin: %q", vol.PluginID)
	}

	if !plugin.HasControllerCapability(structs.CSIControllerSupportsAttachDetach) {
		claim.State = structs.CSIVolumeClaimStateReadyToFree
		return nil
	}

	vol, err = snap.CSIVolumeDenormalize(ws, vol)
	if err != nil {
		return err
	}

	// we only send a controller detach if a Nomad client no longer has any
	// claim to the volume, so we need to check the status of any other claimed
	// allocations
	shouldCancel := func(alloc *structs.Allocation) bool {
		if alloc != nil && alloc.ID != claim.AllocationID &&
			alloc.NodeID == claim.NodeID && !alloc.TerminalStatus() {

View on GitHub (pinned to 482b49bf1a)

Solutions

  1. Verify the plugin ID on the volume and that the plugin is registered
  2. Re-register the CSI plugin (or its controllers) so the volume can be managed
  3. If the plugin is permanently gone, force-delete the volume after confirming no storage remains attached
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at nomad/csi_endpoint.go:901 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/2529209b8b0e4861. Report an issue: GitHub.