terraform/terraform
Paul Hinze 559f017ebb
terraform: Correct fix for destroy interp errors
The fix that landed in #6557 was unfortunately the wrong subset of the
work I had been doing locally, and users of the attached bugs are still
reporting problems with Terraform v0.6.16.

At the very last step, I attempted to scope down both the failing test
and the implementation to their bare essentials, but ended up with a
test that did not exercise the root of the problem and a subset of the
implementation that was insufficient for a full bugfix.

The key thing I removed from the test was a _referencing output_ for the
module, which is what breaks down the #6557 solution.

I've re-tested the examples in #5440 and #3268 to verify this solution
does indeed solve the problem.
2016-05-10 15:58:51 -05:00
..
test-fixtures terraform: Correct fix for destroy interp errors 2016-05-10 15:58:51 -05:00
context.go core: support native list variables in config 2016-05-10 14:49:14 -04:00
context_apply_test.go terraform: Correct fix for destroy interp errors 2016-05-10 15:58:51 -05:00
context_input_test.go core: Use native HIL maps instead of flatmaps 2016-05-10 14:49:13 -04:00
context_plan_test.go core: Do not type check unset variables 2016-04-21 23:30:34 -05:00
context_refresh_test.go state: Add support for outputs of multiple types 2016-05-10 14:40:12 -04:00
context_test.go core: Add terraform_version to state 2016-05-10 14:40:11 -04:00
context_validate_test.go terraform: upgrade resource name regexp failure to error 2016-02-23 10:32:49 -06:00
diff.go core: Fix issues with ignore_changes 2016-03-21 14:20:36 -05:00
diff_test.go core: fix diff mismatch when RequiresNew field and list both change 2016-01-19 15:38:04 -06:00
eval.go core: demote early exit log from ERROR -> DEBUG 2016-02-24 09:58:33 -06:00
eval_apply.go removed extra parentheses 2015-10-08 15:48:04 +03:00
eval_check_prevent_destroy.go update prevent_destroy error message 2015-08-13 09:57:52 -05:00
eval_context.go core: Use native HIL maps instead of flatmaps 2016-05-10 14:49:13 -04:00
eval_context_builtin.go core: Use native HIL maps instead of flatmaps 2016-05-10 14:49:13 -04:00
eval_context_builtin_test.go terraform: provider input should be scoped by path 2015-06-24 09:34:21 -07:00
eval_context_mock.go core: Use native HIL maps instead of flatmaps 2016-05-10 14:49:13 -04:00
eval_count.go terraform: catch scenario where both "foo" and "foo.0" are in state 2015-03-01 21:28:41 -08:00
eval_diff.go terraform: tweak diffs didn't match output spacing 2016-02-23 14:35:30 -06:00
eval_diff_test.go terraform: destroy node should not create 2015-02-24 22:45:47 -08:00
eval_error.go core: [refactor] store Deposed resource instances as a list 2015-03-04 12:25:59 -06:00
eval_filter.go terraform: more eval stuff 2015-02-19 12:07:54 -08:00
eval_filter_operation.go terraform: clean up EvalNodes 2015-02-19 12:08:32 -08:00
eval_if.go core: [refactor] pull Deposed out of Tainted list 2015-03-04 12:25:47 -06:00
eval_ignore_changes.go core: Fix issues with ignore_changes 2016-03-21 14:20:36 -05:00
eval_interpolate.go terraform: clean up EvalNodes 2015-02-19 12:08:32 -08:00
eval_interpolate_test.go terraform: clean up EvalNodes 2015-02-19 12:08:32 -08:00
eval_noop.go terraform: clean up EvalNodes 2015-02-19 12:08:32 -08:00
eval_output.go core: Use native HIL maps instead of flatmaps 2016-05-10 14:49:13 -04:00
eval_provider.go core: close provider/provisioner connections 2015-06-19 21:52:50 +02:00
eval_provider_test.go core: close provider/provisioner connections 2015-06-19 21:52:50 +02:00
eval_provisioner.go core: close provider/provisioner connections 2015-06-19 21:52:50 +02:00
eval_provisioner_test.go core: close provider/provisioner connections 2015-06-19 21:52:50 +02:00
eval_refresh.go Add resource ID to refresh errors 2015-07-22 14:09:39 +02:00
eval_resource.go terraform: clean up EvalNodes 2015-02-19 12:08:32 -08:00
eval_sequence.go terraform: clean up EvalNodes 2015-02-19 12:08:32 -08:00
eval_sequence_test.go terraform: Refresh, Read/Write state 2015-02-19 12:08:00 -08:00
eval_state.go Support for multiple providers of the same type 2015-04-20 14:14:34 -07:00
eval_state_test.go core: tweaks from code review 2015-03-05 10:11:14 -06:00
eval_test.go terraform: clean up EvalNodes 2015-02-19 12:08:32 -08:00
eval_validate.go terraform: upgrade resource name regexp failure to error 2016-02-23 10:32:49 -06:00
eval_variable.go core: Fix go vet issues shown by Travis 2016-05-10 16:00:28 -04:00
evaltree_provider.go Add operation walkDestroy 2015-10-03 14:16:40 -07:00
graph.go core: fix deadlock when dependable node replaced with non-dependable one 2015-08-10 15:50:36 -05:00
graph_builder.go core: Print node types in traces 2016-04-13 10:20:18 -07:00
graph_builder_test.go Bypass CreateBeforeDestroyTransformer during terraform destroy 2016-02-10 20:08:36 -08:00
graph_config_node.go terraform: fill in more flat interfaces 2015-05-01 15:28:41 -07:00
graph_config_node_module.go core: Use native HIL maps instead of flatmaps 2016-05-10 14:49:13 -04:00
graph_config_node_module_test.go core: Remove module input transformer 2016-04-13 11:15:24 -05:00
graph_config_node_output.go Add operation walkDestroy 2015-10-03 14:16:40 -07:00
graph_config_node_provider.go terraform: providers in flattened graphs should depend on the parent 2015-05-01 16:41:49 -07:00
graph_config_node_resource.go terraform: add debug logging to Noop impls 2016-05-10 15:58:46 -05:00
graph_config_node_test.go terraform: redo how flattening works 2015-05-01 15:18:40 -07:00
graph_config_node_type.go terraform: add variables as graph nodes (no eval yet) 2015-04-30 16:27:20 -07:00
graph_config_node_variable.go terraform: Correct fix for destroy interp errors 2016-05-10 15:58:51 -05:00
graph_config_node_variable_test.go terraform: set variables in the proper location 2015-05-01 16:29:19 -07:00
graph_dot.go Fix three trivial errors 'go vet' discovered. 2015-05-13 21:23:07 -04:00
graph_dot_test.go removed extra parentheses 2015-10-08 15:48:04 +03:00
graph_interface_subgraph.go terraform: subpath context setting 2015-05-01 14:19:32 -07:00
graph_test.go core: fix deadlock when dependable node replaced with non-dependable one 2015-08-10 15:50:36 -05:00
graph_walk.go terraform: subpath context setting 2015-05-01 14:19:32 -07:00
graph_walk_context.go core: Use native HIL maps instead of flatmaps 2016-05-10 14:49:13 -04:00
graph_walk_operation.go Add operation walkDestroy 2015-10-03 14:16:40 -07:00
graph_walk_test.go terraform: trying this graphwalker thing 2015-02-19 12:07:56 -08:00
graphnodeconfigtype_string.go Reflect new comment format in stringer.go 2015-11-09 11:38:51 -05:00
hook.go terraform: PostStateUpdate hook and EvalUpdateStateHook 2015-02-23 19:09:48 -08:00
hook_mock.go terraform: PostStateUpdate hook and EvalUpdateStateHook 2015-02-23 19:09:48 -08:00
hook_stop.go terraform: PostStateUpdate hook and EvalUpdateStateHook 2015-02-23 19:09:48 -08:00
hook_stop_test.go
hook_test.go
instancetype.go core: formalize resource addressing 2015-03-31 15:04:10 -05:00
instancetype_string.go Reflect new comment format in stringer.go 2015-11-09 11:38:51 -05:00
interpolate.go helper/schema: Read native maps from configuration 2016-05-10 14:49:14 -04:00
interpolate_test.go core: support native list variables in config 2016-05-10 14:49:14 -04:00
path.go terraform: module inputs are passed through to subgraphs 2015-02-19 12:08:01 -08:00
plan.go core: Add terraform_version to state 2016-05-10 14:40:11 -04:00
plan_test.go
resource.go helper/schema: FieldReaderConfig detects computed maps 2015-04-21 22:07:52 +02:00
resource_address.go terraform: Internals for `state rm` command 2016-05-10 14:14:48 -04:00
resource_address_test.go terraform: Internals for `state rm` command 2016-05-10 14:14:48 -04:00
resource_provider.go core: close provider/provisioner connections 2015-06-19 21:52:50 +02:00
resource_provider_mock.go command: fix flaky parallelism tests 2015-10-29 15:16:34 -05:00
resource_provider_mock_test.go terraform: provider mock should close itself to find bugs 2015-06-29 10:33:37 -07:00
resource_provider_test.go
resource_provisioner.go core: close provider/provisioner connections 2015-06-19 21:52:50 +02:00
resource_provisioner_mock.go
resource_provisioner_mock_test.go
resource_test.go terraform: replace config/lang usage 2016-02-03 13:24:04 -05:00
semantics.go terraform: start implementing interfaces for semantic checks 2015-02-19 12:07:52 -08:00
semantics_test.go
state.go core: Use native HIL maps instead of flatmaps 2016-05-10 14:49:13 -04:00
state_filter.go terraform: state filter wasn't comparing resource names 2016-05-10 14:49:14 -04:00
state_filter_test.go terraform: state filter wasn't comparing resource names 2016-05-10 14:49:14 -04:00
state_test.go state: Add support for outputs of multiple types 2016-05-10 14:40:12 -04:00
state_v0.go Renumber original binary state as V0 2016-05-10 14:40:12 -04:00
state_v0_test.go Renumber original binary state as V0 2016-05-10 14:40:12 -04:00
terraform_test.go core: Use native HIL maps instead of flatmaps 2016-05-10 14:49:13 -04:00
transform.go terraform: GraphVertexTransformers 2015-02-19 12:07:57 -08:00
transform_config.go Type check variables between modules (#6185) 2016-04-15 12:07:54 -07:00
transform_config_test.go terraform: add variables as graph nodes (no eval yet) 2015-04-30 16:27:20 -07:00
transform_deposed.go Add operation walkDestroy 2015-10-03 14:16:40 -07:00
transform_destroy.go terraform: orphan dependencies should be inverted 2015-06-23 20:41:02 -07:00
transform_destroy_test.go core: validate graph w/ diff during plan phase 2015-05-05 17:24:44 -05:00
transform_expand.go terraform: orphan module should flatten 2015-05-14 20:54:33 -07:00
transform_expand_test.go terraform: fix tests 2015-02-19 12:08:01 -08:00
transform_flatten.go remove various typos 2015-09-11 11:56:20 -07:00
transform_flatten_test.go terraform: add module destroy node to graph 2015-05-01 18:26:35 -07:00
transform_module.go core: Remove module input transformer 2016-04-13 11:15:24 -05:00
transform_module_test.go core: Remove module input transformer 2016-04-13 11:15:24 -05:00
transform_noop.go terraform: remove print 2015-07-20 08:57:35 -07:00
transform_noop_test.go terraform: PruneNoopTransformer 2015-07-20 08:57:34 -07:00
transform_orphan.go core: Orphan addressing / targeting 2016-01-19 17:48:44 -06:00
transform_orphan_test.go core: Orphan addressing / targeting 2016-01-19 17:48:44 -06:00
transform_output.go Add operation walkDestroy 2015-10-03 14:16:40 -07:00
transform_output_test.go state: Add support for outputs of multiple types 2016-05-10 14:40:12 -04:00
transform_provider.go core: fix provider config inheritence for deeply nested modules (#6186) 2016-04-18 16:19:43 -07:00
transform_provider_test.go Rename `graphNodeMissingProvider` to `graphNodeProvider` 2016-02-04 21:41:04 +01:00
transform_provisioner.go Cleaning up the PruneProvisionerTransformer 2016-02-04 21:32:10 +01:00
transform_provisioner_test.go Cleaning up the PruneProvisionerTransformer 2016-02-04 21:32:10 +01:00
transform_proxy.go terraform: proxy uses custom edge 2015-05-01 11:41:01 -07:00
transform_proxy_test.go terraform: GraphNodeProxy 2015-05-01 11:38:36 -07:00
transform_resource.go core: Fix issues with ignore_changes 2016-03-21 14:20:36 -05:00
transform_resource_test.go terraform: inner-count dependencies work [GH-1540] 2015-04-18 15:56:43 -07:00
transform_root.go terraform: prune resources and variables 2015-07-20 08:57:34 -07:00
transform_root_test.go terraform: validation in progress 2015-02-19 12:07:55 -08:00
transform_tainted.go Add operation walkDestroy 2015-10-03 14:16:40 -07:00
transform_tainted_test.go Support for multiple providers of the same type 2015-04-20 14:14:34 -07:00
transform_targets.go core: Orphan addressing / targeting 2016-01-19 17:48:44 -06:00
transform_targets_test.go core: targeted operations 2015-03-31 14:49:38 -05:00
transform_transitive_reduction.go terraform: add TransitiveReductionTransformer 2015-02-27 19:18:04 -08:00
transform_transitive_reduction_test.go terraform: add TransitiveReductionTransformer 2015-02-27 19:18:04 -08:00
transform_vertex.go terraform: GraphVertexTransformers 2015-02-19 12:07:57 -08:00
transform_vertex_test.go terraform: GraphVertexTransformers 2015-02-19 12:07:57 -08:00
ui_input.go
ui_input_mock.go
ui_input_prefix.go
ui_input_prefix_test.go
ui_output.go
ui_output_callback.go terraform: provisioners 2015-02-19 12:08:06 -08:00
ui_output_callback_test.go terraform: provisioners 2015-02-19 12:08:06 -08:00
ui_output_mock.go fmt 2014-10-10 14:50:35 -07:00
ui_output_mock_test.go
ui_output_provisioner.go
ui_output_provisioner_test.go
util.go Support for multiple providers of the same type 2015-04-20 14:14:34 -07:00
util_test.go terraform: Adding a semaphore implementation 2014-10-16 10:04:36 -07:00
version.go core: Add terraform_version to state 2016-05-10 14:40:11 -04:00
walkoperation_string.go Reflect new comment format in stringer.go 2015-11-09 11:38:51 -05:00