Commit Graph

3035 Commits

Author SHA1 Message Date
Mitchell Hashimoto
8bf725e746 terraform: GraphNodeDependent 2015-02-19 12:07:53 -08:00
Mitchell Hashimoto
8dc4c56b2e terraform: tainted transformer 2015-02-19 12:07:53 -08:00
Mitchell Hashimoto
6d46b02fa5 terraform: test orphan-to-orphan dependencies 2015-02-19 12:07:53 -08:00
Mitchell Hashimoto
98683b44b8 terraform: move resource orphan deps out of loop 2015-02-19 12:07:53 -08:00
Mitchell Hashimoto
7025c48165 terraform: module orphan dependencies 2015-02-19 12:07:52 -08:00
Mitchell Hashimoto
922bdc92db terraform: module orphans 2015-02-19 12:07:52 -08:00
Mitchell Hashimoto
e08dc05f54 terraform: State.ModuleOrphans 2015-02-19 12:07:52 -08:00
Mitchell Hashimoto
cb4e364aca terraform: more tests 2015-02-19 12:07:52 -08:00
Mitchell Hashimoto
4f8152c28a terraform: the orphan transform uses the graph path 2015-02-19 12:07:52 -08:00
Mitchell Hashimoto
3820aea513 terraform: make adding config nodes a transformer 2015-02-19 12:07:52 -08:00
Mitchell Hashimoto
c18825800b terraform: rename graph to graph_old*.go 2015-02-19 12:07:52 -08:00
Mitchell Hashimoto
659f0db8cf terraform: Graph => GraphOld 2015-02-19 12:07:52 -08:00
Mitchell Hashimoto
6eb379fa75 terraform: start the transforms, adding orphans 2015-02-19 12:07:52 -08:00
Mitchell Hashimoto
21e4501edb terraform: start implementing interfaces for semantic checks 2015-02-19 12:07:52 -08:00
Mitchell Hashimoto
b48a0cc3b9 dag: add tarjan to dag 2015-02-19 12:07:52 -08:00
Mitchell Hashimoto
9f70cddadf terraform: error if config graph is missing dependencies 2015-02-19 12:07:51 -08:00
Mitchell Hashimoto
9d593cdece terraform: use new dag API 2015-02-19 12:07:51 -08:00
Mitchell Hashimoto
2a910585a2 dag: new Graph API 2015-02-19 12:07:51 -08:00
Mitchell Hashimoto
87f4c3aae1 dag: rename to this 2015-02-19 12:07:51 -08:00
Mitchell Hashimoto
012dcca7d5 terraform: config graph respects depends_on 2015-02-19 12:07:51 -08:00
Mitchell Hashimoto
eb1a1fa7c9 terraform: put modules into the config graph 2015-02-19 12:07:51 -08:00
Mitchell Hashimoto
0f8c0eb981 terraform: config graph has providers 2015-02-19 12:07:51 -08:00
Mitchell Hashimoto
6b00633ed1 terraform: start Graph2 to make logical config graph 2015-02-19 12:07:51 -08:00
Mitchell Hashimoto
8463c92102 up version for dev 2015-02-19 11:56:34 -08:00
Mitchell Hashimoto
0bc0c03fec helper/schema: zero value set should set function [GH-1009] 2015-02-19 11:26:02 -08:00
Mitchell Hashimoto
f4408f2e63 v0.3.7 2015-02-19 10:57:03 -08:00
Mitchell Hashimoto
e3b64f5bb5 providers/aws: style 2015-02-19 10:52:09 -08:00
Mitchell Hashimoto
cd1e70faab providers/aws: acceptance test was too strict 2015-02-19 09:54:16 -08:00
Mitchell Hashimoto
34b3e3ced6 update CHANGELOG 2015-02-19 09:46:36 -08:00
Mitchell Hashimoto
448ebd1372 Merge pull request #1005 from hashicorp/f-fix-elb-subnet-test
Revert "Merge pull request #804 from PeoplePerHour/f-aws-elb-subnet"
2015-02-19 09:46:05 -08:00
Mitchell Hashimoto
39d28a9612 Merge pull request #1003 from hashicorp/b-aws-instance-source-dest-check
providers/aws: fix aws_instance source_dest_check
2015-02-19 09:37:13 -08:00
Mitchell Hashimoto
b814ac3449 Merge pull request #1002 from hashicorp/f-better-root-block-device-test
providers/aws: enhance root_block_device acceptance test
2015-02-19 09:37:05 -08:00
Paul Hinze
86a2449569 Revert "Merge pull request #804 from PeoplePerHour/f-aws-elb-subnet"
Unfortunately, the acceptance tests here were improperly passing, and
allowing Subnet updates on ELBs is not as straightfoward as simply
removing `ForceNew`.

Subnets on ELBs need to be managed by two explicit API calls:

 * `AttachLoadBalancerToSubnets` - http://bit.ly/elbattachsubnet
 * `DetachLoadBalanceFromSubnets` - http://bit.ly/elbdetachsubnet

