Commit Graph

3243 Commits

Author SHA1 Message Date
Clint dd0475ca4e Merge pull request #4879 from hashicorp/b-aws-vpc-classiclink-fix
providers/aws: Fix issue with VPC Classic Link and regions that don't support it
2016-01-28 10:54:40 -06:00
clint shryock 2ac040bef2 providers/aws: Fix issue with VPC Classic Link and regions that don't support it
- use eu-central-1 to a config to check for #4874
- update documentation
2016-01-28 10:12:06 -06:00
Paul Stack 05d19b0fc3 Merge pull request #4693 from stack72/f-aws-asg-schedule-0values
provider/aws: aws autoscale schedule 0 values
2016-01-28 15:38:41 +00:00
James Nugent ff8cb7270e provider/powerdns: Clean up gofmt errors 2016-01-28 10:10:46 -05:00
Dmytro Aleksandrov a9d5dd58ad provider/powerdns: Add acceptance tests for common record types 2016-01-28 10:10:46 -05:00
Dmytro Aleksandrov 56f1835d8d provider/powerdns: Move provider implementation from personal repo 2016-01-28 10:10:46 -05:00
Simon Thulbourn 548136c050 Remove mime type validation
Remove the mime type validation since the part handler type allows for
custom types.

http://cloudinit.readthedocs.org/en/latest/topics/format.html#part-handler

The docs specify that if a part handler type is specified, one could use
custom mime types

