mirror of
https://github.com/opentofu/opentofu.git
synced 2025-02-25 18:45:20 -06:00
terraform init: add link to documentation when a checksum is missing from the lock file (#31408)
* terraform init: add suggested fix for when a checksum is missing from the lock file * improve error message * add link to the documentation * cleanup leftovers from previous attempt * fix tests * s/,/; * fix imports
This commit is contained in:
parent
83e84e5477
commit
9f0d1d0630
@ -5,6 +5,7 @@ import (
|
|||||||
"net/url"
|
"net/url"
|
||||||
|
|
||||||
svchost "github.com/hashicorp/terraform-svchost"
|
svchost "github.com/hashicorp/terraform-svchost"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/addrs"
|
"github.com/hashicorp/terraform/internal/addrs"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -210,7 +211,7 @@ func (err ErrQueryFailed) Unwrap() error {
|
|||||||
return err.Wrapped
|
return err.Wrapped
|
||||||
}
|
}
|
||||||
|
|
||||||
// ErrRequestCancelled is an error type used to indicate that an operation
|
// ErrRequestCanceled is an error type used to indicate that an operation
|
||||||
// failed due to being cancelled via the given context.Context object.
|
// failed due to being cancelled via the given context.Context object.
|
||||||
//
|
//
|
||||||
// This error type doesn't include information about what was cancelled,
|
// This error type doesn't include information about what was cancelled,
|
||||||
|
@ -16,6 +16,7 @@ import (
|
|||||||
"github.com/google/go-cmp/cmp"
|
"github.com/google/go-cmp/cmp"
|
||||||
svchost "github.com/hashicorp/terraform-svchost"
|
svchost "github.com/hashicorp/terraform-svchost"
|
||||||
"github.com/hashicorp/terraform-svchost/disco"
|
"github.com/hashicorp/terraform-svchost/disco"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/addrs"
|
"github.com/hashicorp/terraform/internal/addrs"
|
||||||
"github.com/hashicorp/terraform/internal/depsfile"
|
"github.com/hashicorp/terraform/internal/depsfile"
|
||||||
"github.com/hashicorp/terraform/internal/getproviders"
|
"github.com/hashicorp/terraform/internal/getproviders"
|
||||||
@ -1401,7 +1402,7 @@ func TestEnsureProviderVersions(t *testing.T) {
|
|||||||
beepProvider: getproviders.MustParseVersionConstraints(">= 1.0.0"),
|
beepProvider: getproviders.MustParseVersionConstraints(">= 1.0.0"),
|
||||||
},
|
},
|
||||||
WantErr: `some providers could not be installed:
|
WantErr: `some providers could not be installed:
|
||||||
- example.com/foo/beep: the local package for example.com/foo/beep 1.0.0 doesn't match any of the checksums previously recorded in the dependency lock file (this might be because the available checksums are for packages targeting different platforms)`,
|
- example.com/foo/beep: the local package for example.com/foo/beep 1.0.0 doesn't match any of the checksums previously recorded in the dependency lock file (this might be because the available checksums are for packages targeting different platforms); for more information: https://www.terraform.io/language/provider-checksum-verification`,
|
||||||
WantEvents: func(inst *Installer, dir *Dir) map[addrs.Provider][]*testInstallerEventLogItem {
|
WantEvents: func(inst *Installer, dir *Dir) map[addrs.Provider][]*testInstallerEventLogItem {
|
||||||
return map[addrs.Provider][]*testInstallerEventLogItem{
|
return map[addrs.Provider][]*testInstallerEventLogItem{
|
||||||
noProvider: {
|
noProvider: {
|
||||||
@ -1447,7 +1448,7 @@ func TestEnsureProviderVersions(t *testing.T) {
|
|||||||
Error string
|
Error string
|
||||||
}{
|
}{
|
||||||
"1.0.0",
|
"1.0.0",
|
||||||
`the local package for example.com/foo/beep 1.0.0 doesn't match any of the checksums previously recorded in the dependency lock file (this might be because the available checksums are for packages targeting different platforms)`,
|
`the local package for example.com/foo/beep 1.0.0 doesn't match any of the checksums previously recorded in the dependency lock file (this might be because the available checksums are for packages targeting different platforms); for more information: https://www.terraform.io/language/provider-checksum-verification`,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -117,7 +117,7 @@ func installFromLocalArchive(ctx context.Context, meta getproviders.PackageMeta,
|
|||||||
)
|
)
|
||||||
} else if !matches {
|
} else if !matches {
|
||||||
return authResult, fmt.Errorf(
|
return authResult, fmt.Errorf(
|
||||||
"the current package for %s %s doesn't match any of the checksums previously recorded in the dependency lock file",
|
"the current package for %s %s doesn't match any of the checksums previously recorded in the dependency lock file; for more information: https://www.terraform.io/language/provider-checksum-verification",
|
||||||
meta.Provider, meta.Version,
|
meta.Provider, meta.Version,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -199,7 +199,7 @@ func installFromLocalDir(ctx context.Context, meta getproviders.PackageMeta, tar
|
|||||||
)
|
)
|
||||||
} else if !matches {
|
} else if !matches {
|
||||||
return authResult, fmt.Errorf(
|
return authResult, fmt.Errorf(
|
||||||
"the local package for %s %s doesn't match any of the checksums previously recorded in the dependency lock file (this might be because the available checksums are for packages targeting different platforms)",
|
"the local package for %s %s doesn't match any of the checksums previously recorded in the dependency lock file (this might be because the available checksums are for packages targeting different platforms); for more information: https://www.terraform.io/language/provider-checksum-verification",
|
||||||
meta.Provider, meta.Version,
|
meta.Provider, meta.Version,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user