We'll need to circle back and use these APIs to explicitly add support.

This fixes the failure of `TestAccAWSELB_AddSubnet` by removing the
test.

This reverts commit 61e91017be, reversing
changes made to 49b3afe452.
2015-02-18 18:15:04 -06:00
Paul Hinze
3c4d1791e5 providers/aws: fix aws_instance source_dest_check
Was relying on old behavior of GetOk and therefore never properly seeing
a change from true -> false.

This fixes the acceptance test failure of
`TestAccAWSInstance_sourceDestCheck`.
2015-02-18 17:46:50 -06:00
Paul Hinze
434a9759a0 providers/aws: enhance root_block_device acceptance test
So that we have a test that will fail in case the flubbery of #1000
returns.
2015-02-18 17:28:28 -06:00
Paul Hinze
706243c587 Merge pull request #1001 from hashicorp/b-mailgun-records
providers/mailgun: fix sending/receiving records
2015-02-18 17:22:44 -06:00
Mitchell Hashimoto
eca5fe3ff3 providers/aws: fix ELB acceptance test 2015-02-18 15:18:51 -08:00
Paul Hinze
86af71ad6d providers/mailgun: fix sending/receiving records
The Mailgun provider was relying on an old behavior of
`ResourceData.Set` that would allow nested access to
maps. We now just build up our own maps like sane people.
2015-02-18 17:18:19 -06:00
Mitchell Hashimoto
3a0d88ed73 Merge pull request #1000 from hashicorp/b-root-not-being-set
providers/aws: root block device not being set properly
2015-02-18 15:15:09 -08:00
Mitchell Hashimoto
9a8cb2c526 providers/digitalocean: style 2015-02-18 15:14:50 -08:00
Mitchell Hashimoto
9b8b38cbb1 helper/schema: test that set can be nil 2015-02-18 14:59:55 -08:00
Mitchell Hashimoto
05a34d7d77 providers/aws: root block device not being set properly
The value to set must not contain invalid fields.
2015-02-18 14:45:13 -08:00
Mitchell Hashimoto
e4f0f6b15d helper/schema: more tests 2015-02-18 14:44:46 -08:00
Mitchell Hashimoto
dd00001c9a helper/schema: tests that all pass as I was trying to track down a bug 2015-02-18 14:10:12 -08:00
Mitchell Hashimoto
17680bb7ff helper/schema: some more test cases, revert some weird behavior from
dbfb95fcd5

I don't know why that behavior was in there, but it was breaking a lot
of existing Terraform states. Let's circle back on it.
2015-02-18 12:54:46 -08:00
Mitchell Hashimoto
c7e536680d Merge pull request #999 from TimeInc/clean-code
Clean code (get rid of go vet errors)
2015-02-18 12:28:12 -08:00
Paul Hinze
2b096069ac Update CHANGELOG.md 2015-02-18 13:34:41 -06:00
Paul Hinze
1aebf543c7 Merge pull request #998 from hashicorp/f-aws-instance-root-block-device
providers/aws: add root_block_device to aws_instance
2015-02-18 13:31:38 -06:00
Paul Hinze
73d20b4c58 providers/aws: add root_block_device to aws_instance
AWS provides a single `BlockDeviceMapping` to manage three different
kinds of block devices:

 (a) The root volume
 (b) Ephemeral storage
 (c) Additional EBS volumes

Each of these types has slightly different semantics [1].

(a) The root volume is defined by the AMI; it can only be customized
with `volume_size`, `volume_type`, and `delete_on_termination`.

(b) Ephemeral storage is made available based on instance type [2]. It's
attached automatically if _no_ block device mappings are specified, and
must otherwise be defined with block device mapping entries that contain
only DeviceName set to a device like "/dev/sdX" and VirtualName set to
"ephemeralN".

(c) Additional EBS volumes are controlled by mappings that omit
`virtual_name` and can specify `volume_size`, `volume_type`,
`delete_on_termination`, `snapshot_id`, and `encryption`.

After deciding to ignore root block devices to fix #859, we had users
with configurations that were attempting to manage the root block device chime
in on #913.

Terraform does not have the primitives to be able to properly handle a
single collection of resources that is partially managed and partially
computed, so our strategy here is to break out logical sub-resources for
Terraform and hide the BlockDeviceMapping inside the provider
implementation.

Now (a) is supported by the `root_block_device` sub-resource, and (b)
and (c) are still both merged together under `block_device`, though I
have yet to see ephemeral block devices working properly.

Looking into possibly separating out `ephemeral_block_device` and
`ebs_block_device` sub-resources as well, which seem like the logical
next step. We'll wait until the next big release for this, though, since
it will break backcompat.

[1] http://bit.ly/ec2bdmap
[2] http://bit.ly/instancestorebytype

Fixes #913
Refs #858
2015-02-18 13:15:11 -06:00
Radek Simko
6c8dd9e8fa Unreachable code removed 2015-02-18 18:28:09 +00:00