Commit Graph

1281 Commits

Author SHA1 Message Date
Paul Hinze 8fccd9cec4 providers/aws: fix a few more bugs in launch configs
These bugs were found by additional check added in #1443

 * Reversed nil err check meant that block devices were broken :(
 * Fixing the err check revealed a few missed pointer derefs
 * Unlike instances, ephemeral block devices do come back in
   `BlockDeviceMappings` from `DescribeLaunchConfigurations` calls, so
   we need to recognize them and filter them properly. Even though
   they're not set as computed, I'm doing a `d.Set` since it doesn't
   hurt and it gives us the benefit of basic drift detection.
2015-04-09 08:36:18 -05:00
Radek Simko 947761f34f ec2/config: Use provided region instead of hardcoding us-west-2 2015-04-09 12:36:37 +01:00
Clint 5c3ec3ddcc Merge pull request #1411 from hashicorp/f-aws-upstream-network-interface
provider/aws: Convert AWS Network Interface to aws-sdk-go
2015-04-08 15:51:36 -05:00
Clint 8e25dcd4f6 Merge pull request #1408 from hashicorp/f-aws-upstream-eip
provider/aws: Convert EIP to use upstream aws-sdk-go
2015-04-08 15:51:18 -05:00
Clint 0f6ba3eae9 Merge pull request #1407 from hashicorp/f-aws-upstream-internet-gateway
Convert AWS Internet Gateway to use upstream aws-sdk-go
2015-04-08 15:51:10 -05:00
Clint 281825db76 Merge pull request #1398 from hashicorp/f-aws-upstream-subnet
provider/aws: Convert AWS Subnet to mainstream aws-sdk-go
2015-04-08 15:38:05 -05:00
Clint Shryock 3a5a3d8515 update test to pass on Travis 2015-04-08 15:27:48 -05:00
Clint abdfa450b2 Merge pull request #1397 from hashicorp/aws-upstream-keypair
provider/aws: Convert Key Pair to upstream aws-sdk-go
2015-04-08 15:21:58 -05:00
Clint 28f8dab87f Merge pull request #1396 from hashicorp/f-aws-route53record-add-update
provider/aws: Change Route 53 record to allow resource updates
2015-04-08 15:14:46 -05:00
Paul Hinze 650b9d5542 Merge pull request #1427 from dainis/fix_network_interface_interface
Fix #1394, network value for network_interface
2015-04-08 14:24:20 -05:00
Clint Shryock 22e487c5d0 surface error with setting records on Route 53 record 2015-04-08 14:01:00 -05:00
Clint Shryock 29a5d9fc1a Update how we expand/flatten TXT records for Route 53 2015-04-08 13:58:23 -05:00
Clint 9a3bc12cff Merge pull request #1415 from hashicorp/b-fix-route53-recorcd-zone
provider/aws: Fix issue with Route 53 and pre-existing, external Hosted zones
2015-04-08 09:38:59 -05:00
Clint Shryock f2b68c4ca8 provider/aws: Fix issue in updating Route 53 records on refresh/read.
Route 53 records were silently erroring out when saving the records returned
from AWS, because they weren't being presented as an array of strings like we
expected.
2015-04-08 09:06:15 -05:00
Dainis Tillers ab71de8650 Just removing network refresh wont cut it, value from config must be used 2015-04-08 15:38:07 +03:00
Dainis Tillers 8f717c3e60 Fix #1394, network value for network_interface isn't a computed value and there is no need to refresh it each time instance data is read 2015-04-08 15:29:46 +03:00
Clint Shryock 547080002c provider/aws: Fix issue with Route 53 and pre-existing, external Hosted Zones 2015-04-07 15:20:56 -05:00
Paul Hinze ee7ccb7908 providers/aws: fix LCs being invalid in classic
Turns out AssociatePublicIPAddress was always being set, but the AWS
APIs don't like that when you're launching into EC2 Classic and return a
validation error at ASG launch time.

Fixes #1410
2015-04-07 13:08:09 -05:00
Clint Shryock 6376ac2dab provider/aws: Convert AWS Network Interface to aws-sdk-go
Also adds sdk versions of structure, structure test
2015-04-07 12:07:12 -05:00
Clint Shryock a15547b955 provider/aws: Convert EIP to use upstream aws-sdk-go 2015-04-07 10:37:17 -05:00
Clint Shryock 2c1c448031 providers/aws: Convert AWS Internet gateway to upstream aws-sdk-go 2015-04-07 09:44:00 -05:00
Clint Shryock 6feba0bf36 migrate aws keypair test suite 2015-04-06 15:13:29 -05:00
Clint Shryock 0fbbd1195a provider/aws: Convert AWS Subnet to mainstream aws-sdk-go 2015-04-06 15:07:40 -05:00
Clint Shryock eb82f2bf2a provider/aws: Convert Key Pair to upstream aws-sdk-go 2015-04-06 12:22:57 -05:00
Clint 23c0fb7695 Merge pull request #1384 from hashicorp/b-aws-fix-route53-hosted-refresh
provider/aws: Fix refresh issue in Route 53 hosted zone
2015-04-06 11:11:07 -05:00
Clint fa2d41ef55 Merge pull request #1234 from hashicorp/b-fix-aws-subnet-map-public-change
provider/aws: Fix issue when changing map-public-ip in Subnets
2015-04-06 11:03:45 -05:00
Clint 008012b7a6 Merge pull request #1382 from hashicorp/f-aws-rds-updates
provider/aws: Support additional changes to RDS without forcing new
2015-04-06 10:59:57 -05:00
Paul Hinze 6726309947 Fix string typo 2015-04-06 10:51:30 -05:00
Paul Hinze c2b293d047 Fix comment typo 2015-04-06 10:45:02 -05:00
Clint Shryock c5eb16cfb1 provider/aws: Change Route 53 record to allow resource updates
This removes `ForceNew` from `records` and `ttl`, and introduces a
`resourceAwsRoute53RecordUpdate` function. The `resourceAwsRoute53RecordUpdate`
falls through to the `resourceAwsRoute53RecordCreate` function, which utilizes
AWS `UPSERT` behavior and diffs for us.

`Name` and `Type` are used by AWS in the `UPSERT`, so only records with matching
`name` and `type` can be updated. Others are created as new, so we leave the
`ForceNew` behavior here.
2015-04-06 10:16:23 -05:00
Clint Shryock f02de51d58 provider/aws: Fix refresh issue in Route 53 hosted zone
Change the error handling/detection to correctly determine no hosted zone
exists.
2015-04-03 13:59:34 -05:00
Paul Hinze 9a91e1021a providers/aws: don't force update for existing launch configs
These changes should fix #1367:

 * `ebs_optimized` gets `Computed: true` and set from `Read`
 * `ephemeral_block_device` loses `Computed: true`
 * explicitly set `root_block_device` to empty from `Read`

While I was in there (tm):

 * Send pointers to `d.Set` so we can use its internal nil check.
2015-04-03 12:58:49 -05:00
Paul Hinze b0abb4ea49 Merge pull request #1379 from hashicorp/f-validate-forcenew-on-resources-without-update
helper/schema: ensure ForceNew set when Update is not
2015-04-03 12:53:55 -05:00
Clint Shryock 961a646b9a provider/aws: Support additional changes to RDS without forcing a new resource 2015-04-03 12:23:01 -05:00
Paul Hinze 66dbf91ffd helper/schema: ensure ForceNew set when Update is not
If a given resource does not define an `Update` function, then all of
its attributes must be specified as `ForceNew`, lest Applys fail with
"doesn't support update" like #1367.

This is something we can detect automatically, so this adds a check for
it when we validate provider implementations.
2015-04-03 09:57:30 -05:00
Clint Shryock 268f935386 provider/aws: Fix issue finding db subnets
AWS seems to lower case DB Subnet Group names, causing a failure in TF if your
name isn't all lower case.
2015-04-03 09:34:04 -05:00
Paul Hinze cedfadc808 Merge pull request #1352 from hashicorp/b-rds-pointers
providers/aws: pass pointers directly to d.Set in RDS
2015-04-02 12:41:31 -05:00
Jason Waldrip f77250f17d block device support for launch configurations
- mimics block device support from AWS instance
 - splits the acceptance tests out so they all pass, handling a FIXME
   from #1079
2015-04-02 12:34:13 -05:00
Paul Hinze f8a699f3d8 Merge pull request #1079 from bobtfish/launch_configuration_computed_names
RFC for making launch configuration names computed.
2015-04-02 12:10:22 -05:00
Paul Hinze de1a58512a Merge pull request #1359 from hashicorp/b-do-ssh-key-test
providers/digitalocean: fix ssh key test
2015-04-02 11:34:34 -05:00
Paul Hinze ace47c1c5b providers/digitalocean: fix ssh key test
there's now validation on the public key field
2015-04-02 09:04:59 -05:00
Clint Shryock 87e1260fac update hash for aws security group test 2015-04-02 09:00:47 -05:00
Paul Hinze e0cdadfc55 Merge pull request #1347 from jtopjian/compute-network-refactor
provider/openstack Compute Network Refactor
2015-04-02 08:46:03 -05:00
Mitchell Hashimoto 8ee6a03748 Merge pull request #1208 from tarrant/master
Add support for SSH Agent
2015-04-01 22:54:50 -07:00
Mitchell Hashimoto a2014fc846 Merge pull request #1185 from hashicorp/f-remote-resource
Feature: Remote Modules
2015-04-01 22:50:30 -07:00
Mitchell Hashimoto 478379b3b3 providers/terraform: name it terraform_remote_state 2015-04-01 22:49:05 -07:00
Tarrant f68c9eee63 Merge branch 'master' of https://github.com/hashicorp/terraform 2015-04-01 18:24:57 -07:00
Joe Topjian 1693767922 Compute Instance basic acceptance test
A change was made to account for clouds with multiple networks.
2015-04-02 00:10:46 +00:00
Joe Topjian 7ca97f4bfc Updating Floating IP acceptance tests 2015-04-01 22:54:09 +00:00
Joe Topjian 99ac8b4410 Compute Floating IP Test Update
Changes the test to require a network UUID rather than a name.
2015-04-01 21:39:54 +00:00
Joe Topjian ef4e03a729 Workaround for missing tenant-network
This commit resolves an issue where the tenant-network api extension
does not exist. The caveat is that the user must either specify no
networks (single network environment) or can only specify UUIDs for
network configurations.
2015-04-01 21:31:55 +00:00
Clint Shryock c7282d6a94 provider/aws: Change AWS Subnet map ip on launch to default false, from computed 2015-04-01 16:27:12 -05:00
Clint Shryock 85c0910165 Merge remote-tracking branch 'upstream/master' into b-fix-aws-subnet-map-public-change
* upstream/master: (295 commits)
  Update CHANGELOG.md
  provider/aws: Allow DB Parameter group to change in RDS
  return error if failed to set tags on Route 53 zone
  core: [tests] fix order dependent test
  Fix hashcode for ASG test
  provider/aws: Fix issue with tainted ASG groups failing to re-create
  Don't error when reading s3 bucket with no tags
  Avoid panics when DBName is not set
  Add floating IP association in aceptance tests
  Use env var OS_POOL_NAME as default for pool attribute
  providers/heroku: Add heroku-postgres to example
  docs: resource addressing
  providers/heroku: Document environment variables
  providers/heroku: Add region to example
  Bugfix on floating IP assignment
  Update CHANGELOG.md
  update CHANGELOG
  website: note on docker
  core: formalize resource addressing
  core: fill out context tests for targeted ops
  ...
2015-04-01 16:24:38 -05:00
Clint Shryock b31a69fe43 provider/aws: Allow DB Parameter group to change in RDS 2015-04-01 16:05:19 -05:00
Clint Shryock 261faaf3d2 Merge branch 'master' into f-rds-update
* master: (167 commits)
  return error if failed to set tags on Route 53 zone
  core: [tests] fix order dependent test
  Fix hashcode for ASG test
  provider/aws: Fix issue with tainted ASG groups failing to re-create
  Don't error when reading s3 bucket with no tags
  Avoid panics when DBName is not set
  Add floating IP association in aceptance tests
  Use env var OS_POOL_NAME as default for pool attribute
  providers/heroku: Add heroku-postgres to example
  docs: resource addressing
  providers/heroku: Document environment variables
  providers/heroku: Add region to example
  Bugfix on floating IP assignment
  Update CHANGELOG.md
  update CHANGELOG
  website: note on docker
  core: formalize resource addressing
  core: fill out context tests for targeted ops
  core: docs for targeted operations
  core: targeted operations
  ...
2015-04-01 15:28:35 -05:00
Clint Shryock 6be66612b5 Merge remote-tracking branch 'upstream/master' into f-aws-rds-tags
* upstream/master:
  return error if failed to set tags on Route 53 zone
  cleanups
  provider/aws: Finish Tag support for Route 53 zone
  provider/aws: Add tags to Route53 hosted zones
2015-04-01 14:58:04 -05:00
Clint Shryock 815b79753a return error if failed to set tags on Route 53 zone 2015-04-01 14:49:50 -05:00
Clint Shryock a4f72dc8ee Merge branch 'master' into f-aws-route53zone-tags
* master: (172 commits)
  core: [tests] fix order dependent test
  Fix hashcode for ASG test
  provider/aws: Fix issue with tainted ASG groups failing to re-create
  Don't error when reading s3 bucket with no tags
  Avoid panics when DBName is not set
  Add floating IP association in aceptance tests
  Use env var OS_POOL_NAME as default for pool attribute
  providers/heroku: Add heroku-postgres to example
  docs: resource addressing
  providers/heroku: Document environment variables
  providers/heroku: Add region to example
  Bugfix on floating IP assignment
  Update CHANGELOG.md
  update CHANGELOG
  website: note on docker
  core: formalize resource addressing
  core: fill out context tests for targeted ops
  core: docs for targeted operations
  core: targeted operations
  user_data support
  ...
2015-04-01 14:23:32 -05:00
Clint Shryock d16492a962 Merge branch 'master' into f-aws-rds-tags
* master: (172 commits)
  core: [tests] fix order dependent test
  Fix hashcode for ASG test
  provider/aws: Fix issue with tainted ASG groups failing to re-create
  Don't error when reading s3 bucket with no tags
  Avoid panics when DBName is not set
  Add floating IP association in aceptance tests
  Use env var OS_POOL_NAME as default for pool attribute
  providers/heroku: Add heroku-postgres to example
  docs: resource addressing
  providers/heroku: Document environment variables
  providers/heroku: Add region to example
  Bugfix on floating IP assignment
  Update CHANGELOG.md
  update CHANGELOG
  website: note on docker
  core: formalize resource addressing
  core: fill out context tests for targeted ops
  core: docs for targeted operations
  core: targeted operations
  user_data support
  ...
2015-04-01 14:21:57 -05:00
Paul Hinze 78963fc3d9 providers/aws: fix/improve RDS pointers handling
* d.Set has a pointer nil check we can lean on
* need to be a bit more conservative about nil checks on nested structs;
  (this fixes the RDS acceptance tests)

/cc @fanhaf
2015-04-01 11:32:17 -05:00
Benjamin Vickers 909fb66f5b template resource for cloudstack 2015-04-01 17:27:45 +01:00
Joe Topjian 4244d0947e Making the network resource computable
This allows the obtained network information to be successfully stored
for environments that do not require a network resource to be specified.
2015-04-01 16:06:47 +00:00
Clint Shryock 3f5829dc78 Merge branch 'f-aws-asg-fix-drain-delete'
* f-aws-asg-fix-drain-delete:
  Fix hashcode for ASG test
2015-04-01 10:47:09 -05:00
Clint Shryock 84e448de1a Fix hashcode for ASG test 2015-04-01 10:42:53 -05:00
Joe Topjian 67e33a7ac9 Updated compute_instance acceptance tests for floating IPs 2015-04-01 15:39:36 +00:00
Joe Topjian bb81228205 typo with netname when no networks are specified 2015-04-01 15:39:36 +00:00
Joe Topjian 30b0fc7489 Only attempt to get the MAC address if it exists. 2015-04-01 15:39:36 +00:00
Joe Topjian 0d77232196 Fixing computed parameters 2015-04-01 15:39:36 +00:00
Joe Topjian ccba698370 Network Read changes
This commit changes how the network info is read from OpenStack.
It pulls all relevant information from server.Addresses and merges
it with the available information from the networks parameters.
The access_v4, access_v6, and floating IP information is then
determined from the result.

A MAC address parameter is also added since that information is
available in server.Addresses.
2015-04-01 15:39:36 +00:00
Joe Topjian b160654cb3 Allow networks to be specified by name
This commit allows the user to specify a network by name rather than
just uuid. This is done via the os-tenant-networks api extension.
This works for both neutron and nova-network.
2015-04-01 15:39:36 +00:00
Joe Topjian b90a6152c5 Renamed fixed_ip to fixed_ip_v4 and added fixed_ip_v6 2015-04-01 15:39:36 +00:00
Joe Topjian d768a01cab Removes check for a "public" network
This is only possible if the OpenStack cloud explicitly has a network
called "public".
2015-04-01 15:39:36 +00:00
Joe Topjian 141b40189e os-floating-ips support
This commit causes the resource to manage floating IPs by way of the
os-floating-ips API.

At the moment, it works with both nova-network and Neutron environments,
but if you use multiple Neutron networks, the network that supports the
floating IP must be listed first.
2015-04-01 15:39:18 +00:00
Clint 9d91c806fc Merge pull request #1353 from hashicorp/f-aws-asg-fix-drain-delete
provider/aws: Fix issue with tainted ASG groups failing to re-create
2015-04-01 10:20:58 -05:00
Clint Shryock 3d65998282 provider/aws: Fix issue with tainted ASG groups failing to re-create 2015-04-01 09:24:26 -05:00
Paul Hinze 0b84f4b097 Merge pull request #1342 from ggiamarchi/openstack-bugfix-floating-ip
OpenStack provider - Bugfix on floating IP assignment
2015-04-01 09:09:11 -05:00
Paul Hinze 85c89c3ec6 Merge pull request #1350 from fanhaf/panic_DBName_null
Provider/AWS: RDS - Avoid panics when DBName is not set
2015-04-01 09:02:52 -05:00
Phil Frost 27f0873de7 Don't error when reading s3 bucket with no tags
s3.GetBucketTagging returns an error if there are no tags associated
with a bucket. Consequently, any configuration with a tagless s3 bucket
would fail with an error, "the TagSet does not exist".

Handle that error more appropriately, interpreting it as an empty set of
tags.
2015-04-01 08:57:50 -04:00
Michał Guminiak dc67b043fa Avoid panics when DBName is not set
provider/aws: The DBName in RDS instance is optional and when
not set, the Read function return null.
2015-04-01 14:43:05 +02:00
Guillaume Giamarchi 56aa764b94 Add floating IP association in aceptance tests 2015-04-01 11:27:56 +02:00
Guillaume Giamarchi c0b85d4939 Use env var OS_POOL_NAME as default for pool attribute
To have the same behaviour for openstack_networking_floatingip_v2
and openstack_compute_foatingip_v2.
2015-04-01 11:24:54 +02:00
Tarrant 6ad812e3d8 Merge branch 'ssh_agent' 2015-03-31 17:49:55 -07:00
Guillaume Giamarchi a90b9db397 Bugfix on floating IP assignment
The `getFirstNetworkID` does not work correctly because the first
network is not always the private network of the instance.

As long as the `GET /networks` gives a list containing also public
networks we don't have any guarantee that the first network is the
one we want. Furthermore, with a loop over the network list we are
not able to determine which network is the one we want.

Instead of retrieving the network ID and then finding the port ID,
it's better to basically take the first port ID of the instance.
2015-04-01 00:14:56 +02:00
Paul Hinze 08814a51ba Merge pull request #924 from jrperritt/openstack-gophercloud-v1.0
OpenStack Provider
2015-03-31 16:58:21 -05:00
Mitchell Hashimoto 3a167c0216 Merge pull request #1329 from hashicorp/f-docker
Docker provider
2015-03-31 14:50:08 -07:00
Chris Buben 0092946f74 user_data support
Mostly stolen from: https://github.com/jtopjian/terraform-provider-openstack/blob/master/openstack/resource_openstack_instance.go
2015-03-31 09:54:50 -06:00
Julien Vey 2e37784065 Fix general comments by @phinze 2015-03-31 09:54:50 -06:00
Joe Topjian f011462e30 Volume Pending States
This commit adds pending states for volume attachment, detachment,
and deletion.
2015-03-31 09:54:50 -06:00
Joe Topjian f5feb7fbbb Allows "self" to be discovered and recorded correctly. 2015-03-31 09:54:50 -06:00
Guillaume Giamarchi ba880b136b Code clean-up 2015-03-31 09:54:50 -06:00
Guillaume Giamarchi 83160acf69 Return Read call result in Create & Update 2015-03-31 09:54:50 -06:00
Guillaume Giamarchi bdeca31731 remove boilerplate code using CheckDeleted 2015-03-31 09:54:50 -06:00
Guillaume Giamarchi 16a963313f FWaaS version is actually v1 not v2
Rename files and methods.

Confusion have been made between neutron
version and FWaaS extension version.
2015-03-31 09:54:50 -06:00
Guillaume Giamarchi 1efaaeeca6 Use d.GetOk to populate data in read operations 2015-03-31 09:54:50 -06:00
Guillaume Giamarchi ed31588b84 Unassociate firewall rule from policy before delete 2015-03-31 09:54:49 -06:00
Guillaume Giamarchi 54174dcc05 Fix firewall policies tests 2015-03-31 09:54:49 -06:00
Guillaume Giamarchi c5e861c049 Remove useless code 2015-03-31 09:54:49 -06:00
Guillaume Giamarchi 1c981d6f30 Fix race conditions on firewall state transition 2015-03-31 09:54:49 -06:00
Guillaume Giamarchi d6733fb379 Fix code regarding to the latest gophercloud code 2015-03-31 09:54:49 -06:00
Guillaume Giamarchi cfd3329e00 Add tenant_id attribute on FWaaS resources 2015-03-31 09:54:49 -06:00