Signed-off-by: Simon Thulbourn <simon+github@thulbourn.com>
2016-01-28 11:36:18 +00:00
clint shryock 45c9a10d0f provider/aws: Provide a better message if no AWS creds are found 2016-01-27 16:30:03 -06:00
clint shryock e64c23c69a patch up acc tests 2016-01-27 14:42:21 -06:00
Paul Hinze da872eee66 Merge pull request #4864 from hashicorp/phinze/aws-min-elb-cap-regression
aws: undeprecate min_elb_capacity; restore min capacity waiting
2016-01-27 14:17:10 -06:00
Paul Hinze 1cf84eb198 Merge pull request #4787 from hashicorp/phinze/fix-consul-keys-update
consul: Fix several problems w/ consul_keys update
2016-01-27 14:03:35 -06:00
Paul Hinze c70eab6500 aws: undeprecate min_elb_capacity; restore min capacity waiting
It was a mistake to switched fully to `==` when activating waiting for
capacity on updates in #3947. Users that didn't set `min_elb_capacity ==
desired_capacity` and instead treated it as an actual "minimum" would
see timeouts for every create, since their target numbers would never be
reached exactly.

Here, we fix that regression by restoring the minimum waiting behavior
during creates.

In order to preserve all the stated behavior, I had to split out
different criteria for create and update, criteria which are now
exhaustively unit tested.

The set of fields that affect capacity waiting behavior has become a bit
of a mess. Next major release I'd like to rework all of these into a
more consistently named block of config. For now, just getting the
behavior correct and documented.

(Also removes all the fixed names from the ASG tests as I was hitting
collision issues running them over here.)

Fixes #4792
2016-01-27 13:30:44 -06:00
clint shryock 99e9dca413 fix some typos 2016-01-27 11:46:46 -06:00
clint shryock 303554c8df restructure OpsWorks test files to use random stack name, and duplication 2016-01-27 11:32:40 -06:00
James Nugent 4e22655192 Merge pull request #4811 from superseb/vcd_unverified_ssl
provider/vcd: Add flags for unverified SSL/TLS
2016-01-27 11:59:24 -05:00
clint shryock dd0ca302de guard against a nil dereference 2016-01-27 10:56:33 -06:00
clint shryock 244e727c6f provider/aws: Randomize all S3 bucket names per test, not per run
The existing `randInt` is being use per run (so all tests use the same bucket
name), not per run (where each test would get a random int)

Fixes that
2016-01-27 10:45:52 -06:00
James Nugent 7177a87312 Merge pull request #4842 from hashicorp/f-azurerm-storage-resources
provider/azurerm: Add storage container and blob
2016-01-27 11:23:11 -05:00
stack72 5a5c32e7d2 Azure RM Storage Queue:
Adds the schema, CRUD, acceptance tests and documentation for the
AzureRM storage Queue resource
2016-01-27 12:27:58 +00:00
Yo Takezawa 0aff8e28a5 provider/openstack Changing the port resource to mark the ip_address as Optional 2016-01-27 17:36:29 +09:00
stack72 e470ffd0be AzureRM storage container and blob tests and documentation 2016-01-27 00:23:57 +00:00
Paul Hinze 069425a700 consul: Fix several problems w/ consul_keys update
Implementation notes:

 * The hash implementation was not considering key value, causing "diffs
   did not match" errors when a value was updated. Switching to default
   HashResource implementation fixes this
 * Using HashResource as a default exposed a bug in helper/schema that
   needed to be fixed so the Set function is picked up properly during
   Read
 * Stop writing back values into the `key` attribute; it triggers extra
   diffs when `default` is used. Computed values all just go into `var`.
 * Includes a state migration to prevent unnecessary diffs based on
   "key" attribute hashcodes changing.

In the tests:

 * Switch from leaning on the public demo Consul instance to requiring a
   CONSUL_HTTP_ADDR variable be set pointing to a `consul agent -dev`
   instance to be used only for testing.
 * Add a test that exposes the updating issues and covers the fixes

Fixes #774
Fixes #1866
Fixes #3023
2016-01-26 14:46:26 -06:00
James Nugent 4a57ab4022 provider/azurerm: Add storage container and blob
These resources use ARM to get keys for the storage API, but then use
the storage REST API as per the ASM provider. The code is significantly
reworked with better logging and error handling. The key functions can
be reused for queues and file storage resources when they get added.
2016-01-26 15:45:18 -05:00
Clint 24f10b024f Merge pull request #4838 from hashicorp/b-aws-rds-db-name-fix
provider/aws: Workaround API issue with RDS Cluster DatabaseName
2016-01-26 14:08:42 -06:00
clint shryock d78e897b46 provider/aws: Fix SG leak in opsworks custom layer test 2016-01-26 11:43:35 -06:00
clint shryock 8d3f309f62 provider/aws: Workaround API issue with RDS Cluster DatabaseName 2016-01-26 10:35:21 -06:00
Clint 0f2f9da2fd Merge pull request #4779 from hashicorp/aws-sg-drift-fix
provider/aws: Fix issue with detecting drift in AWS Security Groups rules
2016-01-25 16:35:43 -06:00
Clint 2faf1c1422 Merge pull request #4829 from hashicorp/b-aws-efs-test-updates
provider/aws: Update EFS test destroy methods
2016-01-25 16:34:59 -06:00
Clint 577618b368 Merge pull request #4825 from hashicorp/b-aws-elb-listener-retry
provider/aws: Retry Listener Creation for ELBs
2016-01-25 16:32:40 -06:00
Clint 6ce5ade259 Merge pull request #4828 from hashicorp/b-aws-state-funcs
provider/aws: Update refresh state func target for DHCP options
2016-01-25 16:30:55 -06:00
clint shryock a3bfec2684 provider/aws: Update EFS test destroy methods 2016-01-25 16:27:58 -06:00
Paul Hinze da4e7753e7 provider/azure: fix build after upstream breaking change
This adds the empty argument necessary for PutPageBlob to compile.

https://github.com/Azure/azure-sdk-for-go/pull/257
2016-01-25 16:20:26 -06:00
clint shryock 1e03c90238 provider/aws: use a known good ami for spot instance test 2016-01-25 16:16:55 -06:00
clint shryock 48ecc9b3a0 provider/aws: Update refresh state func target for DHCP options 2016-01-25 14:47:25 -06:00
clint shryock 86ad4c4340 provider/aws: Retry Listener Creation for ELBs 2016-01-25 11:38:04 -06:00
Sebastiaan van Steenis 6fe6ff4e7a Add flags for unverified SSL/TLS 2016-01-25 18:07:51 +01:00
clint shryock e865c342cc provider/aws: fix ELB SG test 2016-01-25 11:05:22 -06:00
Paul Hinze b537e5e966 provider/heroku: retry drain create until log channel is assigned
Should fix the build error encountered here:

https://travis-ci.org/hashicorp/terraform/builds/104548513
2016-01-25 09:59:41 -06:00
Clint 4708e66328 Merge pull request #4098 from csabapalfi/f-aws-s3-redirect-protocol
Enable specifying aws s3 redirect protocol
2016-01-22 15:51:40 -06:00
Clint 6befb714cc Merge pull request #4734 from hashicorp/b-network-acl-visibility
provider/aws: Wait for NACL rule to be visible
2016-01-22 14:26:21 -06:00
Sander van Harmelen 81df46a339 Merge pull request #4796 from svanharmelen/f-tweak-tags
provider/cloudstack: policing up the new `tags` code from @Carles-Figuerola
2016-01-22 17:20:31 +01:00
Paul Hinze 19d90ae00f heroku: randomize the remaining appnames in tests
Should take care of the remaining flapping acceptance test failures like
this:

https://travis-ci.org/hashicorp/terraform/builds/104012729
2016-01-22 09:26:34 -06:00
Sander van Harmelen c0f1962f51 Policing up the new `tags` code from @Carles-Figuerola
Just some cosmetics and some cleaning up to make the code fit in a
little better with the existing code. Functionally no changes are made
and the existing tests still pass.
2016-01-22 12:13:26 +01:00
Carles Figuerola 755917db07 Add tests for Network Tags for provider/cloudstack and applied tips from PR#4742 2016-01-21 22:45:51 -06:00
Carles Figuerola 0983ca4c2a Merge remote-tracking branch 'upstream/master' into add-tags-plus-networktags 2016-01-21 22:37:23 -06:00
Martin Atkins 7450abe408 Merge pull request #4606 from hashicorp/tls-public-key
Export public keys from tls_private_key
2016-01-21 17:01:18 -08:00
Csaba Palfi 8f6404a0e1 provider/aws enable specifying aws s3 redirect protocol
Signed-off-by: Csaba Palfi <csaba@palfi.me>
2016-01-21 23:26:13 +00:00
James Nugent 1b3908633c Merge pull request #4767 from monkeylittleinc/v0.6.9-branch
Add support for multiple final states on the WaitForState resource
2016-01-21 18:19:52 -05:00
clint shryock 9ee6f822f6 provider/aws: Default Autoscaling Schedule min/max/desired to zero 2016-01-21 16:02:46 -06:00
Paul Hinze 0f3b977c10 Merge pull request #4785 from stack72/f-azurerm-public-ip-test
provider/azurerm: Fixing a flapping AzureRM PublicIP validation test
2016-01-21 15:10:00 -06:00
stack72 eb6fd87a42 Fixing a flapping AzureRM PublicIP validation test 2016-01-21 20:59:30 +00:00
Sander van Harmelen 3385100f56 Make the concurrence for applying rules configurable 2016-01-21 21:30:54 +01:00
Paul Hinze a83d1bab23 mailgun: fixup go vet problem in test 2016-01-21 13:02:26 -06:00
Paul Hinze 3380f5bf7c Merge pull request #4776 from hashicorp/phinze/heroku-tests-randnames
heroku: randomize names in acctests
2016-01-21 11:57:27 -06:00
Paul Hinze 8d2e18234e Merge pull request #4777 from hashicorp/phinze/mailgun-domain-destroy-takes-a-sec
mailgun: poll until domain destroy takes effect
2016-01-21 11:56:37 -06:00
clint shryock 7462eb1742 provider/aws: Fix issue with detecting drift in AWS Security Groups in-line rules 2016-01-21 11:21:25 -06:00
Sander van Harmelen e3d530aaa2 Merge pull request #4772 from svanharmelen/b-fix-panic
provider/cloudstack: add a check to see if the port value is valid
2016-01-21 17:05:03 +01:00
Sander van Harmelen cfa9661ffa Merge pull request #4687 from Carles-Figuerola/master
Add vlan, startip, endip and gateway for network creation
2016-01-21 17:02:56 +01:00
Carles Figuerola e2d6f7c5e9 Specify that the vlan attribute in cloudstack is only usable for ROOT admins and stop reading it back 2016-01-21 09:52:27 -06:00
Paul Hinze be59831847 mailgun: poll until domain destroy takes effect
Test failures indicate that this operation doesn't always take effect
immediately:

https://travis-ci.org/hashicorp/terraform/builds/103764466

Add a simple poll to retry a few times until it does.

```
--- PASS: TestAccMailgunDomain_Basic (1.51s)
```

Verified that this does the trick by looping the test and watching the
logs for the retry behavior to kick in.
2016-01-21 09:51:08 -06:00
Paul Hinze d1010f40c5 heroku: randomize names in acctests
Should fix build failures seen here:

https://travis-ci.org/hashicorp/terraform/builds/103764448
2016-01-21 09:31:48 -06:00
James Nugent c8461eae32 Merge pull request #4698 from hashicorp/f-azurerm-storage-account
provider/azurerm: Add `azurerm_storage_account`
2016-01-21 07:25:04 -05:00
Colin Hebert f6d80f2215 provider/digitalocean: allow reassignment of floating IPs
Do not force the creation of a new IP when the droplet_id changes, and
unassignment of the the floating IP without destroying it.
2016-01-21 07:16:59 -05:00
Sander van Harmelen 20901a6478 Add a check to see if the port value is valid
Without this additional check it could happen that one of the firewall
resources would panic is given an unexpected port value.
2016-01-21 09:38:14 +01:00
Mat Davies 45b3b9d181 provider/dme: Add support for `gtdLocation`
Add support for GTD (Global Traffic Director) enabled domains to the DME
provider. Specifically add `gtdLocation` to the `dme_record` resource.
2016-01-20 20:23:29 -05:00
Ian Duffy 47ac10d66b Change resource.StateChangeConf to use an array for target states
Signed-off-by: Ian Duffy <ian@ianduffy.ie>
2016-01-21 01:20:41 +00:00
James Nugent 53c23511ef provider/azurerm: Add `azurerm_storage_account`
This is an unusual resource (so far) in that it cannot be created in one
call, and instead must be created and the modified to set some of the
parameters.

We use the pollIndefinitelyWhileNeeded function which will continue to
poll Azure RM operation monitoring endpoints until an error is reported
or the operation meets one of the given status codes. The function was
originally part of this feature but was separated out in order to
unblock other work.

Currently there is no support for the "custom_domain" section of the
storage account API. This was originally present and was later taken out
of the scope of the storage account resource in order that the following
workflow can be used:

1. Create storage account
2. Create DNS CNAME entry once the account name is known
3. Create custom domain mapping
2016-01-20 19:47:23 -05:00
James Nugent fda9b0f1ed Merge pull request #4759 from stack72/azurerm-cdn-endpoint
provider/azurerm: add CDN Endpoint resource
2016-01-20 14:05:22 -05:00
stack72 d91c7080e0 Scaffold the AzureRM CDN Endpoint resource 2016-01-20 16:47:41 +00:00
James Nugent 644a52c473 Merge pull request #4757 from hashicorp/f-cloudinitconfig-update
provider/template: Allow update in `template_cloudinit_config`
2016-01-20 11:22:57 -05:00
James Nugent 734d5698d7 provider/azurerm: Poll indefinitely if no error
This adds a pollIndefinitelyWhileNeeded function which will continue to
poll Azure RM operation monitoring endpoints until an error is reported
or the operation meets one of the given status codes. This may need
revisiting at some point in the future.
2016-01-20 10:25:26 -05:00
James Nugent b0f9eb5c13 provider/template: Allow update in `template_cloudinit_config` 2016-01-20 09:58:20 -05:00
chris 9aa8bbda93 provider/google: Support named_port on instance_group_manager
This allows HTTP and HTTPs load-balancers to direct traffic to ports other than tcp/80 and tcp/443.
2016-01-20 09:15:30 -05:00
Paul Hinze 7d10d454e2 Merge pull request #4749 from hashicorp/b-1752
core: fix diff mismatch when RequiresNew field and list both change
2016-01-19 18:29:10 -06:00
Paul Hinze 4af2c5f5dd core: fix diff mismatch when RequiresNew field and list both change
fixes #1752

Includes AccTest reproducing example from the issue as well as a bunch
of explanatory comments in the tests and impls.
2016-01-19 15:38:04 -06:00
Carles Figuerola b18afaa5db Add taging shared module for cloudstack and implement it in resource_network 2016-01-19 11:41:18 -06:00
stack72 183eb248df Scaffold the Azure RM CDN Profile 2016-01-19 17:37:28 +00:00
James Nugent a4abb0e66c Merge pull request #4739 from hashicorp/b-azurerm-resource-id-parsing
provider/azurerm: Parse "resourcegroups" in IDs
2016-01-19 11:42:45 -05:00
James Nugent c3ce8b81ef provider/azurerm: Parse "resourcegroups" in IDs
When parsing resource IDs (probably incorrectly since they are URIs and
should therefore be opaque), we need to look for "resourcegroups" in
addition to "resourceGroups" because the Azure CDN resources return that
in their URIs.

Unfortunately the casing semantics of the rest of the string are not
clear, so downcasing the entire URI is probably best avoided. This is a
fix for a single case.
2016-01-19 11:32:16 -05:00
Clint 569e74c2e7 Merge pull request #4481 from ElliotG/feature/encryptedBlockDevice
provider/aws: Added support for the encryption flag on ebs_block_devices in launch configurations
2016-01-19 10:26:11 -06:00
James Nugent 7620381a4f provider/aws: Wait for NACL rule to be visible
Fixes #4721. It seems there may be some eventual consistency in the API
for network ACLs. This fix doesn't use resource.WaitForState() as there
the NACL is not something that can be looked up by ID and has a
property which determines if it is present.

Instead we reuse the findNetworkAclRule function which the Read function
exhibiting the problem uses, and retry over a 3 minute period, returning
an error message informing the user that running `terraform apply` again
will likely allow them to continue.
2016-01-19 08:12:20 -05:00
stack72 a9afb489f6 Adds the ability to tag more of the Azure RM Network resources 2016-01-18 20:55:28 +00:00
stack72 2ebe2c01f1 Add acceptance tests and docs update to allow the tagging of AzureRM resource & 2016-01-18 18:35:41 +00:00
James Nugent 2ff0c65c3c provider/azurerm: Support tagging `azurerm_resource_group` 2016-01-18 13:13:28 -05:00
James Nugent d5e3db9deb provider/azurerm: Add tags to `azurerm_virtual_network` 2016-01-18 13:13:28 -05:00
stack72 d7a7eb4644 Adds an acceptance test to the ARM Availability Set to show that tagging
and updating of tags work as expected

Also updated the documentation for azure rm availability set to
demonstrate this
2016-01-18 17:47:37 +00:00
James Nugent a640ef9f16 provider/azurerm: Add tests for tag scaffolding 2016-01-18 12:28:04 -05:00
James Nugent f374ca77e7 provider/azurerm: Add scaffolding to tags 2016-01-18 11:48:01 -05:00
Martin Atkins 25bd43d6f4 Export public keys from tls_private_key
In most cases private keys are used to produce certs and cert requests,
but there are some less-common cases where the PEM-formatted keypair is
used alone. The public_key_pem attribute supports such cases.

This also includes a public_key_openssh attribute, which allows this
resource to be used to generate temporary OpenSSH credentials, so that
e.g. a Terraform configuration could generate its own keypair to use
with the aws_key_pair resource. This has the same caveats as all cases
where we generate private keys in Terraform, but could be useful for
temporary/throwaway environments where the state either doesn't live for
long or is stored securely.

This builds on work started by Simarpreet Singh in #4441 .
2016-01-16 17:30:48 -08:00
Paul Hinze 475c0c8549 Merge pull request #4694 from hashicorp/phinze/template-func-race
provider/template: fix race causing panic in template_file
2016-01-16 12:43:57 -05:00
stack72 acabd4d407 Change ASG Lifecycle Default Result to be computed and added a test to record what the default value is 2016-01-15 22:34:16 +00:00
James Nugent 4b7a98584a provider/docker: Mount named volumes in containers
This adds support for specifying named volumes for mounting in a
`docker_container` resource.
2016-01-15 21:59:33 +00:00
Paul Hinze 0739cf2348 provider/template: fix race causing panic in template_file
The render code path in `template_file` was doing unsynchronized access
to a shared mapping of functions in `config.Func`.

This caused a race condition that was most often triggered when a
`template_file` had a `count` of more than one, and expressed itself as
a panic in the plugin followed by a cascade of "unexpected EOF" errors
through the plugin system.

Here, we simply turn the FuncMap from shared state into a generated
value, which avoids the race. We do more re-initialization of the data
structure, but the performance implications are minimal, and we can
always revisit with a perf pass later now that the race is fixed.
2016-01-15 16:34:46 -05:00
Carles Figuerola fab9b16de5 Move tests to ParseCIDR in resource_cloudstack_network and add items in read section 2016-01-15 14:24:18 -06:00
stack72 318db85623 Added a test to prove that 0 values cannot be specified for the Autoscale Group Schedule resource 2016-01-15 17:45:09 +00:00
Colin Hebert e887ac2523 provider/docker: Add `docker_volume` resource 2016-01-15 17:34:53 +00:00
Carles Figuerola c80ddccc12 Add vlan, startip, endip and gateway for network creation 2016-01-14 22:59:04 -06:00
James Nugent 5834e65db9 Merge branch 'paulbellamy-docker-extra-hosts' 2016-01-15 03:05:25 +00:00
James Nugent 3380f08e5a provider/docker: Tweak and test `host_entry`
This adds acceptance tests for specifying extra hosts on Docker
containers. It also renames the repeating block from `hosts` to `host`,
which reads more naturally in the schema when multiple instances of the
block are declared.
2016-01-15 03:02:20 +00:00
Clint 79c32ddbe9 Merge pull request #4627 from ColinHebert/patch-1
provider/aws: EBS optimised to force new resource
2016-01-14 14:57:13 -06:00