Commit Graph

16125 Commits

Author SHA1 Message Date
Peter McAtominey c104ce6815 provider/azurerm: check if lb sub resources exist when reading (#11553)
This fixes detection when a sub resource is deleted via the API or Portal
2017-01-31 15:55:17 +00:00
Christophe van de Kerchove 5842383c77 This should resolve #11547
This should force terraform to recreate the resource after updating it.
2017-01-31 09:33:29 -05:00
Sander van Harmelen a4687c5b36 Update CHANGELOG.md 2017-01-31 15:04:12 +01:00
Sander van Harmelen 703a4cbb28 Update CHANGELOG.md 2017-01-31 15:03:41 +01:00
Sander van Harmelen 95bedaceaa Make the hash consistent again (#11546)
The existing hash function for set items cannot generate consistent hashes when using both `Optional` and `Computed` on a schema field.

I tried to add this use case to the existing code base, but came to the conclusion this would be quite an endeavor.

That together with the fact this is the only field in all sets used in all builtin providers/resources that would be using both options at the same time, made me decide to change this single resource instead.
2017-01-31 15:00:11 +01:00
Linda Xu 2639ffcbec add Aurora create corss region read replica cluster function (#11428) 2017-01-31 13:39:24 +00:00
Raphaël Pinson f56fb80c75 Rancher: reset Id for unknown resources (#11543)
When switching from one Rancher server to another, we want Terraform
to recreate Rancher resources. This currently leads to ugly `EOF` errors.

This patch resets resource Ids when they can't be found in the Rancher API.
2017-01-31 13:04:59 +00:00
Raphaël Pinson 001ee8c1af Rancher: proper error when catalog template is unknown (#11544) 2017-01-31 13:04:24 +00:00
Robert Rudduck 512b155f64 Fix azurerm_virtual_machine_scale_sets (#11516)
* Image and vhdcontainers are mutually exclusive.

* Fix ip configuration handling and update support for load balancer backend pools.

* Fix os disk handling.

* Remove os_type from disk hash.

* Load balancer pools should not be computed.

* Add support for the overprovision property.

* Update documentation.

* Create acceptance test for scale set lb changes.

* Create acceptance test for scale set overprovisioning.
2017-01-31 12:57:11 +00:00
Rui Gonçalves c6619b3495 Fix statuscake test timeout schema (#11541) 2017-01-31 12:44:06 +00:00
Rob Coward eb6c0f8d0b provider/vcd: Updated dependencies to use ukcloud/govcloudair (#11535)
* OS-131 Updated dependencies to use ukcloud/govcloudair instead of hmrc/vmware-govcd

* OS-131 Fixed failing tests by adding package name to imports of ukcloud/govcloudair

* OS-131 Minor change to force Travis to re-build the PR
2017-01-31 11:11:06 +00:00
Jake Champlin 9de405ca31 provider/aws: Fix AWS EIP Assocaition Tests (#11533)
Fixes `aws_eip_association` acceptance tests

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSEIPAssociation_basic'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/30 18:31:28 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSEIPAssociation_basic -timeout 120m
=== RUN   TestAccAWSEIPAssociation_basic
--- PASS: TestAccAWSEIPAssociation_basic (142.33s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    142.354s
```
2017-01-31 11:04:42 +00:00
Raphaël Pinson 2914a38202 Recreate Rancher stack if it was removed (#11539) 2017-01-31 09:58:16 +00:00
Matthew 28cee57ef5 S3 Bucket Object Sever Side Encryption (#11261)
* added server_side_encryption to s3_bucket_object resource including associated acceptance test and documentation.

* got acceptance tests passing.

* made server_side_encryption a computed attribute and only set kms_key_id attribute if an S3 non-default master key is in use.

* ensured kms api is only interrogated if required.
2017-01-31 09:20:48 +00:00
James Bardin 11d601ad6d TestRefresh_badState can be re-enabled
Refactored the code to maintain the behavior.
2017-01-30 18:06:30 -05:00
James Bardin 1380bbedb2 don't print err in Fatalf when it's nil 2017-01-30 18:02:35 -05:00
James Bardin b8bd4846db fix test despite original comments
Original comments were incorrect, and the test was checking for the
absence of state
2017-01-30 17:55:49 -05:00
James Bardin 39ca4fa2f8 Ensure that backend tests check for data in state
Test should not simply check for the existence of a file for state, but
make sure that file also contains data.
2017-01-30 17:48:39 -05:00
Dana Hoffman f7e2147655 Merge pull request #11477 from gh-mlfowler/google-sql2-slave
provider/google: Fix master_instance_name to prevent slave rebuilds
2017-01-30 14:17:56 -08:00
James Bardin 7590154974 Don't create empty backups
Not really a problem, but created unnecessary files and changes existing
behavior.
2017-01-30 17:16:57 -05:00
James Bardin 1646310e68 Allow a non-existent state file
A missing state file was allowed, and treated as an empty state.
2017-01-30 17:16:57 -05:00
James Bardin 3fdcbda3aa Switch from Path to PathOut on LocalState.written
After LocalState writes to a state file, we will refresh off the new
state file rather than the original Path argument.
2017-01-30 17:16:57 -05:00
James Bardin 8f7f1917f2 Remove state file data when writing a nil state
The old behavior in this situation was to simply delete the file. Since
we now have a lock on this file we don't want to close or delete it, so
instead truncate the file at offset 0.

Fix a number of related tests
2017-01-30 17:16:57 -05:00
James Bardin eb59b5925e Fix some tests, and make rest fail with good errs
Having the state files always created for locking breaks a lot of tests.
Most can be fixed by simple checking for state within a file, but a few
still might be writing state when they shouldn't.
2017-01-30 17:16:57 -05:00
James Bardin da0c325e5c Silence state package logs during tests
Output log output when testing is verbose
2017-01-30 17:16:57 -05:00
James Bardin f20485550a Check for no state from the io.Reader
Read state would assume that having a reader meant there should be a
valid state. Check for an empty file and return ErrNoState to
differentiate a bad file from an empty one.
2017-01-30 17:16:57 -05:00
James Bardin 10f6d7f30f Add locking for s3 state
Use a DynamoDB table to coodinate state locking in S3.

We use a simple strategy here, defining a key containing the value of
the bucket/key of the state file as the lock. If the keys exists, the
locks fails.

TODO: decide if locks should automatically be expired, or require manual
intervention.
2017-01-30 17:16:57 -05:00
James Bardin 35307d5a60 Add remote state locking
In order to provide lockign for remote states, the Cache state,
remote.State need to expose Lock and Unlock methods. The actual locking
will be done by the remote.Client, which can implement the same
state.Locker methods.
2017-01-30 17:16:57 -05:00
James Bardin 6162cde6ff Add basic local state locking
Add the LockUnlock methods to LocalState and BackupState.

The implementation for LocalState will be platform specific. We will use
OS-native locking on the state files, speficially locking whichever
state file we intend to write to.
2017-01-30 17:16:57 -05:00
James Bardin cc0712edab add state.Locker interface
Changed from state.StateLocker to remove the stutter.

State implementations can provide Lock/Unlock methods to lock the state
file. Remote clients can also provide these same methods, which will be
called through remote.State.
2017-01-30 17:16:57 -05:00
Clint be9fc64967 Merge pull request #11530 from hashicorp/b-aws-test-fixes
provider/aws: Handful of Acc configuration tests
2017-01-30 16:13:24 -06:00
clint shryock 2313281eba fix db option group test 2017-01-30 15:48:52 -06:00
Jake Champlin c0c06ee876 Merge pull request #11526 from hashicorp/b-fix-rds-cluster-param-group-tests
provider/aws: Fix AWS RDS Cluster Parameter Group Tests
2017-01-30 16:36:21 -05:00
Jake Champlin 1b713e87b8
provider/aws: Fix AWS RDS Cluster Parameter Group Tests
Fixes `aws_rds_cluster_parameter_group` acceptance tests, which have been broken since aa8c2ac587

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSDBClusterParameterGroupOnly'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/30 16:20:38 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSDBClusterParameterGroupOnly -timeout 120m
=== RUN   TestAccAWSDBClusterParameterGroupOnly
--- PASS: TestAccAWSDBClusterParameterGroupOnly (15.26s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	15.282s
```

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSDBClusterParameterGroup_basic'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/30 16:22:48 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSDBClusterParameterGroup_basic -timeout 120m
=== RUN   TestAccAWSDBClusterParameterGroup_basic
--- PASS: TestAccAWSDBClusterParameterGroup_basic (29.48s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	29.510s
```
2017-01-30 16:28:24 -05:00
Jake Champlin 0ce78077f8 Merge pull request #11524 from hashicorp/b-fix-cloudwatch-log-subscription-filter-test
provider/aws: Fix cloudwatch log subscription filter test
2017-01-30 16:21:00 -05:00
clint shryock 75121fe00e clean up db subnet name collisiosn 2017-01-30 15:19:24 -06:00
clint shryock 7fcbc0495c randomize Beanstalk test name 2017-01-30 15:06:29 -06:00
Jake Champlin c9dd87d03a
provider/aws: Fix cloudwatch log subscription filter test
Fixes `aws_cloudwatch_log_subscription_filter` acceptance tests that had been failing since mid December

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSCloudwatchLogSubscriptionFilter_basic'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/30 16:00:05 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSCloudwatchLogSubscriptionFilter_basic -timeout 120m
=== RUN   TestAccAWSCloudwatchLogSubscriptionFilter_basic
--- PASS: TestAccAWSCloudwatchLogSubscriptionFilter_basic (26.34s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	26.364s
```
2017-01-30 16:03:55 -05:00
Mitchell Hashimoto ecae826f82 Update CHANGELOG.md 2017-01-30 12:54:22 -08:00
Mitchell Hashimoto 61881d2795 Merge pull request #10934 from hashicorp/f-provisioner-stop
core: stoppable provisioners, helper/schema for provisioners
2017-01-30 12:53:15 -08:00
Jake Champlin 3c0fdc4764 Merge pull request #11522 from hashicorp/b-fix-asg-schedule-acctests
provider/aws: Fix acceptance tests for autoscaling schedule
2017-01-30 15:47:34 -05:00
Jake Champlin feafe3c0b5
provider/aws: Fix acceptance tests for autoscaling schedule
Fixes acceptance tests for `aws_autoscaling_schedule` resource

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSAutoscalingSchedule_basic'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/30 14:40:34 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSAutoscalingSchedule_basic -timeout 120m
=== RUN   TestAccAWSAutoscalingSchedule_basic
--- PASS: TestAccAWSAutoscalingSchedule_basic (170.38s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	170.406s
```

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSAutoscalingSchedule_disappears'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/30 15:00:49 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSAutoscalingSchedule_disappears -timeout 120m
=== RUN   TestAccAWSAutoscalingSchedule_disappears
--- PASS: TestAccAWSAutoscalingSchedule_disappears (179.23s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	179.253s
```
2017-01-30 15:07:10 -05:00
Mitchell Hashimoto 3776d31d69
provisioners/local-exec: remove data race by setting err only once 2017-01-30 10:21:05 -08:00
Ryon 870b85765b Add Google Tag Manager #GTM-NR2SD7C (#11476) 2017-01-30 17:31:28 +00:00
John Engelman 0152a79b90 Closes #11053. Use environment specific client for accessing resources. (#11503)
When using access control, the Rancher global API may return 404 for
resources that exist and are accessible via the environment API.
2017-01-30 17:08:21 +00:00
Mitchell Hashimoto 3e771a674c
terraform: acquire stopCh outside goroutine to ensure in lock 2017-01-30 08:49:07 -08:00
Mitchell Hashimoto 9b17d57332 Update CHANGELOG.md 2017-01-30 08:45:43 -08:00
Mitchell Hashimoto 195d34424e Merge pull request #11482 from hashicorp/f-computed-count
core: allow non-computed data source values in "count"
2017-01-30 08:44:27 -08:00
Mitchell Hashimoto 17cb8d8d8d Merge pull request #11510 from hashicorp/b-plan-config
backend/local: validate module exists for plan
2017-01-30 08:44:06 -08:00
Mitchell Hashimoto 00232f0994
terraform: acquireRun during test to avoid special case logic 2017-01-30 08:41:38 -08:00