Commit Graph

6999 Commits

Author SHA1 Message Date
Paul Hinze 6aa5fdc938 state/remote/atlas: handle conflicts on equivalent states
Atlas returns an HTTP 409 - Conflict if the pushed state reports the same
Serial number but the checksum of the raw content differs. This can
sometimes happen when Terraform changes state representation internally
between versions in a way that's semantically neutral but affects the JSON
output and therefore the checksum.

Here we detect and handle this situation by ticking the serial and retrying
iff for the previous state and the proposed state:

  * the serials match
  * the parsed states are Equal (semantically equivalent)

In other words, in this situation Terraform can override Atlas's detected
conflict by asserting that the state it is pushing is indeed correct.
2015-10-22 15:40:45 -05:00
Jeff Mitchell 1373a6086b Use cleanhttp for new http clients 2015-10-22 14:23:59 -04:00
Martin Atkins 5a704ec14d Update CHANGELOG.md
Previously I added the new CIDR interpolation functions under the already-released 0.6.5 by mistake.
2015-10-22 08:45:52 -07:00
Martin Atkins e4e9c13c20 Merge #3136: Colorize the 'forces new resource' message 2015-10-22 08:44:37 -07:00
Martin Atkins 47abc2c764 Merge #3127: CIDR-related interpolation functions 2015-10-22 08:13:34 -07:00
Martin Atkins ef161e1c1b Various interpolation functions for CIDR range manipulation.
These new functions allow Terraform to be used for network address space
planning tasks, and make it easier to produce reusable modules that
contain or depend on network infrastructure.

For example:
- cidrsubnet allows an aws_subnet to derive its
  CIDR prefix from its parent aws_vpc.
- cidrhost allows a fixed IP address for a resource to be assigned within
  an address range defined elsewhere.
- cidrnetmask provides the dotted-decimal form of a prefix length that is
  accepted by some systems such as routing tables and static network
  interface configuration files.

The bulk of the work here is done by an external library I authored called
go-cidr. It is MIT licensed and was implemented primarily for the purpose
of using it within Terraform. It has its own unit tests and so the unit
tests within this change focus on simple success cases and on the correct
handling of the various error cases.
2015-10-22 08:10:52 -07:00
Dave Cunningham 53b64909ec Merge pull request #3553 from lwander/f-gcp-oauth
provider/google: OAuth2 support
2015-10-22 00:44:16 -04:00
Martin Atkins 932f0ddbeb Fix syntax errors in AWS CodeDeploy resource docs. 2015-10-21 09:45:48 -07:00
Paul Hinze d2034a26b2 release: clean up after v0.6.5 2015-10-21 11:34:52 -05:00
Paul Hinze 5ea09afad5 v0.6.5 2015-10-21 10:47:56 -05:00
Martin Atkins f790309634 CodeDeploy links to the AWS provider sidebar.
Missed these when merging #2783.
2015-10-21 08:44:32 -07:00
Martin Atkins 8a60219c04 Update CHANGELOG.md 2015-10-21 08:40:26 -07:00
Martin Atkins c0f44a7301 Merge #2783: AWS Codeploy apps and deployment groups 2015-10-21 08:38:58 -07:00
Paul Hinze 305db7341b Update CHANGELOG.md 2015-10-21 10:37:18 -05:00
Martin Atkins dd56b39e0c Codeploy deployment group app_name instead of application_name.
The corresponding resource is called aws_codeploy_app, so for consistency
we'll name the attribute app_name instead of application_name.
2015-10-21 08:34:46 -07:00
Martin Atkins 938b7e2dba Update CHANGELOG.md 2015-10-21 08:19:51 -07:00
Martin Atkins e2232b1b7b Merge #3558: lower/upper interpolation functions 2015-10-21 08:17:29 -07:00
Matt Morrison cccc5d03e3 Add lower / upper interpolation functions 2015-10-21 08:16:24 -07:00
Paul Hinze 77847b1572 config/lang: restore go1.4.3 generated code
my theory is that @mitchellh checked in a go1.5 generated file in
344e7c26b5
2015-10-21 09:49:23 -05:00
Christopher Tiwald 0952505358 aws: Add docs for aws_codedeploy_deployment_group 2015-10-20 18:05:40 -04:00
Christopher Tiwald 390f226eb5 aws: Add aws_codedeploy_deployment_group tests 2015-10-20 18:05:40 -04:00
Christopher Tiwald a546a12c2d aws: Add support for aws_codedeploy_deployment_group resources 2015-10-20 18:05:40 -04:00
Christopher Tiwald fa3dfd1420 aws: Add documentation for "aws_codedeploy_app" resources. 2015-10-20 18:05:39 -04:00
Christopher Tiwald 42c077700a aws: Add acceptance tests for "aws_codedeploy_app" resources. 2015-10-20 18:05:39 -04:00
Christopher Tiwald e59fb4e6ca aws: Add support for "aws_codedeploy_app" resources. 2015-10-20 18:05:39 -04:00
Paul Hinze 5b1c03879a Merge pull request #3573 from hashicorp/b-state-store-module-order-consistently
core: store deeply nested modules in a consistent order in the state
2015-10-20 14:49:20 -05:00
Paul Hinze 05c0998d2d core: store deeply nested modules in a consistent order in the state
We were only comparing the last element of the module, which meant that
deeply nested modules with the same name but different ancestry had an
undefined sort order, which could cause inconsistencies in state
storage and potentially break remote state MD5 checksumming.
2015-10-20 14:35:57 -05:00
Lars Wander bba2c3221d Added oauth2 support for GCP 2015-10-20 15:08:04 -04:00
Lars Wander d4f7cdc877 GCP UserAgent now shows accurate Terraform version 2015-10-20 14:45:11 -04:00
Paul Hinze 68e0133da0 Merge pull request #3569 from hashicorp/b-meta-diffs-should-bump-serial
core: state metadata difference should bump serial
2015-10-20 13:29:12 -05:00
Paul Hinze fca44bdec3 core: state metadata difference should bump serial
Remote state includes MD5-based checksumming to protect against State
conflicts. This can generate improper conflicts with states that differ
only in their Schema version.

