Hello community, here is the log from the commit of package terraform for openSUSE:Factory checked in at 2020-03-26 23:32:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/terraform (Old) and /work/SRC/openSUSE:Factory/.terraform.new.3160 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "terraform" Thu Mar 26 23:32:30 2020 rev:19 rq:788260 version:0.12.24 Changes: -------- --- /work/SRC/openSUSE:Factory/terraform/terraform.changes 2020-03-11 18:50:04.991533683 +0100 +++ /work/SRC/openSUSE:Factory/.terraform.new.3160/terraform.changes 2020-03-26 23:33:01.326769580 +0100 @@ -1,0 +2,8 @@ +Tue Mar 24 06:46:42 UTC 2020 - Petr Cervinka <p...@cervinka.net> + +- Update to 0.12.24 + BUG FIXES: + * command/login: Fix bug when using terraform login on Windows (#24397) + * registry: Fix panic when server is unreachable (#24411) + +------------------------------------------------------------------- Old: ---- terraform-0.12.23.obscpio terraform-0.12.23.tar.xz New: ---- terraform-0.12.24.obscpio terraform-0.12.24.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ terraform.spec ++++++ --- /var/tmp/diff_new_pack.OtOtCX/_old 2020-03-26 23:33:04.470770715 +0100 +++ /var/tmp/diff_new_pack.OtOtCX/_new 2020-03-26 23:33:04.482770719 +0100 @@ -17,7 +17,7 @@ Name: terraform -Version: 0.12.23 +Version: 0.12.24 Release: 0 Summary: Tool for building infrastructure safely and efficiently License: MPL-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.OtOtCX/_old 2020-03-26 23:33:04.510770729 +0100 +++ /var/tmp/diff_new_pack.OtOtCX/_new 2020-03-26 23:33:04.510770729 +0100 @@ -3,8 +3,8 @@ <param name="url">https://github.com/hashicorp/terraform.git</param> <param name="scm">git</param> <param name="filename">terraform</param> - <param name="versionformat">0.12.23</param> - <param name="revision">v0.12.23</param> + <param name="versionformat">0.12.24</param> + <param name="revision">v0.12.24</param> <param name="exclude">.git</param> </service> <service name="tar" mode="disabled"/> ++++++ terraform-0.12.23.obscpio -> terraform-0.12.24.obscpio ++++++ /work/SRC/openSUSE:Factory/terraform/terraform-0.12.23.obscpio /work/SRC/openSUSE:Factory/.terraform.new.3160/terraform-0.12.24.obscpio differ: char 49, line 1 ++++++ terraform-0.12.23.tar.xz -> terraform-0.12.24.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terraform-0.12.23/CHANGELOG.md new/terraform-0.12.24/CHANGELOG.md --- old/terraform-0.12.23/CHANGELOG.md 2020-03-05 21:56:10.000000000 +0100 +++ new/terraform-0.12.24/CHANGELOG.md 2020-03-19 16:04:05.000000000 +0100 @@ -1,4 +1,20 @@ +## 0.12.24 (March 19, 2020) + +NOTES: + +* cli: Windows executable signing. + +Our Windows 32-bit and 64-bit executables for this version and up will be signed with a HashiCorp cert. Windows users will no longer see a warning about an "unknown publisher" when running our software. + +BUG FIXES: +* command/login: Fix bug when using terraform login on Windows ([#24397](https://github.com/hashicorp/terraform/issues/24397)) +* registry: Fix panic when server is unreachable ([#24411](https://github.com/hashicorp/terraform/issues/24411)) + ## 0.12.23 (March 05, 2020) + +BUG FIXES: +* cli: Fix wrong version returned by `terraform version` + ## 0.12.22 (March 05, 2020) ENHANCEMENTS: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terraform-0.12.23/command/cliconfig/credentials.go new/terraform-0.12.24/command/cliconfig/credentials.go --- old/terraform-0.12.23/command/cliconfig/credentials.go 2020-03-05 21:56:10.000000000 +0100 +++ new/terraform-0.12.24/command/cliconfig/credentials.go 2020-03-19 16:04:05.000000000 +0100 @@ -317,23 +317,18 @@ tmpName := f.Name() moved := false defer func(f *os.File, name string) { - // Always close our file, and remove it if it's still at its - // temporary name. We're ignoring errors here because there's - // nothing we can do about them anyway. - f.Close() + // Remove the temporary file if it hasn't been moved yet. We're + // ignoring errors here because there's nothing we can do about + // them anyway. if !moved { os.Remove(name) } }(f, tmpName) - // Credentials file should be readable only by its owner. (This may - // not be effective on all platforms, but should at least work on - // Unix-like targets and should be harmless elsewhere.) - if err := f.Chmod(0600); err != nil { - return fmt.Errorf("cannot set mode for temporary file %s: %s", tmpName, err) - } - + // Write the credentials to the temporary file, then immediately close + // it, whether or not the write succeeds. _, err = f.Write(newSrc) + f.Close() if err != nil { return fmt.Errorf("cannot write to temporary file %s: %s", tmpName, err) } @@ -345,6 +340,14 @@ if err != nil { return fmt.Errorf("failed to replace %s with temporary file %s: %s", filename, tmpName, err) } + + // Credentials file should be readable only by its owner. (This may + // not be effective on all platforms, but should at least work on + // Unix-like targets and should be harmless elsewhere.) + if err := os.Chmod(filename, 0600); err != nil { + return fmt.Errorf("cannot set mode for credentials file %s: %s", filename, err) + } + moved = true } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terraform-0.12.23/registry/client.go new/terraform-0.12.24/registry/client.go --- old/terraform-0.12.23/registry/client.go 2020-03-05 21:56:10.000000000 +0100 +++ new/terraform-0.12.24/registry/client.go 2020-03-19 16:04:05.000000000 +0100 @@ -14,7 +14,7 @@ "time" "github.com/hashicorp/go-retryablehttp" - "github.com/hashicorp/terraform-svchost" + svchost "github.com/hashicorp/terraform-svchost" "github.com/hashicorp/terraform-svchost/disco" "github.com/hashicorp/terraform/helper/logging" "github.com/hashicorp/terraform/httpclient" @@ -413,15 +413,23 @@ resp.Body.Close() } + // Additional error detail: if we have a response, use the status code; + // if we have an error, use that; otherwise nothing. We will never have + // both response and error. var errMsg string - if err != nil { - errMsg = fmt.Sprintf(" %s", err) + if resp != nil { + errMsg = fmt.Sprintf(": %d", resp.StatusCode) + } else if err != nil { + errMsg = fmt.Sprintf(": %s", err) } + + // This function is always called with numTries=RetryMax+1. If we made any + // retry attempts, include that in the error message. if numTries > 1 { - return resp, fmt.Errorf("the request failed after %d attempts, please try again later: %d%s", - numTries, resp.StatusCode, errMsg) + return resp, fmt.Errorf("the request failed after %d attempts, please try again later%s", + numTries, errMsg) } - return resp, fmt.Errorf("the request failed, please try again later: %d%s", resp.StatusCode, errMsg) + return resp, fmt.Errorf("the request failed, please try again later%s", errMsg) } // configureRequestTimeout configures the registry client request timeout from diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terraform-0.12.23/registry/client_test.go new/terraform-0.12.24/registry/client_test.go --- old/terraform-0.12.23/registry/client_test.go 2020-03-05 21:56:10.000000000 +0100 +++ new/terraform-0.12.24/registry/client_test.go 2020-03-19 16:04:05.000000000 +0100 @@ -314,6 +314,61 @@ } } +func TestLookupModuleNoRetryError(t *testing.T) { + // Disable retries + discoveryRetry = 0 + defer configureDiscoveryRetry() + + server := test.RegistryRetryableErrorsServer() + defer server.Close() + + client := NewClient(test.Disco(server), nil) + + src := "example.com/test-versions/name/provider" + modsrc, err := regsrc.ParseModuleSource(src) + if err != nil { + t.Fatal(err) + } + resp, err := client.ModuleVersions(modsrc) + if err == nil { + t.Fatal("expected request to fail", err) + } + if resp != nil { + t.Fatal("unexpected response", *resp) + } + + // verify maxRetryErrorHandler handler returned the error + if !strings.Contains(err.Error(), "the request failed, please try again later") { + t.Fatal("unexpected error, got:", err) + } +} + +func TestLookupModuleNetworkError(t *testing.T) { + server := test.RegistryRetryableErrorsServer() + client := NewClient(test.Disco(server), nil) + + // Shut down the server to simulate network failure + server.Close() + + src := "example.com/test-versions/name/provider" + modsrc, err := regsrc.ParseModuleSource(src) + if err != nil { + t.Fatal(err) + } + resp, err := client.ModuleVersions(modsrc) + if err == nil { + t.Fatal("expected request to fail", err) + } + if resp != nil { + t.Fatal("unexpected response", *resp) + } + + // verify maxRetryErrorHandler handler returned the correct error + if !strings.Contains(err.Error(), "the request failed after 2 attempts, please try again later") { + t.Fatal("unexpected error, got:", err) + } +} + func TestLookupProviderVersions(t *testing.T) { server := test.Registry() defer server.Close() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terraform-0.12.23/registry/test/mock_registry.go new/terraform-0.12.24/registry/test/mock_registry.go --- old/terraform-0.12.23/registry/test/mock_registry.go 2020-03-05 21:56:10.000000000 +0100 +++ new/terraform-0.12.24/registry/test/mock_registry.go 2020-03-19 16:04:05.000000000 +0100 @@ -12,7 +12,7 @@ "strings" version "github.com/hashicorp/go-version" - "github.com/hashicorp/terraform-svchost" + svchost "github.com/hashicorp/terraform-svchost" "github.com/hashicorp/terraform-svchost/auth" "github.com/hashicorp/terraform-svchost/disco" "github.com/hashicorp/terraform/httpclient" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terraform-0.12.23/version/version.go new/terraform-0.12.24/version/version.go --- old/terraform-0.12.23/version/version.go 2020-03-05 21:56:10.000000000 +0100 +++ new/terraform-0.12.24/version/version.go 2020-03-19 16:04:05.000000000 +0100 @@ -11,7 +11,7 @@ ) // The main version number that is being run at the moment. -var Version = "0.12.23" +var Version = "0.12.24" // A pre-release marker for the version. If this is "" (empty string) // then it means that it is a final release. Otherwise, this is a pre-release diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terraform-0.12.23/website/docs/configuration-0-11/outputs.html.md new/terraform-0.12.24/website/docs/configuration-0-11/outputs.html.md --- old/terraform-0.12.23/website/docs/configuration-0-11/outputs.html.md 2020-03-05 21:56:10.000000000 +0100 +++ new/terraform-0.12.24/website/docs/configuration-0-11/outputs.html.md 2020-03-19 16:04:05.000000000 +0100 @@ -14,10 +14,7 @@ Outputs define values that will be highlighted to the user when Terraform applies, and can be queried easily using the -[output command](/docs/commands/output.html). Output usage -is covered in more detail in the -[getting started guide](/intro/getting-started/outputs.html). -This page covers configuration syntax for outputs. +[output command](/docs/commands/output.html). Terraform knows a lot about the infrastructure it manages. Most resources have attributes associated with them, and diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terraform-0.12.23/website/docs/configuration-0-11/variables.html.md new/terraform-0.12.24/website/docs/configuration-0-11/variables.html.md --- old/terraform-0.12.23/website/docs/configuration-0-11/variables.html.md 2020-03-05 21:56:10.000000000 +0100 +++ new/terraform-0.12.24/website/docs/configuration-0-11/variables.html.md 2020-03-19 16:04:05.000000000 +0100 @@ -19,9 +19,6 @@ arguments and environment variables. For [_child_ modules](./modules.html), they allow values to pass from parent to child. -Input variable usage is introduced in the Getting Started guide section -[_Input Variables_](/intro/getting-started/variables.html). - This page assumes you're familiar with the [configuration syntax](./syntax.html) already. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terraform-0.12.23/website/docs/providers/index.html.markdown new/terraform-0.12.24/website/docs/providers/index.html.markdown --- old/terraform-0.12.23/website/docs/providers/index.html.markdown 2020-03-05 21:56:10.000000000 +0100 +++ new/terraform-0.12.24/website/docs/providers/index.html.markdown 2020-03-19 16:04:05.000000000 +0100 @@ -146,6 +146,7 @@ - [UltraDNS](/docs/providers/ultradns/index.html) - [Vault](/docs/providers/vault/index.html) - [Venafi](/docs/providers/venafi/index.html) +- [VMware Cloud](/docs/providers/vmc/index.html) - [VMware NSX-T](/docs/providers/nsxt/index.html) - [VMware vCloud Director](/docs/providers/vcd/index.html) - [VMware vRA7](/docs/providers/vra7/index.html) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terraform-0.12.23/website/docs/providers/type/major-index.html.markdown new/terraform-0.12.24/website/docs/providers/type/major-index.html.markdown --- old/terraform-0.12.23/website/docs/providers/type/major-index.html.markdown 2020-03-05 21:56:10.000000000 +0100 +++ new/terraform-0.12.24/website/docs/providers/type/major-index.html.markdown 2020-03-19 16:04:05.000000000 +0100 @@ -27,6 +27,7 @@ - [Oracle Cloud Infrastructure](/docs/providers/oci/index.html) - [Oracle Cloud Platform](/docs/providers/oraclepaas/index.html) - [Oracle Public Cloud](/docs/providers/opc/index.html) +- [VMware Cloud](/docs/providers/vmc/index.html) - [VMware NSX-T](/docs/providers/nsxt/index.html) - [vCloud Director](/docs/providers/vcd/index.html) - [VMware vRA7](/docs/providers/vra7/index.html) ++++++ terraform.obsinfo ++++++ --- /var/tmp/diff_new_pack.OtOtCX/_old 2020-03-26 23:33:08.018771996 +0100 +++ /var/tmp/diff_new_pack.OtOtCX/_new 2020-03-26 23:33:08.018771996 +0100 @@ -1,5 +1,5 @@ name: terraform -version: 0.12.23 -mtime: 1583441770 -commit: 85024d3100126de36331c6982bfaac02cdab9e76 +version: 0.12.24 +mtime: 1584630245 +commit: 33ff1c03bb960b332be3af2e333462dde88b279e