Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Take updates from upstream hashicorp #10

Merged
merged 133 commits into from
Nov 19, 2015
Merged

Conversation

danielcbright
Copy link

No description provided.

dwradcliffe and others added 30 commits July 31, 2015 08:39
Change-Id: Ia1b26bf32d16628c3ef5cf99745ba7c222d3251e
This commit fixes an issue with security group rules where the rules
were not being correctly computed due to a typo in the rule map.

Once rules were successfully computed, the rules then needed to be
converted into a Set so they can be correctly ordered.
Add example of redrive_policy to docs.

Fixes #2711.
providers/aws: Fix issue with removing access_logs from ELB
catsby and others added 27 commits November 17, 2015 16:37
provider/aws: add support for group name and path changes with group update function
…cleanup

provider/openstack: Clean up some attributes in LBaaS VIP resource
provider/aws: remove build-blocking unused variable.
This is shorthand to build and install the core of terraform, without
touching the providers.
Add `core` target to Makefile
docs: fix template_file syntax error
…-updates

Update docs to reflect vsphere provider only supporting IPv4 addresses
provider/cloudstack docs: use underscore in virtual machine attribute
Because `aws_security_group_rule` resources are an abstraction on top of
Security Groups, they must interact with the AWS Security Group APIs in
a pattern that often results in lots of parallel requests interacting
with the same security group.

We've found that this pattern can trigger race conditions resulting in
inconsistent behavior, including:

 * Rules that report as created but don't actually exist on AWS's side
 * Rules that show up in AWS but don't register as being created
   locally, resulting in follow up attempts to authorize the rule
   failing w/ Duplicate errors

Here, we introduce a per-SG mutex that must be held by any security
group before it is allowed to interact with AWS APIs. This protects the
space between `DescribeSecurityGroup` and `Authorize*` / `Revoke*`
calls, ensuring that no other rules interact with the SG during that
span.

The included test exposes the race by applying a security group with
lots of rules, which based on the dependency graph can all be handled in
parallel. This fails most of the time without the new locking behavior.

I've omitted the mutex from `Read`, since it is only called during the
Refresh walk when no changes are being made, meaning a bunch of parallel
`DescribeSecurityGroup` API calls should be consistent in that case.
provider/aws: serialize SG rule access to fix race condition
providers/aws: Fix typo in error checking for IAM Policy Attachments
we need AWS keys now, not bintray keys
Add tests for JSON configuration parsing
scripts: check for the correct env vars in dist.sh
danielcbright added a commit that referenced this pull request Nov 19, 2015
Take updates from upstream hashicorp
@danielcbright danielcbright merged commit ac3cad0 into IBM-Cloud:master Nov 19, 2015
renier pushed a commit that referenced this pull request Oct 6, 2016
The real reasoning for this can be found in #9, #10, and #11. All
these vendor updates aim to fix that issue, with minor adjustments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.