Commit Graph

589 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
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
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
659a77c6ae helper/schema: validate subresources more effectively 2015-02-18 09:41:55 -08:00
Mitchell Hashimoto
c2f3f0594d terraform: sort dependencies of resource state [GH-928] 2015-02-17 11:47:53 -08:00
Emil Hessman
6d9c4ea78f terraform: fix ContextPlan test failure on Windows
The attributes in the diff are %#v-formatted. This means that all `\`
characters in the Windows paths are escaped with a `\`. We need to
escape the `\` characters in cwd, module, and root before doing any
comparison work.

Fixes the following test failure on Windows:

--- FAIL: TestContextPlan_pathVar (0.00s)
        context_test.go:3833: bad:
                DIFF:

                CREATE: aws_instance.foo
                  cwd:    "" => "C:\\Users\\ceh\\src\\github.com\\hashicorp\\terraform\\terraform/barpath"
                  module: "" => "C:\\Users\\ceh\\src\\github.com\\hashicorp\\terraform\\terraform\\test-fixtures\\plan-path-var/foopath"
                  root:   "" => "C:\\Users\\ceh\\src\\github.com\\hashicorp\\terraform\\terraform\\test-fixtures\\plan-path-var/barpath"
                  type:   "" => "aws_instance"

                STATE:

                <no state>

                expected:

                DIFF:

                CREATE: aws_instance.foo
                  cwd:    "" => "C:\Users\ceh\src\github.com\hashicorp\terraform\terraform/barpath"
                  module: "" => "C:\Users\ceh\src\github.com\hashicorp\terraform\terraform\test-fixtures\plan-path-var/foopath"
                  root:   "" => "C:\Users\ceh\src\github.com\hashicorp\terraform\terraform\test-fixtures\plan-path-var/barpath"
                  type:   "" => "aws_instance"

                STATE:

                <no state>
FAIL
exit status 1
FAIL    github.com/hashicorp/terraform/terraform        0.050s
2015-02-04 18:26:42 +01:00
Mitchell Hashimoto
dc036a0dd0 terraform: fix bug with crash with no providers [GH-786] 2015-01-16 09:56:51 -08:00
Mitchell Hashimoto
2abeb2d9ac config: use new API 2015-01-14 22:03:15 -08:00
Mitchell Hashimoto
d3c0543bf3 Merge pull request #797 from hashicorp/f-stronger-types
Force variables to be typed (internally)
2015-01-14 15:30:38 -08:00
Mitchell Hashimoto
8ae14f06b3 config: variables must be typed 2015-01-14 10:40:43 -08:00
Emil Hessman
071d872dc2 terraform: acceptance test for validation error
Add an acceptance test where terraform plan should error due
to validation errors.
2015-01-13 06:59:12 +01:00
Mitchell Hashimoto
1429ac6a7f terraform: return unknown variable value if nil 2014-12-16 18:43:18 -08:00
Mitchell Hashimoto
71918efd96 terraform: Add more tests for cases we felt weren't well covered 2014-12-16 15:59:26 -08:00
Sander van Harmelen
8347569396 Adding a test for the change in PR #681
Should have already done that together with that PR…
2014-12-16 19:15:07 +01:00
Mitchell Hashimoto
ef60ac5b8c terraform: update comment 2014-12-16 08:24:21 -08:00
Mitchell Hashimoto
e5f07567c6 terraform: module input to another module doesn't error [GH-659] 2014-12-16 08:23:19 -08:00
Sander van Harmelen
d24ab685d0 Adding a small fix to the Same() func
This is a little tricky, but when a diff contains a computed list or
set that can only be interpolated after the apply command has created
the dependant resources, it could turn out that the result is actually
the same as the existing state which would remove the key from the diff
2014-12-16 13:58:31 +01:00
Sander van Harmelen
40ca4c1c81 Merge pull request #676 from svanharmelen/f-fix-expand-bug
core: fix expand bug
2014-12-16 11:04:25 +01:00
Mitchell Hashimoto
d24082da1e config: validate that module variables can go to ints, convert [GH-624] 2014-12-15 22:10:16 -08:00
Sander van Harmelen
528167513b Looking at issue #639 this seems to be the root cause
After fixing this part, there also needs to be made a change to the
example given or the schema of aws_elb.
2014-12-15 23:38:46 +01:00
Sander van Harmelen
83c760fcb3 core: refactoring the way sets work internally v2
This is a refactored solution for PR #616. Functionally this is still
the same change, but it’s implemented a lot cleaner with less code and
less changes to existing parts of TF.
2014-12-12 23:21:20 +01:00
Armon Dadgar
d821f7aaa6 terraform: Make RemoteState more flexible 2014-12-10 13:27:09 -08:00
Armon Dadgar
85bb01acd7 terraform: Fixing unit test 2014-12-10 13:27:09 -08:00
Armon Dadgar
b83b4a923f terraform: expose the state version 2014-12-10 13:27:06 -08:00
Armon Dadgar
6ce957d4b1 terraform: State helpers 2014-12-10 13:27:06 -08:00
Armon Dadgar
1ec0602cab terraform: Add new remote storage fields to state 2014-12-10 13:27:06 -08:00
Armon Dadgar
f1cb297c59 terraform: Fixing issue with computed maps 2014-12-09 00:51:28 -08:00
Armon Dadgar
c43eb6f883 terraform: fixing test case 2014-12-09 00:28:03 -08:00
Armon Dadgar
0a3d7bd121 terraform: Check module config for resource instead of state 2014-12-09 00:25:06 -08:00
Mitchell Hashimoto
e82a28529d terraform: return errors for interpolations 2014-12-08 23:57:01 -08:00
Luke Amdor
ca48dcab4a no module state, we shouldn't fail multivars yet 2014-12-06 15:30:19 -06:00
Luke Amdor
6dcb7166d1 fix destroy so incoming module vars get set 2014-12-05 17:18:45 -06:00
Luke Amdor
fead5872e5 Fix for multivars when modulestate not created yet 2014-12-02 13:53:09 -06:00
Luke Amdor
60022978a6 adding context test for module multi-vars 2014-11-28 13:16:33 -06:00
Luke Amdor
4b3bf76406 looking up count of multivars in module config 2014-11-28 07:14:58 -06:00
Armon Dadgar
a5d444b8e3 terraform: fix module output handling. Fixes #474 2014-11-24 19:18:52 -08:00
Armon Dadgar
f26b8df92f Merge pull request #598 from hashicorp/f-mod-deps
Fix dependency handling of modules
2014-11-24 18:53:22 -08:00
Armon Dadgar
5b025c89f9 terraform: guard output types. Fixes #593 2014-11-24 16:49:38 -08:00
Armon Dadgar
d8ecb32a7c terraform: test module is marked for destroy 2014-11-24 15:50:15 -08:00
Armon Dadgar
56a34087ba terraform: test orphan dependency inversion 2014-11-24 15:42:58 -08:00
Armon Dadgar
5376e05add terraform: test encoding module dependencies 2014-11-24 15:25:37 -08:00
Armon Dadgar
6af820f78b terraform: test graph with orphan module dependencies 2014-11-24 15:22:37 -08:00
Armon Dadgar
3bdaccdf5d terraform: testing the destroy order of modules 2014-11-24 14:58:52 -08:00
Armon Dadgar
afef564108 terraform: Handle module depedency inversion 2014-11-24 14:38:06 -08:00
Armon Dadgar
d5fd4dabe8 terraform: Mark modules for destroy 2014-11-24 14:15:24 -08:00
Armon Dadgar
9c6280f64b terraform: encode module dependencies 2014-11-21 16:44:20 -08:00
Armon Dadgar
ec1c026b80 terraform: initialize and attach module state 2014-11-21 16:41:48 -08:00
Armon Dadgar
6e1ef1c634 terraform: restore dependencies for orphan modules 2014-11-21 16:14:57 -08:00
Armon Dadgar
9707eb3fc8 terraform: Add dependencies field to modules 2014-11-21 15:34:23 -08:00
Armon Dadgar
8446b036d7 Merge pull request #535 from ceh/vet-fixes
argument and verb formatting fixes reported by go vet
2014-11-19 15:46:01 -08:00
Armon Dadgar
e29e364c89 terraform: Testing duplicate delete issue 2014-11-18 15:38:54 -08:00
Armon Dadgar
01db1ff8bd terraform: diff handler in expansion avoids duplicate destroy 2014-11-18 15:38:40 -08:00
Armon Dadgar
507b75449f terraform: Move diff handling during dynamic expansion 2014-11-18 15:10:18 -08:00
Armon Dadgar
a2ba45edf5 terraform: Simplify sub-graph finalization 2014-11-17 15:50:26 -08:00
Emil Hessman
4bfe18b40d argument and verb formatting fixes reported by go vet
builtin/providers/aws/tags_test.go:56: unrecognized printf verb 'i'
builtin/providers/aws/tags_test.go:59: unrecognized printf verb 'i'

config/config_test.go:101: possible formatting directive in Fatal call
config/config_test.go:157: possible formatting directive in Fatal call

config/module/get_file_test.go:91: missing argument for Fatalf(%s): format reads arg 1, have only 0 args

helper/schema/schema.go:341: arg v.Type for printf verb %s of wrong type: schema.ValueType
helper/schema/schema.go:656: missing argument for Errorf(%s): format reads arg 2, have only 1 args
helper/schema/schema.go:912: arg schema.Type for printf verb %s of wrong type: schema.ValueType

terraform/context.go:178: arg v.Type() for printf verb %s of wrong type: github.com/hashicorp/terraform/config.VariableType
terraform/context.go:486: arg c.Operation for printf verb %s of wrong type: terraform.walkOperation

terraform/diff_test.go💯 arg actual for printf verb %s of wrong type: terraform.DiffChangeType
terraform/diff_test.go:235: arg actual for printf verb %s of wrong type: terraform.DiffChangeType
2014-11-02 13:56:44 +01:00
Mitchell Hashimoto
22f09b487b terraform: refresh ignores variables with no values [GH-478] 2014-10-20 23:08:17 -07:00
Mitchell Hashimoto
0908e8f42c terraform: don't fail refresh if output doesn't exist [GH-483] 2014-10-20 18:45:52 -07:00
Mitchell Hashimoto
686871310d terraform: input properly sends on only set input 2014-10-18 14:54:42 -07:00
Mitchell Hashimoto
dc3178e06a terraform: failling test case for a bug 2014-10-18 14:36:34 -07:00
Mitchell Hashimoto
914cb1d44c terraform: test for variables in provider configs 2014-10-18 14:13:14 -07:00
Mitchell Hashimoto
0a5e06d62c terraform: merge interpolated inherited provider configurations [GH-418] 2014-10-18 13:58:01 -07:00
Mitchell Hashimoto
f03ab178bf terraform: don't execute provisioners on destroy 2014-10-18 11:37:26 -07:00
Mitchell Hashimoto
b2d674b431 terraform: don't add tainted resources to expanded graph [GH-412]
The tainted resources are separate elements in the graph.
2014-10-18 11:13:36 -07:00
Mitchell Hashimoto
990b814188 terraform: set count to 1 while validating [GH-442] 2014-10-17 18:18:28 -07:00
Mitchell Hashimoto
f626c5df96 terraform: validation works with count if default [GH-442] 2014-10-17 18:06:54 -07:00
Mitchell Hashimoto
bf7c40d115 terraform: test case for variable count 2014-10-17 18:03:30 -07:00
Mitchell Hashimoto
35352a2746 terraform: some more test cases for sanity 2014-10-16 23:20:46 -07:00
Mitchell Hashimoto
82bf4f485b terraform: taint resources who error on create with provisioners
[GH-434]
2014-10-16 23:19:07 -07:00
Mitchell Hashimoto
de4c922c9c terraform: validation with unknown variables works [GH-432] 2014-10-16 15:54:56 -07:00
Armon Dadgar
422b82648c terraform: Switch to using semaphore 2014-10-16 10:04:36 -07:00
Armon Dadgar
ad31023252 terraform: Adding a semaphore implementation 2014-10-16 10:04:36 -07:00
Mitchell Hashimoto
5596ee7f53 terraform: don't panic if no state in Walk return [GH-403] 2014-10-15 20:32:19 -07:00
Mitchell Hashimoto
edf85de411 terraform: output state in human-readable format
/cc @armon - Didn't need to save the bits here, plus it makes it easier
for someone to go in and modify this stuff
2014-10-12 22:56:34 -07:00
Mitchell Hashimoto
ce61b5caec terraform: no outputs if we have no resources 2014-10-12 22:49:05 -07:00
Mitchell Hashimoto
06889b8fc7 terraform: make sure taint destroys happen first for counts 2014-10-12 09:50:36 -07:00
Mitchell Hashimoto
7af9179edd terraform: remove old test 2014-10-12 09:45:01 -07:00
Mitchell Hashimoto
f59e89ccb8 terraform: add count tainted apply test 2014-10-12 09:41:27 -07:00
Mitchell Hashimoto
ac7e494697 terraform: remove an inaccurate TODO 2014-10-12 09:19:38 -07:00
Mitchell Hashimoto
f74a27d75f terraform: provisioner dependencies are reflected in graph 2014-10-12 09:15:26 -07:00
Mitchell Hashimoto
d4d58ae44b terraform: turn resource expand into graph 2014-10-12 08:57:08 -07:00
Mitchell Hashimoto
ecafcfa682 terraform: don't validate tainted resources 2014-10-11 16:02:07 -07:00
Mitchell Hashimoto
6e7d23d612 terraform: don't crash if validating orphan 2014-10-11 15:58:52 -07:00