Commit Graph

17276 Commits

Author SHA1 Message Date
Jake Champlin
ea40ef9596
provider/aws: Update IAM Role Policy Attachment Acctests
Leaked resources may prevent this resource from correctly passing acceptance tests. Seeding the policy names with random integer suffixes allows tests to pass regardless of resource leaks.

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSRolePolicyAttachment_basic'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/22 19:58:58 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSRolePolicyAttachment_basic -timeout 120m
=== RUN   TestAccAWSRolePolicyAttachment_basic
--- PASS: TestAccAWSRolePolicyAttachment_basic (31.98s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    31.989s
```
2017-03-22 20:02:12 -04:00
Dana Hoffman
a208c08630 provider/google: replace instance group manager urls with instance group urls in container cluster tests 2017-03-22 16:33:11 -07:00
James Bardin
c105784c60 Merge pull request #12988 from hashicorp/jbardin/travis
test changes to travis
2017-03-22 18:14:54 -04:00
James Bardin
4ef90d803b test changes to travis
Increase timeout to 60s. The consul backend tests come too close to that
and timout every time they stall a little.
2017-03-22 18:04:29 -04:00
James Bardin
df1fc8f2c3 Merge pull request #12987 from hashicorp/jbardin/s3-backend
Add named state support to the s3 backend
2017-03-22 17:50:33 -04:00
James Bardin
02aa1ea8a1 Update CHANGELOG.md 2017-03-22 17:12:28 -04:00
James Bardin
fa4dc01cf4 add named state support to the s3 backend
This adds named state (environment) support to the S3 backend.

A state NAME will prepend the configured s3 key with `env:/NAME/`.
The default state will remain rooted in the bucket for backwards
compatibility.

Locks in DynamoDB use the S3 key as the as the primary key value, so
locking will work as expected for multiple states.
2017-03-22 16:59:13 -04:00
clint shryock
61355c33c5 testing: Add option to run only a plan on a TestStep configuration 2017-03-22 15:38:21 -05:00
Clint
5671b5a6b1 Update CHANGELOG.md 2017-03-22 15:27:34 -05:00
Clint
cde1afbfd3 provider/aws: OpsWorks updates (#12979)
* provider/aws: Opsworks updates to allow minimal configuration

* update
2017-03-22 15:26:47 -05:00
Dana Hoffman
8b4dac8442 Update CHANGELOG.md 2017-03-22 13:07:10 -07:00
Dana Hoffman
ba2d3b1ece Merge pull request #12281 from mrooding/add-local-ssd-count-support
provider/google: add local ssd count support for container clusters
2017-03-22 13:06:16 -07:00
James Bardin
4980fa20e7 move s3 config from client to backend
The RemoteClient needs to be configured for the named state, so move the
general config to the backend.

Rename some fields for consistency.
2017-03-22 15:52:55 -04:00
James Bardin
ef94acbf1f Merge pull request #12966 from hashicorp/jbardin/s3-backend
convert S3 remote state to a backend
2017-03-22 12:27:26 -04:00
Jake Champlin
88162af06f Update CHANGELOG.md 2017-03-22 11:32:02 -04:00
Joshua Spence
e71d6d92ad Add a substring interpolation function (#12870)
Adds a new `substr` interpolation function which can be used to truncate a string.
2017-03-22 11:30:39 -04:00
Radek Simko
87d6935780 New users should know it's possible to save credentials outside of tf configs (#12968)
Terraform will automatically search for AWS API credentials or Instance Profile Credentials. I wish I'd known that when I first read these docs.
Saving credentials outside of tf config files is a much better plan for situations where config files end up in source control and or where multiple people collaborate. Making this information available early will allow new users to set up a much more secure and robust plan for deploying terraform at scale and in production environments.
2017-03-22 15:30:21 +00:00
Radek Simko
d0bb43e0e2 provider/aws: Lower metadata log msg from WARN to INFO (#12967) 2017-03-22 15:12:13 +00:00
James Bardin
9f5cf2b105 convert S3 remote state to a backend
Move the S3 State from a legacy remote state to an official backend.

This increases test coverage, uses a set schema for configuration, and
will allow new backend features to be implemented for the S3 state, e.g.
"environments".
2017-03-22 10:59:37 -04:00
Wax On
a77791ca4e correct attribute from "project_id" to "project" (#12902) 2017-03-22 14:37:11 +00:00
Jake Champlin
8c5fcbe7f8 Update CHANGELOG.md 2017-03-22 09:28:40 -04:00
Jake Champlin
be2af3f577 provider/aws: Increase AMI destroy timeout (#12943)
* provider/aws: Increase AMI destroy timeout

Acceptance tests were timing out on AMI destroy, should alleviate the problem.

* Further increase timeout, cleanup test

* use function instead of printf
2017-03-22 09:27:23 -04:00
James Bardin
579e15c97c Merge pull request #12942 from hashicorp/jbardin/GH-12905
merge config.Terraform fields in config.Append
2017-03-22 09:11:42 -04:00
Jake Champlin
fdc17c8d70 provider/aws: Update IAM Group+User Policy Tests (#12950)
Updates the IAM Group Policy and IAM User Policy acceptance tests with random integer seeds.
Currently acceptance tests for these two resources are failing from leaked resources, adding distint naming should allow tests to pass regardless of parallel tests being ran or any resource leaks.

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSIAMUserPolicy'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/22 00:19:13 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSIAMUserPolicy -timeout 120m
=== RUN   TestAccAWSIAMUserPolicy_basic
--- PASS: TestAccAWSIAMUserPolicy_basic (22.54s)
=== RUN   TestAccAWSIAMUserPolicy_namePrefix
--- PASS: TestAccAWSIAMUserPolicy_namePrefix (12.49s)
=== RUN   TestAccAWSIAMUserPolicy_generatedName
--- PASS: TestAccAWSIAMUserPolicy_generatedName (13.13s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    48.191s
```

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSIAMGroupPolicy'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/22 00:24:08 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSIAMGroupPolicy -timeout 120m
=== RUN   TestAccAWSIAMGroupPolicy_basic
--- PASS: TestAccAWSIAMGroupPolicy_basic (23.89s)
=== RUN   TestAccAWSIAMGroupPolicy_namePrefix
--- PASS: TestAccAWSIAMGroupPolicy_namePrefix (12.07s)
=== RUN   TestAccAWSIAMGroupPolicy_generatedName
--- PASS: TestAccAWSIAMGroupPolicy_generatedName (13.15s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    49.140s
```
2017-03-22 09:06:23 -04:00
James Bardin
eb027a4483 Merge pull request #12944 from hashicorp/jbardin/GH-12919
restructure JSON terraform config block AST
2017-03-22 09:04:27 -04:00
James Bardin
bcbcc65f7d add terraform config merge logic to config.Merge 2017-03-22 09:01:54 -04:00
James Bardin
ddb9c51481 Merge pull request #12939 from hashicorp/jbardin/GH-12921
add `-force-copy` option to init command
2017-03-22 08:48:55 -04:00
James Bardin
54e536cfe0 add -force-copy option to init command
The `-force-copy` option will suppress confirmation for copying state
data.

Modify some tests to use the option, making sure to leave coverage of
the Input code path.
2017-03-22 08:47:26 -04:00
Marc Rooding
8c9084e0d8 Kubernetes ConfigMap metadata name did not comply to the regex rules (#12955) 2017-03-22 12:27:49 +00:00
Marc Rooding
3b6e83bf18 Update documentation to include "local_ssd_count" property 2017-03-22 09:39:38 +01:00
Marc Rooding
ab699db458 Support the container cluster local ssd count property 2017-03-22 09:39:36 +01:00
Marc Rooding
f10664b501 Update google.golang.org/api/container/v1 vendor 2017-03-22 09:38:56 +01:00
Marc Rooding
7b048177dd Update google.golang.org/api/gensupport vendor 2017-03-22 09:38:17 +01:00
Paddy
8bccfda2f0 Merge pull request #12946 from hashicorp/danawillow-gke-np-docs
Add link to node pool documentation to sidebar
2017-03-21 15:38:32 -07:00
Dana Hoffman
0f02bcc56e Add link to node pool documentation to sidebar 2017-03-21 15:37:31 -07:00
Dana Hoffman
9afbb8d902 Update CHANGELOG.md 2017-03-21 15:26:00 -07:00
Dana Hoffman
596f0a28cf Merge pull request #12743 from danawillow/gke-nodeconfig
provider/google: add support for a few more fields in NodeConfig
2017-03-21 15:24:14 -07:00
Dana Hoffman
730ab70cbc Add documentation for GKE node pools (#12896) 2017-03-21 15:20:38 -07:00
James Bardin
8bcb9e19ca restructure JSON terraform config block AST
When configuration is read out of JSON, HCL assumes that empty levels of
objects can be flattened, but this removes too much to decode into a
config.Terraform struct.

Reconstruct the appropriate AST to decode the config struct.
2017-03-21 18:15:58 -04:00
James Bardin
b38e620b2f merge config.Terraform fields in config.Append
Ensure that fields set in an earlier Terraform config block aren't
removed by Append when encountering another Terraform block. When
multiple blocks contain the same field, the later one still wins.
2017-03-21 15:43:55 -04:00
Mitchell Hashimoto
7729949ef4 Merge pull request #12937 from hashicorp/b-state-v1-panic
terraform: convert empty path to root path in V1 state
2017-03-21 11:52:45 -07:00
Mitchell Hashimoto
69759e04ca
terraform: convert empty path to root path in V1 state 2017-03-21 11:37:12 -07:00
Paul Stack
8b3550d714 Update CHANGELOG.md 2017-03-21 20:27:57 +02:00
Paul Stack
2a7ab027f4 provider/aws: Only call replace Iam Instance Profile on existing (#12922)
machines

Fixes: #12898

The way aws_instance works is that we call the Create func then the
Update func then the Read func. The way the work to implement the change
to iam_instance_profile was added meant that when a machine was created
with an iam_instance_profile, it would then try and update that
iam_instance_profile because the state hadn't been updated at that point

We have changed the Update func to only check for the change to
iam_instance_profile when it *is an existing machine* - this will solve
the problem of those bringing up new machines and getting hit with the
permissions error

As requested, added a test that adds an IAM Instance Profile from
creation

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSInstance_withIamInstanceProfile'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/21 17:51:32 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSInstance_withIamInstanceProfile -timeout 120m
=== RUN   TestAccAWSInstance_withIamInstanceProfile
--- PASS: TestAccAWSInstance_withIamInstanceProfile (154.29s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	154.325s
```
2017-03-21 20:26:41 +02:00
Mitchell Hashimoto
fe0733b560 Merge pull request #12936 from hashicorp/b-state-v1
terraform: V1 to V2 upgrade should treat nil path as root path
2017-03-21 11:24:08 -07:00
Mitchell Hashimoto
e7b07e109f
terraform: V1 to V2 upgrade should treat nil path as root path
It appears there are no tests for this as far as I can find.

We change V1 states (very old) to assume a nil path is a root path.
Staet.Validate() later will catch any duplicate paths.
2017-03-21 11:12:44 -07:00
Paul Stack
e8240afcb0 Update CHANGELOG.md 2017-03-21 17:34:10 +02:00
Paul Stack
f0e7bc942b provider/aws: Prevent panic when setting AWS CodeBuild Source to state (#12915)
Fixes: #12914

this is just a simple guard clause to prevent the hash from including an
optional value by default
2017-03-21 15:33:32 +00:00
James Bardin
b7152c4405 Merge pull request #12897 from hashicorp/jbardin/ignore-changes
ignore_changes causes keys in other flatmapped objects to be lost from diff
2017-03-21 09:25:47 -04:00
James Bardin
0ae0076e3a Correctly filter flatmapped values in diff
When transforming a diff from DestroyCreate to a simple Update,
ignore_changes can cause keys from flatmapped objects to be filtered
form the diff. We need to filter each flatmapped container as a whole to
ensure that unchanged keys aren't lost in the update.
2017-03-21 09:11:54 -04:00