Commit Graph

443 Commits

Author SHA1 Message Date
Gavin Williams afb8bb27e8 provider/openstack: Add support for 'value_specs' options to (#13380)
`openstack_compute_servergroup_v2`
Refactor to use common `types.go` and `MapValueSpecs function`.
Added supporting website documentation.
2017-04-07 15:15:31 +03:00
Joe Topjian cfd4101055 provider/openstack: Add SOFT_DELETED to delete status (#13444)
This commit allows clean deletion of instances that have a
status of SOFT_DELETED.
2017-04-07 15:13:08 +03:00
dannytrigo 92cda8f75d Do not error if compute volume attachment is missing (#13342)
https://github.com/hashicorp/terraform/issues/13334
2017-04-05 06:43:16 +01:00
Joe Topjian 77a41ca859 provider/openstack: Resolve issues with Port Fixed IPs (#13056)
* provider/openstack: Add all_fixed_ips computed attribute to port resource

This commit adds the `all_fixed_ips` attribute to the
openstack_networking_port_v2 resource. This contains all of the port's
Fixed IPs returned by the Networking v2 API.

* provider/openstack: Revert Port fixed_ip back to a List

This commit reverts the changes made in a8c4e81a6e3f2. This
re-enables the ability to reference IP addresses using the
numerical-element notation.

This commit also makes fixed_ip a non-computed field, meaning
Terraform will no longer set fixed_ip with what was returned
by the API. This resolves the original issue about ordering.

The last use-case is for fixed_ips that received an IP address
via DHCP. Because fixed_ip is no longer computed, the DHCP IP
will not be set. The workaround for this use-case is to use the
new all_fixed_ips attribute.

In effect, users should use fixed_ip only as a way of inputting
data into Terraform and use all_fixed_ips as the output returned
by the API. If use-cases exist where fixed_ip can be used as an
output, that's a bonus feature.
2017-03-27 20:22:56 +03:00
Joe Topjian 7199a58ce7 provider/openstack: Adding all_metadata attribute (#13061)
This commit adds the all_metadata attribute which contains all
instance metadata returned from the OpenStack Compute API. This
is useful for gaining access to metadata which was applied
out of band of Terraform.

This commit also stops setting the original metadata attribute,
effectively making metadata an input and all_metadata the output
to reference all data from.
2017-03-27 20:09:18 +03:00
Joe Topjian fafd488a1c provider/openstack: 409 Response on Pool Create (#13074)
This commit accounts for a 409 response when a LBaaS v2 pool is
being created. Rather than error out, this should be considered a
pending state.
2017-03-26 14:35:01 +03:00
Joe Topjian 89905368b9 provider/openstack: Don't log the catalog (#13075)
The OS_DEBUG feature has worked out great, but frequent logging of
the service catalog during client initialization can make logging
very chatty. This commit omits the service catalog in the logs.
2017-03-26 12:35:40 +03:00
Joe Topjian 9af4c1da67 provider/openstack: Fix monitor_id typo in LBaaS v1 Pool (#13069) 2017-03-25 22:42:18 +02:00
Joe Topjian de255d43d6 provider/openstack: Decprecating Instance Floating IP attribute (#13063)
This commit deprecates the floating_ip attributes from the
openstack_compute_instance_v2 resource. It is recommended to use
either the openstack_compute_floatingip_associate resource or
configure an openstack_networking_port_v2 resource with a floating
IP.
2017-03-25 13:09:35 +02:00
Joe Topjian de8e2d7f2b provider/openstack: Deprecating Instance Volume attribute (#13062)
This commit deprecates the volume attribute in the
openstack_compute_instance_v2 resource. It's recommended to either
use the block_device attribute or the openstack_compute_volume_attach_v2
resource.
2017-03-25 13:08:07 +02:00
Joe Topjian 0d3190fd8f provider/openstack: Fixing typo in secgroup rule timeout test 2017-03-25 01:34:42 +00:00
Joe Topjian bd7ba34627 provider/openstack: Adding Timeouts to Network Resources (#12866) 2017-03-19 17:23:36 +00:00
Joe Topjian fbf1732a7b provider/openstack: Adding Timeouts to LBaaS v1 Resources (#12867) 2017-03-19 17:18:03 +00:00
Joe Topjian adbc87f1e7 provider/openstack: Adding Timeouts to Image v2 and LBaaS v2 Resources (#12865) 2017-03-19 17:14:20 +00:00
Joe Topjian 42ff9103b7 provider/openstack: Adding Timeouts to FWaaS v1 Resources (#12863) 2017-03-19 17:09:22 +00:00
Joe Topjian e37b26a3fa provider/openstack: Adding Timeouts to Blockstorage Resources (#12862) 2017-03-19 17:07:26 +00:00
Joe Topjian f54b0a88a7 provider/openstack: Add timeout support for Compute resources (#12794)
This commit adds support for specifying timeout values for the
openstack_compute_* family of resources.
2017-03-17 16:08:02 +00:00
Joe Topjian 9683f705f7 provider/openstack: Force Deletion of Instances (#12689)
This commit adds the `force_delete` argument, enabling instances
to be forcefully deleted.
2017-03-14 18:26:59 +02:00
Karol Stępniewski 1fef190b68 Check for ErrDefault500 when creating/deleting pool member (#12664)
If LBaaSV2 member creation/deletion is attempted while LB resource is
busy (for example it's in PENDING_UPDATE state), Neutron will return 500
error. Currently This being caught by type assertion to
ErrUnexpectedResponseCode, however error 500 has a dedicated type
ErrDefault500, which makes the current type assertion to miss it and
eventually the error slips out through the check. This patch
changes the type assertion to explicitly check for ErrDefault500.

Also similar check has been added when member is deleted.
2017-03-14 12:45:43 +02:00
Joe Topjian aa4676e622 provider/openstack: Add network_id to Network data source (#12615)
This commit adds the ability to search for a network by its ID. This
is useful for doing ID-to-name translations.
2017-03-12 18:39:25 +02:00
Joe Topjian 20c88bcdf4 provider/openstack: Change Port fixed_ip to a Set (#12613)
This commit changes the openstack_networking_port_v2 fixed_ip
parameter from a List to a Set. This is because OpenStack does not
preserve the original ordering of the fixed IPs.
2017-03-12 16:00:47 +02:00
Joe Topjian f4e74650f0 provider/openstack: Set Availability Zone in Instances (#12610)
* provider/openstack: Set Availability Zone in Instances

This commit configures the openstack_compute_instance_v2 resource
to set the Availability Zone of the instance resource.

* vendor: Updating Gophercloud for OpenStack
2017-03-12 15:59:50 +02:00
yanndegat 09b1f4e1be provider/openstack: Add openstack_networking_network_v2 datasource (#12304) 2017-03-06 13:25:08 +02:00
Joe Topjian 120e3af178 provider/openstack: Toggle Creation of Default Security Group Rules (#12119)
This commit modifies the behavior implemented in #9799 by enabling
the user to be able to toggle the creation of the default security
group rules.
2017-03-05 16:18:00 +02:00
Joe Topjian 4ba145a3ac provider/openstack: Handle cases where volumes are disabled (#12374)
This commit handles the case where the volume API extensions are
disabled.
2017-03-05 15:53:09 +02:00
Joe Topjian 959c197dc3 provider/openstack: rename image data source files (#12439) 2017-03-04 20:24:19 +02:00
Joe Topjian 1ab3750085 provider/openstack: Redesign openstack_blockstorage_volume_attach_v2 (#12071)
* provider/openstack: Redesign openstack_blockstorage_volume_attach_v2

The current design of openstack_blockstorage_volume_attach_v2 does
not correctly implement the Block Storage API attachment call. It
was only partially implemented, only marking volumes as being
attached, while never actually attaching them.

This redesign is a closer alignment to how creating attachments
to a standalone Block Storage service works.

For creating attachments specifically in the case of OpenStack
Compute instances, the openstack_compute_volume_attach_v2 resource
is required.

* provider/openstack: re-adding instance_id for backwards compatibility
2017-03-02 05:20:56 +00:00
Joe Topjian 1dba855daf provider/openstack: openstack_compute_floatingip_associate_v2 resource (#12190)
This commit adds the openstack_compute_floatingip_associate_v2
resource which specifically handles associating a floating IP
address to an instance. This can be used instead of the existing
floating_ip options in the openstack_compute_instance_v2 resource.
2017-03-02 05:18:57 +00:00
Joe Topjian 85de5f1e04 provider/openstack: Rename provider to loadbalancer_provider (#12239)
* provider/openstack: Rename provider to loadbalancer_provider

This commit renames provider to loadbalancer_provider in the
openstack_lb_loadbalancer_v2 resource.

It also changes security_group_ids to Computed so default
security groups are added to the state correctly.

* provider/openstack: Switch to a deprecation path for loadbalancer provider

This commit switches to using a deprecation path for removal of the
previous "provider" argument in favor of the new "loadbalancer_provider".
2017-02-28 16:06:49 +00:00
Joe Topjian 5a514f22f7 provider/openstack: Add Additional Targets for LBaaS v1 Member (#12266)
This commit adds CREATED and DOWN as additional valid targets
for creating LBaaS v1 members.
2017-02-27 10:32:16 +00:00
Joe Topjian 9d3606c1b2 provider/openstack: Update Development Documentation (#12265)
This commit removes the bundled devstack script and updates the
documentation to point to the latest build scripts used for
testing. It also mentions that development should be possible on
any OpenStack environment.
2017-02-27 10:27:55 +00:00
Joe Topjian 8ea8588c52 provider/openstack: Image Data Source (#12097)
* vendor: Updating Gophercloud

* provider/openstack: Image Data Source

This commit adds the openstack_images_image_v2 data source which
is able to query the Image Service v2 API for a specific image.
2017-02-20 19:03:17 +02:00
Joe Topjian 1b5694b7f4 provider/openstack: Enable HTTP Logging (#12089)
This commit adds the ability to log all requests and responses
between Terraform and the OpenStack cloud. To enable, set the
OS_DEBUG environment variable to 1.
2017-02-20 14:36:05 +02:00
Joe Topjian 6d4fc8d21a provider/openstack: Don't allow floating IP and port (#12099)
This commit adds a check to prevent a user from specifying both
a floating IP and a port on a specific network. While this
configuration is currently allowed, the Port will be chosen and
applying the configuration again will show a state mismatch. This
attempts to prevent such a misconfiguration.
2017-02-20 14:32:28 +02:00
Joe Topjian 9188a80192 provider/openstack: Updates to openstack_images_image_v2 resource
This commit has a few more fixes to the recently added
openstack_images_image_v2 resource:

* tags were changed to a Set because the OpenStack Image API does
not seem to respect ordering.
* The visibility argument was fixed.
* Acceptance tests for all updatable fields has been implemented.
* Documentation updates, including a new entry in the sidebar.
2017-02-19 21:20:29 +00:00
Joe Topjian 96d2ac21d4 provider/openstack: Fix Creation of Empty Tags
This commit fixes a bug where images would be created with empty tags.
Acceptance tests were also tidied up.
2017-02-19 18:44:42 +00:00
Joe Topjian b3b9247ad0 Merge pull request #11942 from yanndegat/master
Add resource_openstack_images_image_v2
2017-02-19 10:21:58 -07:00
Yann DEGAT e3a6b00db0 provider/openstack: Adding Image Resource 2017-02-17 09:35:16 +01:00
Joe Topjian 47bf2eff09 provider/openstack BlockStorage v1 availability_zone Fix (#11949)
* vendor: Updating Gophercloud

* provider/openstack: Fix upstream AvailabilityZone field

This commit complements an upstream fix where "availability" was being sent instead of
"availability_zone".
2017-02-15 09:37:05 +00:00
Joe Topjian beb00e287d Merge pull request #10271 from ljfranklin/PR-openstack-ssl-content
Allow OpenStack SSL certs + keys to take path or content
2017-02-08 22:11:31 -07:00
Lyle Franklin 3b7cf41b83 Allow OpenStack SSL fields to be specified by contents
- OpenStack provider now supports either a path or the file contents for
  `cacert_file`, `cert`, and `key`
- Makes it easier to automate TF by passing in certs as environment
  variables
- set `OS_SSL_TESTS=true` to run the acceptance tests
2017-02-05 11:17:00 -08:00
Joe Topjian 5f8dc6cc34 provider/openstack: Remove Default Security Group Rules (#11466)
This commit removes the default security group rules that are automatically
created when a security group is created. These rules are usually
permissive egress rules which makes it difficult to add more strict egress
security group rules.
2017-01-29 16:07:33 +00:00
Joe Topjian b593d6903d provider/openstack: Volume Attachment Updates (#11285)
This commit adds a StateRefresh func for volume attachments. Mostly
this is to add a buffer of time between the request and the return
of the attachment to give time for the volume to become attached,
however, in some cases the refresh function could work as specified.

Docs have also been updated to reflect that a device could be specified,
but to use with caution.
2017-01-23 22:19:50 +00:00
Joe Topjian e31269d721 provider/openstack: Fix Instance Metadata Deletion (#11252)
This commit fixes a bug where instance metadata removed from the
configuration was not removed from the actual instance.
2017-01-18 11:50:59 +00:00
Joe Topjian d240ddcde8 provider/openstack: Increase deletion timeout for router interfaces (#11250) 2017-01-18 09:39:41 +00:00
Joe Topjian 91147fe11c provider/openstack: LoadBalancer Security Groups (#11074)
* provider/openstack: LoadBalancer Security Groups

This commit adds the ability to specify security groups on a loadbalancer
resource.

* provider/openstack: LoadBalancer Security Groups Refactor

Moving common security group code into a dedicated function.
2017-01-12 16:00:32 +02:00
Joe Topjian 414b566d2e provider/openstack: Updating LBaaSV1 acceptance tests (#10979) 2017-01-02 13:46:15 +00:00
Joe Topjian af5baf7b13 provider/openstack: Network and Object Storage Acceptance Test Cleanup (#10967)
* provider/openstack: Updating Networking acceptance tests

* provider/openstack: Updating Object Storage acceptance tests
2016-12-31 18:09:56 +00:00
Joe Topjian b55cf9d601 provider/openstack: Updating FWaaS and LBaaS v2 Acceptance Tests (#10959)
* provider/openstack: Updating FWaaS acceptance tests

* provider/openstack: Updating LBaaS v2 acceptance tests
2016-12-29 23:37:01 +00:00
Joe Topjian 64051f9214 provider/openstack: Updating Compute acceptance tests (#10954) 2016-12-29 16:01:30 +00:00