Commit Graph

3554 Commits

Author SHA1 Message Date
Mitchell Hashimoto 80c129a961 terraform: style, multiline a long line 2015-03-02 08:41:09 -08:00
Mitchell Hashimoto 9e05badb09 update CHANGELOG 2015-03-02 08:34:45 -08:00
Mitchell Hashimoto 4894080d87 Merge pull request #1086 from hashicorp/b-pph
terraform: catch scenario where both "foo" and "foo.0" are in state
2015-03-02 08:34:05 -08:00
Mitchell Hashimoto 58cc129caa Merge pull request #1081 from hashicorp/f-trans-reduct
Perform Transitive Reduction on Graph
2015-03-02 08:33:03 -08:00
Clint Shryock 2b3bcd5c27 add simple test for expandInstanceString 2015-03-02 10:00:45 -06:00
Clint Shryock da55f9bf85 provider/aws: Convert AWS ELB to aws-sdk-go 2015-03-02 09:44:06 -06:00
Paul Hinze cd47f00b91 Merge pull request #1089 from TimeInc/fix-broken-token
Bugfix: Save token that came from goamz + use it in go-sdk-aws
2015-03-02 09:29:13 -06:00
Radek Simko 503ffbd3be Save token that came from goamz + use it in go-sdk-aws 2015-03-02 11:16:06 +00:00
Rahul Menon 89d01b49ab Refactor with Acceptance Tests 2015-03-02 14:21:13 +05:30
Mitchell Hashimoto 11d073f7d4 terraform: test the increase from one case 2015-03-01 21:39:48 -08:00
Mitchell Hashimoto 2389251c38 terraform: catch scenario where both "foo" and "foo.0" are in state 2015-03-01 21:28:41 -08:00
Mitchell Hashimoto a0b9dc32c8 update CHANGELOG 2015-02-27 22:55:37 -08:00
Mitchell Hashimoto f4de5732b4 Merge pull request #1082 from hashicorp/b-computed-set-substring
config: if any interpolated var is computed, the entire interpolation is computed
2015-02-27 22:54:40 -08:00
Mitchell Hashimoto 5e25dc54a7 config: if any var is computed, the entire interpolation is computed 2015-02-27 22:47:43 -08:00
Mitchell Hashimoto 2feaebdca5 config: substring containing computed value replaces element 2015-02-27 21:51:14 -08:00
Mitchell Hashimoto 865de51816 dag: do a DFS for each vertex 2015-02-27 19:37:59 -08:00
Mitchell Hashimoto 9eb7ebbddd terraform: do the transitive reduction as part of the graph builder 2015-02-27 19:23:20 -08:00
Mitchell Hashimoto 903e49162d terraform: add TransitiveReductionTransformer 2015-02-27 19:18:04 -08:00
Mitchell Hashimoto ed2075e384 dag: TransitiveReduction 2015-02-27 19:12:19 -08:00
Alex Ianchici 916c64b166 adding storage_encrypted as an optional boolean parameter to support encryption at rest in AWS 2015-02-27 14:29:24 -08:00
Mitchell Hashimoto abd68c2c87 update cHANGELOG 2015-02-27 13:45:59 -08:00
Mitchell Hashimoto d01c764966 Merge pull request #1068 from hashicorp/f-lang-math
Add math support to embedded interpolation language
2015-02-27 13:44:57 -08:00
Jack Pearkes f680e9a0f8 Update CHANGELOG.md 2015-02-27 09:38:44 -08:00
Jack Pearkes 6f27f90ae1 providers/aws: increase db instance wait times 2015-02-27 09:38:07 -08:00
Jack Pearkes 053a7c0a8b Merge pull request #1052 from TimeInc/hct-bugfix
Bug: Prevent empty string to be used as default health_check_type
2015-02-27 09:33:46 -08:00
Clint 1f7e71b7f6 Merge pull request #1075 from hashicorp/aws-go-remove-goamz-rds
provider/aws: Remove goamz/rds, only use aws-sdk-go for RDS
2015-02-27 10:57:58 -06:00
Clint 0adb052c11 provider/aws: Remove goamz/rds
consolidates the conversion of AWS RDS to aws-sdk-go
2015-02-27 10:54:37 -06:00
Clint a222eb183b Merge pull request #1067 from hashicorp/aws-go-db-subnet
provider/aws: convert aws rds subnet to aws-sdk-go
2015-02-27 10:50:21 -06:00
Clint Shryock b5590c6247 provider/aws: convert aws rds subnet to aws-sdk-go 2015-02-27 09:56:38 -06:00
Clint c44d0e6301 Merge pull request #1064 from hashicorp/aws-go-db-security-group
provider/aws: Convert AWS DB Security Group to aws-sdk-go
2015-02-27 08:49:48 -06:00
Pablo Lalloni ac58a450ba Add DigitalOcean SSH Key resource 2015-02-27 08:40:11 -03:00
Mitchell Hashimoto c287cc6d65 update cHANGELOG 2015-02-26 23:56:12 -08:00
Mitchell Hashimoto ac6efa5e57 Merge pull request #1065 from hashicorp/f-taint
Add "taint" command
2015-02-26 23:55:20 -08:00
Mitchell Hashimoto 06d1a242d2 Merge pull request #1069 from hashicorp/b-tainted-double-destroy
core: band-aid fix for tainted double destroy
2015-02-26 23:50:56 -08:00
Paul Hinze c03e44106f core: band-aid fix for tainted double destroy
After a lot of fun debugging with @mitchellh we finally have a diagnosis
for #1056.

