Commit Graph

18511 Commits

Author SHA1 Message Date
Mitchell Hashimoto
a89dcfd1b1 terraform: re-enable shadow tests 2016-10-19 15:09:01 -07:00
Mitchell Hashimoto
51e90cd641 terraform: move references for disable provider transform to old 2016-10-19 15:07:00 -07:00
Mitchell Hashimoto
fa25a3051b terraform: orphan resources in old graph need unique ID 2016-10-19 15:05:38 -07:00
Mitchell Hashimoto
d27c8fbbbc terraform: compared states from shadow graph must be pruned 2016-10-19 15:01:54 -07:00
Mitchell Hashimoto
e4ef1fe553 terraform: disable providers in new apply graph
This adds the proper logic for "disabling" providers to the new apply
graph: interolating and storing the config for inheritance but not
actually initializing and configuring the provider.

This is important since parent modules will often contain incomplete
provider configurations for the purpose of inheritance that would error
if they were actually attempted to be configured (since they're
incomplete). If the provider is not used, it should be "disabled".
2016-10-19 14:54:00 -07:00
Mitchell Hashimoto
13b9007474 terraform: logic for shadowing the original graph
This introduces failing tests. How many is unknown since shadow graph
errors cause a panic.
2016-10-19 14:17:12 -07:00
Mitchell Hashimoto
7d36e991da terraform: resource address internal can parse data resource addrs 2016-10-19 14:12:30 -07:00
Mitchell Hashimoto
5d598ad217 terraform: if components is closed, initialize closed components
This was happening if the shadow initializes a provider that is never
used by the real side. We need to make sure it starts closed.
2016-10-19 14:10:46 -07:00
Mitchell Hashimoto
d87bdc2d2b terraform: update destroy resource with proper unique-ifier for shadow
This adds a proper unique extra field so that the shadow graph can
properly compare values.
2016-10-19 13:51:11 -07:00
Mitchell Hashimoto
c9c1912b34 terraform: missing fields from ApplyGraphBuilder after master rebase 2016-10-19 13:46:32 -07:00
Mitchell Hashimoto
e59efa024b terraform: fix merge issues with master 2016-10-19 13:41:30 -07:00
Mitchell Hashimoto
5cd6898109 config: fix a conflicting test name
A public API TestNewRawConfig was added to easily create a raw config
for testing, but this conflicted with the test. Just rename it.
2016-10-19 13:39:28 -07:00
Mitchell Hashimoto
e8516f259d command/apply: Xnew-apply 2016-10-19 13:39:28 -07:00
Mitchell Hashimoto
ec15783f24 -Xnew-apply to enable the new apply graph 2016-10-19 13:39:28 -07:00
Mitchell Hashimoto
eb9ecea863 terraform: don't set Provider on destroy nodes
This doesn't explicitly set `rs.Provider` on destroy nodes.

To be honest, I'm not sure why this was done in the first place (git
blame points to 6fda7bb5483a155b8ae1e1e4e4b7b7c4073bc1d9). Tests always
passed without it, and by adding it it causes other tests to fail. I
should've never changed those other tests.

