Commit Graph

17813 Commits

Author SHA1 Message Date
Dana Hoffman b18fb29910 Merge pull request #12991 from danawillow/igm-urls
provider/google: replace instance group manager urls with instance group urls in container cluster tests
2017-03-22 17:46:45 -07:00
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