Commit Graph

24297 Commits

Author SHA1 Message Date
appilon
805ae28876
Merge pull request #21937 from hashicorp/appilon/fix-hashibot-label-remover
[hashibot] fix typo
2019-06-28 16:27:10 -04:00
Alex Pilon
a74738cd35
fix typo 2019-06-28 15:31:53 -04:00
James Bardin
bcbb03dc2a
Merge pull request #21935 from hashicorp/jbardin/revert-21721
Revert "Remove removed attribute from applied state"
2019-06-28 13:13:58 -04:00
James Bardin
0d2363a058 add tests to preserve existing Set nil behavior
While it may not be intuitive, providers expect that setting a `nil`
value will appear as an empty string in state.
2019-06-28 12:09:50 -04:00
James Bardin
75602df5ef Revert "Remove removed attribute from applied state"
This reverts commit 2e2a363052.
2019-06-28 11:51:52 -04:00
appilon
445df6b132
Merge pull request #21926 from hashicorp/appilon/fix-hashibot-msg
[hashibot] fix wrong variable reference in interpolated string
2019-06-27 19:09:41 -04:00
Alex Pilon
932d9d813a
fix wrong variable reference in interpolated string 2019-06-27 19:00:36 -04:00
Marcin Cuber
df18843303 website: Add partial config file example for remote backend (#21520) 2019-06-27 11:53:35 -07:00
appilon
56e6ff8e51
Merge pull request #21904 from hashicorp/appilon/fix-hashibot-config
[hashibot] fix missing cron schedule
2019-06-26 20:57:28 -04:00
Alex Pilon
0c765a21e0
missing cron schedule 2019-06-26 19:23:14 -04:00
Nick Fagerlund
f76c491468
website: CLI config: Team tokens work with CLI actions (#21883)
Team tokens never worked with the `atlas` backend, but the `remote` backend
uses them as intended; they can perform plans and applies on workspaces where
the associated team has at least plan or write permissions, respectively.
2019-06-26 10:56:30 -07:00
Paul Tyng
adabe03676
Update CHANGELOG.md 2019-06-26 11:29:41 -04:00
Paul Tyng
7ec7af80f5
Merge pull request #21863 from hashicorp/lookup-bool
Add missing bool case
2019-06-26 11:19:10 -04:00
James Bardin
8e8eb6d6d3
Merge pull request #21884 from hashicorp/jbardin/validate-null-diags
don't append nil elements to a diagnostic cty.Path
2019-06-26 09:33:04 -04:00
James Bardin
6eb40f846b
Merge pull request #21882 from hashicorp/jbardin/obj-compat-panic
actual value may be unknown in nested list
2019-06-25 18:08:09 -04:00
James Bardin
d4b0788854 don't append nil elements to a diagnostic cty.Path
If a set element is nil in validateConfigNulls, we don't want to
append that element to the diagnostic path, since it doesn't offer any
useful info to the user.
2019-06-25 18:05:51 -04:00
James Bardin
bfa5e7f811 actual value may be unknown in nested list
When checking AssertObjectCompatible, we need to allow for a possible
unkown nested list block, just as we did for a set in 0b2cc62.
2019-06-25 16:43:57 -04:00
James Bardin
0d9f84414a
Merge pull request #21879 from hashicorp/jbardin/sdk-panics
prevent sdk panics in 2 specific cases
2019-06-25 15:38:15 -04:00
James Bardin
2bd86cf8bb update CHANGELOG.md 2019-06-25 15:09:31 -04:00
James Bardin
cd3ac50ddb prevent sdk panics in 2 specific cases
Fix 2 specific panics in the sdk when reading nil or computed maps from
various configurations. The legacy sdk code is too dependent on undefined
behavior to attempt to find and fix the root cause at this point.

Since the code is essentially frozen for future development, these
changes are specifically targeted to only prevent panics from within
providers.  Because any code effected by these changes would have
panicked, there cannot be anything depending on the behavior, and these
should be safe to fix.
2019-06-25 14:24:32 -04:00
James Bardin
fe11724678 test for panic when readin empty map 2019-06-25 14:24:31 -04:00
James Bardin
f362198467
Merge pull request #21806 from hashicorp/jbardin/lost-empty-strings
prevent an empty string from being lost
2019-06-25 12:32:06 -04:00
Pam Selle
cf2fb4fe8a release: Cleanup after 0.12.3 2019-06-24 17:29:03 -03:00
tf-release-bot
2e8cb7218d
v0.12.3 2019-06-24 20:09:49 +00:00
Paul Tyng
ebea080aca Add missing bool case
Fixes #20572
2019-06-24 15:27:59 -04:00
Kristin Laemmert
8f29e2e11f
Update CHANGELOG.md 2019-06-21 14:31:55 -04:00
Kristin Laemmert
2a457115a3
configs: fix panic when the value is missing from version attribute in a provider block 2019-06-21 14:30:17 -04:00
Lindsey Smith
a0f06826ab website: Puppet provisioner docs links fixed (#21843) 2019-06-21 14:11:13 -04:00
Brian Flad
4579dee8d9
Update CHANGELOG for #21815 2019-06-20 18:21:08 -04:00
Brian Flad
5d05349fb0
Merge pull request #21815 from hashicorp/v-aws-sdk-go-v1.20.4
deps: github.com/aws/aws-sdk-go@v1.20.4
2019-06-20 18:19:49 -04:00
Martin Atkins
9997670cb1
Update CHANGELOG.md 2019-06-20 06:26:45 -07:00
Martin Atkins
2fb11271b6
Update CHANGELOG.md 2019-06-20 06:20:03 -07:00
Martin Atkins
85eda8a059 state/remote: Don't persist snapshot for unchanged state
Previously we would write to the backend for every call to PersistState,
even if nothing changed since the last write, but update the serial only
if the state had changed.

The Terraform Cloud & Enterprise state storage have a simple safety check
that any future write with an already-used lineage and serial must be
byte-for-byte identical. StatesMarshalEqual is intended to detect that,
but it only actually detects changes the state itself, and not changes
to the snapshot metadata.

Because we write the current Terraform version into the snapshot metadata
during serialization, we'd previously have an issue where if the first
state write after upgrading Terraform to a new version happened to change
nothing about the state content then we'd write a new snapshot that
differed only by Terraform version, and Terraform Cloud/Enterprise would
then reject it.

The snapshot header is discarded immediately after decoding, so we can't
use information from it when deciding whether to increment the serial.
The next best thing is to skip sending no-op snapshot updates to the state
client in the first place.

These writes are unnecessary anyway, and state storage owners have asked
us in the past to elide these to avoid generating noise in their version
logs, so we'll also finally meet those requests as a nice side-effect of
this change.

We didn't previously have tests for the full flow of retrieving and then
successively updating persisted state snapshots, so this includes a test
which covers that logic and includes an assertion that a no-op update does
not get written to the state client.
2019-06-20 06:18:40 -07:00
Martin Atkins
2124089e14 state/remote: Switch to statemgr interfaces in test
These statemgr interfaces are the new names for the older interfaces in
the "state" package. These types alias each other so it doesn't really
matter which we use, but the "state" package is deprecated and we intend
to eventually remove it, so this is a further step in that direction.
2019-06-20 06:18:40 -07:00
Lindsey Smith
dcbdd70385 website: Clarifications to Puppet provisioner docs (#21810) 2019-06-20 09:15:30 -04:00
Kristin Laemmert
0f6b46bd93
website: add puppet provisioner to the sidebar (#21821) 2019-06-20 09:02:23 -04:00
James Bardin
e281336121
Merge pull request #21814 from hashicorp/jbardin/private-and-timeout
Private data and timeouts were lost in empty plans
2019-06-20 08:59:20 -04:00
Brian Flad
d780cd0f1b
deps: github.com/aws/aws-sdk-go@v1.20.4
Relevant changes:

* backend/s3: Support for chaining assume IAM role from AWS shared configuration files
* backend/s3: Fix AWS shared configuration file credential source not assuming a role with environment and ECS credentials

References:

* https://github.com/aws/aws-sdk-go/releases/tag/v1.20.0
* https://github.com/aws/aws-sdk-go/pull/2579
* https://github.com/aws/aws-sdk-go/issues/2385

Updated via:

```console
$ go get github.com/aws/aws-sdk-go@v1.20.4
$ go mod tidy
$ go mod vendor
```
2019-06-20 00:04:44 -04:00
James Bardin
9365a2d97d private and timeout handling in grpc_provider
Load private data for read, so the resource can get it's configured
timeouts if they exist.

Ensure PlanResourceChange returns the saved private data when there is
an empty diff.

Handle the timeout decoding into Meta in the PlanResourceChange, so that
it's always there for later operations.
2019-06-19 22:48:15 -04:00
James Bardin
c4874aa5b3 add more timeout provider tests 2019-06-19 22:48:15 -04:00
James Bardin
2448d1d38b move timeout handling to grpc_provider
simpleDiff is only called from the grpc_provider, and we always need to
make sure the timeouts are encoded in the private data.
2019-06-19 22:48:15 -04:00
appilon
20550743ad
Merge pull request #21765 from hashicorp/appilon/hashibot
capture existing config in new config file/format for hashibot
2019-06-19 20:27:23 -04:00
James Bardin
4dcda04d96 prevent an empty string from being lost
The helper/schema diff process loses empty strings, causing them to show
up as unset (null) during apply. Besides failing to show as set by
GetOk, the absence of the value also triggers the schema to insert a
default value again during apply.

It would also be be preferable if the defaults weren't re-evaluated
again during ApplyResourceChange, but that would require a more invasive
patch to the field readers, and ensuring the empty string is stored in
the plan should block the default.
2019-06-19 17:42:00 -04:00
Tim Sharpe
2ab2796c93 website: Docs for the Puppet provisioner (#21792) 2019-06-19 15:30:04 -04:00
Martin Atkins
1bba574fe9 website: Document ignore_changes for individual map elements
This also includes a previously-missing test that verifies the behavior
described here, implemented as a planning context test for consistency
with how the other ignore_changes tests are handled.
2019-06-18 17:37:24 -07:00
Martin Atkins
b1e92b3769 vendor: go get github.com/hashicorp/hcl2@0b64543c968c
This includes a fix to make sure that an expression with a static string
index, like foo["bar"], will be parsed as a traversal rather than as a
dynamic index expression.
2019-06-18 17:37:24 -07:00
Jonathan Buys
96328b1ec8 website: fix terraform_remote_state example for "config" argument (#21728) 2019-06-18 16:25:36 -07:00
Pam Selle
250527d923
Merge pull request #21786 from pselle/fmt_check_test
tests: Normalize in the fmt -check test
2019-06-18 17:50:19 -04:00
john-auld
bfd9b552cc website: Correct fmt -check (#21631)
* Correct fmt -check

With `-check=false` the exit status is always zero.
With `-check=true` the exit status is zero when all files are properly formatted and non-zero otherwise.

* update fmt documentation to use short form for -diff and -check
2019-06-18 14:36:45 -07:00
Daniel Mangum
3bc14620c0 backend/remote-state: remove dead code
This remote-state adapter is no longer used, because the old remote state
mechanism was removed in Terraform v0.12.
2019-06-18 14:18:05 -07:00