I'm going to attempt to reproduce the diagnosis in prose to test out my
understanding.

----

The `DestroyTransformer` runs twice:

 * `DestroyPrimary` mode creates destroy nodes for normal resources
 * `DestroyTainted` mode creates destroy nodes for tainted resources

These destroy nodes are specializations of `GraphConfigNode`, which has
a `DynamicExpand` step.

In `DynamicExpand` we have a race condition between the normal destroy
node and the tainted destroy node for a given resource when
`CreateBeforeDestroy` is off.

The `DestroyTainted` `GraphConfigNode` must run the `TaintedTransform`
to draw out tainted nodes, since it is reponsible for destroying them
for replacement.

The `DestroyPrimary` `GraphConfigNode` _also_ runs `TaintedTransform` -
this is to catch `Deposed` nodes from CBD, which are piggy backing on
the end of the `Tainted` list.

Here's the bug: when CBD is off and you start an apply with a tainted
resource in your state, both `DestroyPrimary` and `DestroyTainted` catch
it and create their own `graphNodeTaintedResource` in their respective
subgraphs.

If parallelism is disabled, this doesn't happen because the
`DestroyPrimary` subgraph resolves completely before the
`DestroyTainted` node does its `DynamicExpand`, so the `Tainted` list
has been cleared by the time `DestroyTainted` is expanding. With
parallelism, each of these two subgraphs plays out in its own goroutine
simultaneously, and each picks up the tainted resource(s) that the apply
starts with.  So you get two `graphNodeTaintedResource` nodes, and two
destroys.

This band-aid fixes that by skipping the TaintedTransform alltogether in
the `DestroyPrimary` node if CBD is off.

A better fix will follow, which involves reworking the `Deposed` concept
so it no longer piggybacks on `Tainted`.

fixes #1056
2015-02-26 22:32:50 -06:00
Mitchell Hashimoto 5848cba6ad config/lang: add modulo 2015-02-26 15:17:37 -08:00
Jack Pearkes 14066c7629 update changelog 2015-02-26 14:56:27 -08:00
Jack Pearkes 5c74a63f3d Merge pull request #1062 from hashicorp/configure-wait-checks
providers/digitalocean: Configure wait checks
2015-02-26 14:55:24 -08:00
Mitchell Hashimoto 3c4a036fb5 config/lang: add (expr) for order of ops 2015-02-26 14:39:04 -08:00
Mitchell Hashimoto 6750318bb5 config/lang: add test with expressions 2015-02-26 14:34:45 -08:00
Mitchell Hashimoto 9ddcaf15eb config/lang: fix shift/reduce conflict 2015-02-26 14:33:56 -08:00
Mitchell Hashimoto 6f9a358cc4 command/taint: fix comment 2015-02-26 14:30:02 -08:00
Mitchell Hashimoto 07b78fdf84 config/lang: math operations 2015-02-26 14:26:14 -08:00
Jack Pearkes c21c766c3e website: route53 subdomain hosted zones example 2015-02-26 14:20:30 -08:00
Clint e95ebaf6ce Merge pull request #1066 from hashicorp/aws-go-db-param-group-test
provider/aws: convert db param group test to use aws-sdk-go
2015-02-26 16:00:59 -06:00
Clint Shryock 659ddd6fa1 provider/aws: convert db param group test to use aws-sdk-go 2015-02-26 15:54:03 -06:00
Clint Shryock f453d1863a remove helper functions, flatten status in the function 2015-02-26 15:47:30 -06:00
Clint Shryock 561e92e65d provider/aws: Convert db security group test 2015-02-26 15:36:38 -06:00
Jack Pearkes 03cd4ec604 Merge pull request #1061 from hashicorp/digitalocean-droplet-bools
providers/digitalocean: use real bools for droplet creation
2015-02-26 13:28:16 -08:00
Clint Shryock ac8da7a988 provider/aws: Convert AWS DB Security Group to aws-sdk-go
Part 1: converting the test next
2015-02-26 15:08:39 -06:00