We began to see this issue with
https://github.com/hashicorp/terraform/pull/3470 which changes the
"schema_version" of aws_key_pairs.
2015-10-20 12:28:12 -05:00
Paul Hinze 15a36d06cf Merge pull request #3532 from hashicorp/remove-default-client
Remove usage of http.DefaultClient
2015-10-20 10:42:31 -05:00
Martin Atkins 7a24da8c94 Update CHANGELOG.md 2015-10-19 18:43:49 -07:00
Martin Atkins 484d6f8765 Merge pull request #3487 from nathan7/etcd
Etcd remote state backend
2015-10-19 18:42:29 -07:00
Jeff Mitchell 5fa5c4bc53 Use new packngo API allowing passing in a custom http.Client 2015-10-19 13:03:28 -04:00
Jeff Mitchell b0ceffc322 Remove usage from dependencies as well. Other dependencies need upstream merging to completely solve this. 2015-10-19 12:06:34 -04:00
Jeff Mitchell 3c0ed11922 Remove usage of http.DefaultClient 2015-10-19 12:06:33 -04:00
Paul Hinze 3fa57e61ba Merge pull request #3545 from daveadams/b-init-remote-command-docs
Update init and remote config command docs
2015-10-19 08:54:25 -05:00
BSick7 6a593f9d17 Fixing aws identifiers for aws_route.
Fixing basic acceptance test.
Adding warning to website about mixed mode.
Adding exists to aws_route.
Adding acceptance test for changing destination_cidr_block.
2015-10-19 09:16:27 -04:00
gkze ac0afad6e9 Add aws_route resource 2015-10-19 09:16:26 -04:00
David Adams 3021069207 Update init and remote config command docs
* Update init docs to be correct, and provide an example.
* Update remote config docs to provide more details about the Consul
  backend and to provide another example.
2015-10-18 18:23:13 -05:00
Nathan Zadoks 362a2035c0 Document the etcd remote state backend 2015-10-18 23:24:56 +02:00
Nathan Zadoks bb51882f33 Etcd remote state backend 2015-10-18 23:24:55 +02:00
Dave Cunningham 5930771615 Update compute_instance.html.markdown
Make it clear that you can't have two networks
2015-10-18 13:21:41 -04:00
Mitchell Hashimoto c2fdb7171e use upstream osext, which fixes some bugs 2015-10-17 17:33:45 -07:00
clint shryock 347f9c0bea vagrantfile: update base image name to Bento, from Chef 2015-10-16 14:00:23 -05:00
Clint 5a9a89cde6 Merge pull request #3050 from berendt/vagrantfile_apt_get_upgrade
[Vagrantfile] upgrade all packages while provisioning
2015-10-16 13:46:45 -05:00
Clint 239823f055 Merge pull request #3051 from berendt/vagrantfile_virtualbox_resources
[Vagrantfile] set resources for the provider 'virtualbox'
2015-10-16 13:46:25 -05:00
clint shryock 20bc0ca3cd document copy_tags 2015-10-16 11:20:24 -05:00
clint shryock a273b9b93b provider/aws: Add configuration to copy tags to RDS Snapshots 2015-10-16 11:14:11 -05:00