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
Mitchell Hashimoto
684228e371
config/lang: add math operations for ints
2015-02-26 11:32:39 -08:00
Mitchell Hashimoto
d411e2939f
command/taint: -allow-missing
2015-02-26 10:56:45 -08:00
Mitchell Hashimoto
d43c88f5f3
website: update docs for tainted
2015-02-26 10:45:39 -08:00
Mitchell Hashimoto
01aa4236c0
command/taint: support tainting resources in modules
2015-02-26 10:44:25 -08:00
Mitchell Hashimoto
fa9b655fd1
website: docs for tainted command
2015-02-26 10:37:08 -08:00
Mitchell Hashimoto
b06a88d1ab
main: add the taint command
2015-02-26 10:29:51 -08:00
Mitchell Hashimoto
4ec31ecb95
command/taint: new command
2015-02-26 10:29:23 -08:00
Jack Pearkes
8ab4d37f7c
providers/digitalocean: be more lenient for droplets 404ing on creation
2015-02-26 10:00:54 -08:00
Jack Pearkes
c180487af6
helper/resource: allow configuration of not found checks in state change
2015-02-26 09:59:42 -08:00
Mitchell Hashimoto
b3cd1bd5bc
terraform: add ResourceState.Taint
2015-02-26 09:58:56 -08:00
Mitchell Hashimoto
341be226f4
terraform: test for various taint cases
2015-02-26 09:50:18 -08:00
Jack Pearkes
74b7137cdc
providers/digitalocean: use real bools for droplet creation
...
Fixes #792
Depends on https://github.com/pearkes/digitalocean/pull/5
2015-02-26 09:37:05 -08:00
Jack Pearkes
b7459cbc64
update changelog
2015-02-26 09:21:00 -08:00
Jack Pearkes
7008880ac8
Merge pull request #1057 from hashicorp/digitalocean-droplet-destroy
...
providers/digitalocean: wait for droplet to be unlocked before destroy
2015-02-26 09:19:33 -08:00
Clint Shryock
bd2791824f
Update ingress signature
2015-02-26 11:03:56 -06:00
Clint
8c49955fff
Merge pull request #1060 from hashicorp/aws-go-db-parameter-group
...
provider/aws: Convert RDS DB Parameter group to aws-sdk-go
2015-02-26 09:49:24 -06:00
Clint Shryock
242cdc7a29
provider/aws: Convert RDS DB Parameter group to aws-sdk-go
2015-02-26 09:33:33 -06:00
Clint
c52ee17e77
Merge pull request #1053 from hashicorp/hashicorp-aws-sdk
...
provider/aws: Swap awslabs/aws-sdk-go for hashicorp fork
2015-02-26 08:36:16 -06:00
Jack Pearkes
3f217763c7
providers/digitalocean: wait for droplet to be unlocked before destroy
2015-02-25 16:54:39 -08:00
Jack Pearkes
f2e92cfeab
providers/digitalocean: increase timeout for droplet wait to 60 mins
...
fixes #325
2015-02-25 16:08:35 -08:00
Jack Pearkes
0ee4e2b46c
providers/dme: rename dnsmadeeasy package to dme
...
This package rename just makes one consistent name across the docs,
packages, and dirs.
cc/ @soniah
2015-02-25 15:54:22 -08:00
Jack Pearkes
777d270f20
update changelog
2015-02-25 14:46:40 -08:00
Jack Pearkes
44f20cad6b
dnsmadeeasy: re-organize the bins
...
cc/ @soniah
2015-02-25 14:45:11 -08:00
Jack Pearkes
dfaa428728
Merge pull request #855 from soniah/dme
...
dme - DNSMadeEasy Provider
2015-02-25 14:38:38 -08:00
Radek Simko
e378ea42b8
Prevent empty string to be used as default health_check_type
2015-02-25 21:46:56 +00:00
Clint Shryock
f3ba181861
Swap awslabs/aws-sdk-go for hashicorp fork
...
A temporary change to prevent upstream break while awslabs continues to
refactor.
2015-02-25 15:29:11 -06:00
Clint
06136bd29e
Merge pull request #1043 from hashicorp/aws-go-rds-instance
...
provider/aws: Convert AWS DB Instance to awslabs/aws-sdk-go
2015-02-25 14:13:37 -06:00
Clint Shryock
31236b8f9e
Fix zero case
2015-02-25 11:05:14 -06:00
Clint Shryock
5252623656
provider/aws: Remove sentinel value default for RDS instance; default 1 to match API
2015-02-25 10:44:10 -06:00
Clint Shryock
bb94eaa50d
provider/aws: Fix issue with AWS RDS DB instance which prevented disabling backups
2015-02-25 09:41:05 -06:00
Clint Shryock
5bbb83905e
Merge branch 'master' into aws-go-rds-instance
...
* master:
terraform: destroy node should not create
2015-02-25 09:21:28 -06:00
Rahul Menon
06b2d0bbf6
VPC Refactor
2015-02-25 17:34:27 +05:30