Removing it now to get tests passing, this also reverts the test changes
made in 8213824962f085279810f04b60b95d1176a3a3f2.
2016-10-19 13:39:13 -07:00
Mitchell Hashimoto
7c2c9b82a3 terraform: interpolation for multi-var checks both ".0" and "" suffix 2016-10-19 13:39:13 -07:00
Mitchell Hashimoto
9ac4ee4b52 terraform: transform module variables does parent first 2016-10-19 13:38:53 -07:00
Mitchell Hashimoto
924f7a49e0 terraform: module variable transform must do children later (tested) 2016-10-19 13:38:53 -07:00
Mitchell Hashimoto
c1664d2eaa terraform: cbd works! 2016-10-19 13:38:53 -07:00
Mitchell Hashimoto
23665790f3 terraform: destroy resource should have no references 2016-10-19 13:38:53 -07:00
Mitchell Hashimoto
aaee4df363 terraform: working on enabling CBD, some cycles 2016-10-19 13:38:53 -07:00
Mitchell Hashimoto
4aa84a2071 terraform: CBD makes the proper edge connections for dependent resources 2016-10-19 13:38:53 -07:00
Mitchell Hashimoto
3d4937b784 terraform: FlatConfigTransformer 2016-10-19 13:38:53 -07:00
Mitchell Hashimoto
6622ca001d terraform: abstract resource nodes 2016-10-19 13:38:53 -07:00
Mitchell Hashimoto
046faf247a terraform: cleanup and failing test for CBD 2016-10-19 13:38:53 -07:00
Mitchell Hashimoto
6e632ec2ba dag: test for EdgesFrom, EdgesTo 2016-10-19 13:38:53 -07:00
Mitchell Hashimoto
4e8e6cd661 dag: add EdgesFrom, EdgesTo, needs tests 2016-10-19 13:38:53 -07:00
Mitchell Hashimoto
b9b23e8483 terraform: improved logging 2016-10-19 13:38:53 -07:00
Mitchell Hashimoto
7baf64f806 terraform: starting CBD, destroy edge for the destroy relationship 2016-10-19 13:38:52 -07:00
Mitchell Hashimoto
4988378ccb terraform: remove diff transformer test that no longer happens 2016-10-19 13:38:52 -07:00
Mitchell Hashimoto
311d27108e terraform: Enable DestroyEdgeTransformer 2016-10-19 13:38:52 -07:00
Mitchell Hashimoto
08dade5475 terraform: more destroy edge tests 2016-10-19 13:38:52 -07:00
Mitchell Hashimoto
7b2bd93094 terraform: test the destroy edge transform 2016-10-19 13:38:52 -07:00
Mitchell Hashimoto
bd5d97f9f5 terraform: transform to attach resource configs 2016-10-19 13:38:52 -07:00
Mitchell Hashimoto
ceb5c53d56 terraform: destroy nodes should call post state update hook 2016-10-19 13:38:52 -07:00
Mitchell Hashimoto
56b4521d8f terraform: provider depends on config references 2016-10-19 13:38:52 -07:00
Mitchell Hashimoto
ebc7d209a7 terraform: new graph fixes ".0" and "" boundaries on counts 2016-10-19 13:38:52 -07:00
Mitchell Hashimoto
2e8cb94a5e terraform: orphan outputs are deleted from the state 2016-10-19 13:38:52 -07:00
Mitchell Hashimoto
38b9f7794d terraform: reference transformer shouldn't make loop to self 2016-10-19 13:38:52 -07:00
Mitchell Hashimoto
5018617049 terraform: change node name so that it shows up properly 2016-10-19 13:38:52 -07:00
Mitchell Hashimoto
cd04ccfa62 terraform: update a test to be easier to target 2016-10-19 13:38:51 -07:00
Mitchell Hashimoto
80ef7f1acf terraform: properly compare bad diffs 2016-10-19 13:38:51 -07:00
Mitchell Hashimoto
9e8cd48cda terraform: add destroy nodes, destroys kind of work 2016-10-19 13:38:51 -07:00
Mitchell Hashimoto
2e8a419fd8 terraform: starting work on destroy 2016-10-19 13:38:51 -07:00
Mitchell Hashimoto
dfa02e4412 terraform: rename attach config to only attach provider config 2016-10-19 13:38:51 -07:00
Mitchell Hashimoto
0e666aa575 terraform: get tests to not panic on failures 2016-10-19 13:38:51 -07:00
Mitchell Hashimoto
0463ad74a8 terraform: RootVariableTransform 2016-10-19 13:38:51 -07:00
Mitchell Hashimoto
993c29f34a terraform: move ModuleVariableTransformer to its own file 2016-10-19 13:38:51 -07:00
Mitchell Hashimoto
0d815872e1 terraform: tests for module variable node 2016-10-19 13:38:51 -07:00
Mitchell Hashimoto
3fb83f013e terraform: depend on parent items 2016-10-19 13:38:51 -07:00