hashicorp/packer · error
The version associated to the fingerprint %v is complete. If
Error message
The version associated to the fingerprint %v is complete. If you wish to add a new build to this bucket a new version must be created by changing the fingerprint.
What it means
HCP Packer versions become complete once all their builds have finished. If initializeVersion finds the version for the current fingerprint is already complete, there is nothing left to register, so Packer aborts with this message telling the user to change the fingerprint to start a new version. The fingerprint is derived from the template's build configuration, so an unchanged template always maps to the same version.
Source
Thrown at internal/hcp/registry/types.bucket.go:507
*version.TemplateType != hcpPackerModels.HashicorpCloudPacker20230101TemplateTypeTEMPLATETYPEUNSET &&
*version.TemplateType != templateType {
return fmt.Errorf(
"This version was initially created with a %[2]s template. "+
"Changing from %[2]s to %[1]s is not supported",
templateType, *version.TemplateType,
)
}
log.Println(
"[TRACE] a valid version was retrieved with the id", version.ID,
)
bucket.Version.ID = version.ID
// If the version is completed and there are no new builds to add, Packer
// should exit and inform the user that artifacts already exists for the
// fingerprint associated with the version.
if bucket.client.IsVersionComplete(version) {
return fmt.Errorf(
"The version associated to the fingerprint %v is complete. If you wish to add a new build to "+
"this bucket a new version must be created by changing the fingerprint.",
bucket.Version.Fingerprint,
)
}
return nil
}
// populateVersion populates the version with the details needed for tracking builds for a Packer run.
// If a version exists for the said fingerprint, calling initialize on version that doesn't yet exist will call
// createVersion to create the entry on the HCP packer registry for the given bucket.
// All build details will be created (if they don't exist) and added to b.Version.builds for tracking during runtime.
func (bucket *Bucket) populateVersion(ctx context.Context) error {
// list all this version's builds so we can figure out which ones
// we want to run against. TODO: pagination?
existingBuilds, err := bucket.client.ListBuilds(ctx, bucket.Name, bucket.Version.Fingerprint)
if err != nil {View on GitHub (pinned to eb36e3c3e4)
Solutions
- Change something in the builds (source image, provisioner content, variables used in builds) so a new fingerprint/version is generated
- Explicitly set a new version identifier input if your template uses one, then re-run
- If the version is in an undesired complete state, delete the version in HCP Packer and re-run
Defensive patterns
Strategy: validation
Validate before calling
// Pre-check version completeness before invoking a build
// v, _ := client.GetVersion(ctx, bucketName, fingerprint)
// if v != nil && client.IsVersionComplete(v) {
// // skip the run or change inputs that affect the fingerprint
// } Try / catch
// Go
if err := bucket.Initialize(ctx); err != nil {
if strings.Contains(err.Error(), "is complete") {
// expected idempotent no-op: all builds for this fingerprint already done
return nil // or trigger a new version by changing the fingerprint
}
return err
} Prevention
- Treat this error as expected behavior when re-running unchanged templates
- Bake a changing input (e.g. timestamp, source image ID) into builds to force new fingerprints in CI
- Use a version-increment scheme (variables) for repeatable builds
- Check the HCP portal for the fingerprint's version state before re-running
When it happens
Trigger: bucket.Initialize() is called and bucket.client.IsVersionComplete(version) returns true — i.e. re-running packer build with an unchanged template after all builds in that fingerprint's version already completed and published artifacts.
Common situations: Re-running a successful packer build without changing anything; CI re-triggering a job on the same commit after artifacts were already pushed; iterating on post-processing while build definitions (and thus the fingerprint) stayed identical.
Related errors
- Failed to generate a fingerprint: %s
- error retrieving version from HCP Packer Registry: %s
- error retrieving channel from HCP Packer Registry: %s
- there is no version associated with the channel %s
- the version %s is revoked and can not be used on Packer buil
AI-assisted analysis of hashicorp/packer@eb36e3c3e4 (2026-09-05).
Data as JSON: /api/errors/90c14b975d4c6ef4.
Report an issue: GitHub.