hashicorp/nomad · error
plugin does not support creating volumes
Error message
plugin does not support creating volumes
What it means
Fires in CSIVolume.Create: the plugin has a controller but lacks the CREATE_DELETE_VOLUME capability, so it cannot create volumes dynamically; creation is unsupported by this plugin.
Source
Thrown at nomad/csi_endpoint.go:1182
// Check if override is set and we do not have permissions
if args.PolicyOverride {
if !aclObj.AllowNsOp(vol.Namespace, acl.NamespaceCapabilitySentinelOverride) {
return structs.ErrPermissionDenied
}
}
if err = vol.Validate(); err != nil {
return err
}
plugin, err := v.pluginValidateVolume(vol)
if err != nil {
return err
}
if !plugin.ControllerRequired {
return fmt.Errorf("plugin has no controller")
}
if !plugin.HasControllerCapability(structs.CSIControllerSupportsCreateDelete) {
return fmt.Errorf("plugin does not support creating volumes")
}
// if the volume already exists, we'll update it instead
// current will be nil if it does not exist.
current, err := snap.CSIVolumeByID(nil, vol.Namespace, vol.ID)
if err != nil {
return err
}
validatedVols = append(validatedVols,
validated{vol, plugin, current})
warn, err := v.enforceEnterprisePolicy(snap, vol, current, args.GetIdentity().GetACLToken(), args.PolicyOverride)
if warn != nil {
reply.Warnings = warn.Error()
}
if err != nil {View on GitHub (pinned to 482b49bf1a)
Solutions
- Use a plugin that advertises CREATE_DELETE_VOLUME
- Pre-provision the volume in the storage system and register it statically instead
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at nomad/csi_endpoint.go:1182 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/9e300dda51de5ac6.
Report an issue: GitHub.