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

r/aws_vpc_peering_connection_options: Only modify VPC Peering options that have actually changed #12126

Merged
merged 13 commits into from
Oct 29, 2020

Conversation

ewbankkit
Copy link
Contributor

Community Note

  • Please vote on this pull request by adding a 👍 reaction to the original pull request comment to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for pull request followers and do not help prioritize the request

Closes #12113.

Release note for CHANGELOG:

resource/aws_vpc_peering_connection_options: Only modify options that have changed

Output from acceptance testing:

$ make testacc TEST=./aws/ TESTARGS='-run=TestAccAWSVpcPeeringConnectionOptions_'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws/ -v -count 1 -parallel 2 -run=TestAccAWSVpcPeeringConnectionOptions_ -timeout 120m
=== RUN   TestAccAWSVpcPeeringConnectionOptions_basic
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_basic
=== RUN   TestAccAWSVpcPeeringConnectionOptions_sameRegionSameAccountUpdates
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_sameRegionSameAccountUpdates
=== RUN   TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccountBasic
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccountBasic
=== RUN   TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccountUpdates
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccountUpdates
=== RUN   TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccountBasic
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccountBasic
=== RUN   TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccountUpdates
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccountUpdates
=== CONT  TestAccAWSVpcPeeringConnectionOptions_basic
=== CONT  TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccountUpdates
--- PASS: TestAccAWSVpcPeeringConnectionOptions_basic (41.32s)
=== CONT  TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccountBasic
--- PASS: TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccountUpdates (73.05s)
=== CONT  TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccountUpdates
--- PASS: TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccountBasic (45.75s)
=== CONT  TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccountBasic
--- PASS: TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccountUpdates (69.23s)
=== CONT  TestAccAWSVpcPeeringConnectionOptions_sameRegionSameAccountUpdates
--- PASS: TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccountBasic (46.71s)
--- PASS: TestAccAWSVpcPeeringConnectionOptions_sameRegionSameAccountUpdates (64.91s)
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws	169.686s
$ make testacc TEST=./aws/ TESTARGS='-run=TestAccAWSVPCPeeringConnection_'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws/ -v -count 1 -parallel 2 -run=TestAccAWSVPCPeeringConnection_ -timeout 120m
=== RUN   TestAccAWSVPCPeeringConnection_basic
=== PAUSE TestAccAWSVPCPeeringConnection_basic
=== RUN   TestAccAWSVPCPeeringConnection_plan
=== PAUSE TestAccAWSVPCPeeringConnection_plan
=== RUN   TestAccAWSVPCPeeringConnection_tags
=== PAUSE TestAccAWSVPCPeeringConnection_tags
=== RUN   TestAccAWSVPCPeeringConnection_options
=== PAUSE TestAccAWSVPCPeeringConnection_options
=== RUN   TestAccAWSVPCPeeringConnection_failedState
=== PAUSE TestAccAWSVPCPeeringConnection_failedState
=== RUN   TestAccAWSVPCPeeringConnection_peerRegionAutoAccept
=== PAUSE TestAccAWSVPCPeeringConnection_peerRegionAutoAccept
=== RUN   TestAccAWSVPCPeeringConnection_region
=== PAUSE TestAccAWSVPCPeeringConnection_region
=== RUN   TestAccAWSVPCPeeringConnection_accept
=== PAUSE TestAccAWSVPCPeeringConnection_accept
=== RUN   TestAccAWSVPCPeeringConnection_optionsNoAutoAccept
=== PAUSE TestAccAWSVPCPeeringConnection_optionsNoAutoAccept
=== CONT  TestAccAWSVPCPeeringConnection_basic
=== CONT  TestAccAWSVPCPeeringConnection_peerRegionAutoAccept
--- PASS: TestAccAWSVPCPeeringConnection_peerRegionAutoAccept (21.17s)
=== CONT  TestAccAWSVPCPeeringConnection_optionsNoAutoAccept
--- PASS: TestAccAWSVPCPeeringConnection_basic (39.62s)
=== CONT  TestAccAWSVPCPeeringConnection_accept
--- PASS: TestAccAWSVPCPeeringConnection_optionsNoAutoAccept (24.94s)
=== CONT  TestAccAWSVPCPeeringConnection_region
--- PASS: TestAccAWSVPCPeeringConnection_region (38.97s)
=== CONT  TestAccAWSVPCPeeringConnection_options
--- PASS: TestAccAWSVPCPeeringConnection_accept (84.16s)
=== CONT  TestAccAWSVPCPeeringConnection_failedState
--- PASS: TestAccAWSVPCPeeringConnection_failedState (21.11s)
=== CONT  TestAccAWSVPCPeeringConnection_tags
--- PASS: TestAccAWSVPCPeeringConnection_options (64.61s)
=== CONT  TestAccAWSVPCPeeringConnection_plan
--- PASS: TestAccAWSVPCPeeringConnection_tags (38.84s)
--- PASS: TestAccAWSVPCPeeringConnection_plan (34.74s)
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws	184.509s

Without the fix, updating VPC peering connection options for cross-region peerings would fail:

$ make testacc TEST=./aws/ TESTARGS='-run=TestAccAWSVpcPeeringConnectionOptions_'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws/ -v -count 1 -parallel 1 -run=TestAccAWSVpcPeeringConnectionOptions_ -timeout 120m
=== RUN   TestAccAWSVpcPeeringConnectionOptions_basic
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_basic
=== RUN   TestAccAWSVpcPeeringConnectionOptions_sameRegionSameAccountUpdates
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_sameRegionSameAccountUpdates
=== RUN   TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccountBasic
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccountBasic
=== RUN   TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccountUpdates
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccountUpdates
=== RUN   TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccountBasic
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccountBasic
=== RUN   TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccountUpdates
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccountUpdates
=== CONT  TestAccAWSVpcPeeringConnectionOptions_basic
--- PASS: TestAccAWSVpcPeeringConnectionOptions_basic (41.92s)
=== CONT  TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccountBasic
--- PASS: TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccountBasic (46.27s)
=== CONT  TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccountUpdates
--- PASS: TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccountUpdates (70.79s)
=== CONT  TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccountBasic
--- PASS: TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccountBasic (46.41s)
=== CONT  TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccountUpdates
--- FAIL: TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccountUpdates (56.62s)
    testing.go:654: Step 2 error: errors during apply:
        
        Error: error modifying VPC Peering Connection (pcx-0db05882d9de2b5fb) Options: InvalidParameterValue: Requester’s VPC Peering connection options cannot be modified for a different region
        	status code: 400, request id: db4628d4-5c79-496f-911b-303cf2e58108
        
          on /tmp/tf-test059046709/main.tf line 63:
          (source code not available)
        
        
        
        Error: error modifying VPC Peering Connection (pcx-0db05882d9de2b5fb) Options: InvalidParameterValue: Accepter’s VPC Peering connection options cannot be modified for a different region
        	status code: 400, request id: ef53e7fb-12a3-480d-a02b-e9fb86e190c6
        
          on /tmp/tf-test059046709/main.tf line 52:
          (source code not available)
        
        
=== CONT  TestAccAWSVpcPeeringConnectionOptions_sameRegionSameAccountUpdates
--- PASS: TestAccAWSVpcPeeringConnectionOptions_sameRegionSameAccountUpdates (65.81s)
FAIL
FAIL	github.com/terraform-providers/terraform-provider-aws/aws	327.905s
FAIL
GNUmakefile:25: recipe for target 'testacc' failed
make: *** [testacc] Error 1

@ewbankkit ewbankkit requested a review from a team February 21, 2020 20:46
@ghost ghost added size/XL Managed by automation to categorize the size of a PR. needs-triage Waiting for first response or review from a maintainer. service/ec2 Issues and PRs that pertain to the ec2 service. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure. labels Feb 21, 2020
@relnetops
Copy link

@ewbankkit Thanks for this PR. This is currently affecting one of our peering connections. It's been a few months. Can we get this reviewed?

@ewbankkit
Copy link
Contributor Author

Rebased to fix merge conflict.
Re-ran acceptance tests:

$ make testacc TEST=./aws/ TESTARGS='-run=TestAccAWSVPCPeeringConnection_'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws/ -v -count 1 -parallel 2 -run=TestAccAWSVPCPeeringConnection_ -timeout 120m
=== RUN   TestAccAWSVPCPeeringConnection_basic
=== PAUSE TestAccAWSVPCPeeringConnection_basic
=== RUN   TestAccAWSVPCPeeringConnection_plan
=== PAUSE TestAccAWSVPCPeeringConnection_plan
=== RUN   TestAccAWSVPCPeeringConnection_tags
=== PAUSE TestAccAWSVPCPeeringConnection_tags
=== RUN   TestAccAWSVPCPeeringConnection_options
=== PAUSE TestAccAWSVPCPeeringConnection_options
=== RUN   TestAccAWSVPCPeeringConnection_failedState
=== PAUSE TestAccAWSVPCPeeringConnection_failedState
=== RUN   TestAccAWSVPCPeeringConnection_peerRegionAutoAccept
=== PAUSE TestAccAWSVPCPeeringConnection_peerRegionAutoAccept
=== RUN   TestAccAWSVPCPeeringConnection_region
=== PAUSE TestAccAWSVPCPeeringConnection_region
=== RUN   TestAccAWSVPCPeeringConnection_accept
=== PAUSE TestAccAWSVPCPeeringConnection_accept
=== RUN   TestAccAWSVPCPeeringConnection_optionsNoAutoAccept
=== PAUSE TestAccAWSVPCPeeringConnection_optionsNoAutoAccept
=== CONT  TestAccAWSVPCPeeringConnection_basic
=== CONT  TestAccAWSVPCPeeringConnection_peerRegionAutoAccept
--- PASS: TestAccAWSVPCPeeringConnection_peerRegionAutoAccept (21.43s)
=== CONT  TestAccAWSVPCPeeringConnection_optionsNoAutoAccept
--- PASS: TestAccAWSVPCPeeringConnection_basic (40.14s)
=== CONT  TestAccAWSVPCPeeringConnection_accept
--- PASS: TestAccAWSVPCPeeringConnection_optionsNoAutoAccept (24.86s)
=== CONT  TestAccAWSVPCPeeringConnection_region
--- PASS: TestAccAWSVPCPeeringConnection_region (39.26s)
=== CONT  TestAccAWSVPCPeeringConnection_options
--- PASS: TestAccAWSVPCPeeringConnection_accept (85.58s)
=== CONT  TestAccAWSVPCPeeringConnection_failedState
--- PASS: TestAccAWSVPCPeeringConnection_failedState (21.42s)
=== CONT  TestAccAWSVPCPeeringConnection_tags
--- PASS: TestAccAWSVPCPeeringConnection_options (64.76s)
=== CONT  TestAccAWSVPCPeeringConnection_plan
--- PASS: TestAccAWSVPCPeeringConnection_plan (34.39s)
--- PASS: TestAccAWSVPCPeeringConnection_tags (39.30s)
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws	186.521s

@ghost ghost added size/L Managed by automation to categorize the size of a PR. and removed size/XL Managed by automation to categorize the size of a PR. labels Aug 3, 2020
@ewbankkit ewbankkit removed the needs-triage Waiting for first response or review from a maintainer. label Aug 3, 2020
@ewbankkit
Copy link
Contributor Author

ewbankkit commented Aug 3, 2020

Rebased and simplified changes to reduce PR size.
Acceptance test output:

$ make testacc TEST=./aws/ TESTARGS='-run=TestAccAWSVPCPeeringConnection_'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 2 -run=TestAccAWSVPCPeeringConnection_ -timeout 120m
=== RUN   TestAccAWSVPCPeeringConnection_basic
=== PAUSE TestAccAWSVPCPeeringConnection_basic
=== RUN   TestAccAWSVPCPeeringConnection_plan
=== PAUSE TestAccAWSVPCPeeringConnection_plan
=== RUN   TestAccAWSVPCPeeringConnection_tags
=== PAUSE TestAccAWSVPCPeeringConnection_tags
=== RUN   TestAccAWSVPCPeeringConnection_options
=== PAUSE TestAccAWSVPCPeeringConnection_options
=== RUN   TestAccAWSVPCPeeringConnection_failedState
=== PAUSE TestAccAWSVPCPeeringConnection_failedState
=== RUN   TestAccAWSVPCPeeringConnection_peerRegionAutoAccept
=== PAUSE TestAccAWSVPCPeeringConnection_peerRegionAutoAccept
=== RUN   TestAccAWSVPCPeeringConnection_region
=== PAUSE TestAccAWSVPCPeeringConnection_region
=== RUN   TestAccAWSVPCPeeringConnection_accept
=== PAUSE TestAccAWSVPCPeeringConnection_accept
=== RUN   TestAccAWSVPCPeeringConnection_optionsNoAutoAccept
=== PAUSE TestAccAWSVPCPeeringConnection_optionsNoAutoAccept
=== CONT  TestAccAWSVPCPeeringConnection_basic
=== CONT  TestAccAWSVPCPeeringConnection_peerRegionAutoAccept
--- PASS: TestAccAWSVPCPeeringConnection_peerRegionAutoAccept (14.09s)
=== CONT  TestAccAWSVPCPeeringConnection_optionsNoAutoAccept
--- PASS: TestAccAWSVPCPeeringConnection_basic (26.40s)
=== CONT  TestAccAWSVPCPeeringConnection_accept
--- PASS: TestAccAWSVPCPeeringConnection_optionsNoAutoAccept (16.97s)
=== CONT  TestAccAWSVPCPeeringConnection_region
--- PASS: TestAccAWSVPCPeeringConnection_region (25.91s)
=== CONT  TestAccAWSVPCPeeringConnection_options
--- PASS: TestAccAWSVPCPeeringConnection_accept (53.94s)
=== CONT  TestAccAWSVPCPeeringConnection_failedState
--- PASS: TestAccAWSVPCPeeringConnection_failedState (14.57s)
=== CONT  TestAccAWSVPCPeeringConnection_tags
--- PASS: TestAccAWSVPCPeeringConnection_options (41.97s)
=== CONT  TestAccAWSVPCPeeringConnection_plan
--- PASS: TestAccAWSVPCPeeringConnection_tags (25.91s)
--- PASS: TestAccAWSVPCPeeringConnection_plan (23.37s)
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws	122.415s
$ make testacc TEST=./aws/ TESTARGS='-run=TestAccAWSVpcPeeringConnectionOptions_'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 2 -run=TestAccAWSVpcPeeringConnectionOptions_ -timeout 120m
=== RUN   TestAccAWSVpcPeeringConnectionOptions_basic
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_basic
=== RUN   TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount
=== RUN   TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccount
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccount
=== CONT  TestAccAWSVpcPeeringConnectionOptions_basic
=== CONT  TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccount
--- PASS: TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccount (32.41s)
=== CONT  TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount
--- PASS: TestAccAWSVpcPeeringConnectionOptions_basic (44.41s)
--- PASS: TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount (48.80s)
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws	81.275s

Not having the fix in aws/resource_aws_vpc_peering_connection_options.go results in errors like:

$ make testacc TEST=./aws/ TESTARGS='-run=TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 20 -run=TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount -timeout 120m
=== RUN   TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount
=== CONT  TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount
    testing.go:684: Step 2 error: errors during apply:
        
        Error: error modifying VPC Peering Connection (pcx-08b73031c106fcbc4) Options: InvalidParameterValue: Accepter’s VPC Peering connection options cannot be modified for a different region
        	status code: 400, request id: d944ca4e-4fe2-4fb2-9f0e-b3b670ceb23e
        
          on /tmp/tf-test678982383/main.tf line 47:
          (source code not available)
        
        
        
        Error: error modifying VPC Peering Connection (pcx-08b73031c106fcbc4) Options: InvalidParameterValue: Requester’s VPC Peering connection options cannot be modified for a different region
        	status code: 400, request id: e830e99c-8fb8-4174-8e52-9631b1912b33
        
          on /tmp/tf-test678982383/main.tf line 58:
          (source code not available)
        
        
--- FAIL: TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount (41.91s)
FAIL
FAIL	github.com/terraform-providers/terraform-provider-aws/aws	42.013s
FAIL
GNUmakefile:26: recipe for target 'testacc' failed
make: *** [testacc] Error 1

@ewbankkit ewbankkit requested review from DrFaust92 and removed request for a team August 3, 2020 18:34
Copy link
Collaborator

@DrFaust92 DrFaust92 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

--- PASS: TestAccAWSVpcPeeringConnectionOptions_basic (121.25s)
--- PASS: TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount (136.50s)
--- PASS: TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccount (117.39s)
--- PASS: TestAccAWSVPCPeeringConnection_basic (71.97s)
--- PASS: TestAccAWSVPCPeeringConnection_plan (68.72s)
--- PASS: TestAccAWSVPCPeeringConnection_tags (72.17s)
--- PASS: TestAccAWSVPCPeeringConnection_options (117.57s)
--- PASS: TestAccAWSVPCPeeringConnection_failedState (38.44s)
--- PASS: TestAccAWSVPCPeeringConnection_peerRegionAutoAccept (38.74s)
--- PASS: TestAccAWSVPCPeeringConnection_region (68.97s)
--- PASS: TestAccAWSVPCPeeringConnection_accept (147.14s)
--- PASS: TestAccAWSVPCPeeringConnection_optionsNoAutoAccept (45.21s)

@kenerwin88
Copy link

I hope this gets merged in soon, need it badly :)

r/aws_vpc_peering_connection_options: Revert acceptance test changes (for now).
…tionOptions_sameRegionDifferentAccount' (copypasta from hashicorp#14067).
…ccAWSVpcPeeringConnectionOptions_differentRegionSameAccount'.
…lugin SDK correctly handles import testing with multiple providers.

Acceptance test output:

$ make testacc TEST=./aws/ TESTARGS='-run=TestAccAWSVpcPeeringConnectionOptions_'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 2 -run=TestAccAWSVpcPeeringConnectionOptions_ -timeout 120m
=== RUN   TestAccAWSVpcPeeringConnectionOptions_basic
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_basic
=== RUN   TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount
=== RUN   TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccount
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccount
=== CONT  TestAccAWSVpcPeeringConnectionOptions_basic
=== CONT  TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccount
--- PASS: TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccount (32.41s)
=== CONT  TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount
--- PASS: TestAccAWSVpcPeeringConnectionOptions_basic (44.41s)
--- PASS: TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount (48.80s)
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws	81.275s
…rRegionAutoAccept'.

Failing acceptance test output:

=== CONT  TestAccAWSVPCPeeringConnection_peerRegionAutoAccept
    testing.go:677: Step 0, expected error:

        Error initializing context: 2 problems:

        - Could not satisfy plugin requirements:
        Plugin reinitialization required. Please run "terraform init".

        Plugins are external binaries that Terraform uses to access and manipulate
        resources. The configuration provided requires plugins which can't be located,
        don't satisfy the version constraints, or are otherwise incompatible.

        Terraform automatically discovers provider requirements from your
        configuration, including providers used in child modules. To see the
        requirements and constraints from each module, run "terraform providers".

        - provider "awsalternate" is not available

        To match:

        .*peer_region cannot be set whilst auto_accept is true when creating a vpc peering connection.*

--- FAIL: TestAccAWSVPCPeeringConnection_peerRegionAutoAccept (0.87s)

Successful acceptance test output:

$ make testacc TEST=./aws/ TESTARGS='-run=TestAccAWSVPCPeeringConnection_peerRegionAutoAccept'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 2 -run=TestAccAWSVPCPeeringConnection_peerRegionAutoAccept -timeout 120m
=== RUN   TestAccAWSVPCPeeringConnection_peerRegionAutoAccept
=== PAUSE TestAccAWSVPCPeeringConnection_peerRegionAutoAccept
=== CONT  TestAccAWSVPCPeeringConnection_peerRegionAutoAccept
--- PASS: TestAccAWSVPCPeeringConnection_peerRegionAutoAccept (13.91s)
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws	13.986s
…eckTypeSetElemNestedAttrs' as 'requester' and 'accepter' are TypeList, not TypeSet.

Acceptance test output:

$ make testacc TEST=./aws/ TESTARGS='-run=TestAccAWSVpcPeeringConnectionOptions_'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 20 -run=TestAccAWSVpcPeeringConnectionOptions_ -timeout 120m
=== RUN   TestAccAWSVpcPeeringConnectionOptions_basic
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_basic
=== RUN   TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount
=== RUN   TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccount
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccount
=== CONT  TestAccAWSVpcPeeringConnectionOptions_basic
=== CONT  TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccount
=== CONT  TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount
=== CONT  TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccount
    resource_aws_vpc_peering_connection_options_test.go:205: Step 1/2 error: Check failed: Check 2/9 error: aws_vpc_peering_connection_options.test: Attribute 'requester.0.allow_remote_vpc_dns_resolution' expected "true", got "false"
--- FAIL: TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccount (26.03s)
--- PASS: TestAccAWSVpcPeeringConnectionOptions_basic (57.26s)
--- PASS: TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount (70.71s)
FAIL
FAIL	github.com/terraform-providers/terraform-provider-aws/aws	71.016s
FAIL
GNUmakefile:27: recipe for target 'testacc' failed
make: *** [testacc] Error 1
@ewbankkit ewbankkit changed the title r/aws_vpc_peering_connection_options: Only modify VPC Peering options that have actually changed [WIP] r/aws_vpc_peering_connection_options: Only modify VPC Peering options that have actually changed Oct 26, 2020
… options to deal with eventual consistency.

Acceptance test output:

$ make testacc TEST=./aws/ TESTARGS='-run=TestAccAWSVpcPeeringConnectionOptions_'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 20 -run=TestAccAWSVpcPeeringConnectionOptions_ -timeout 120m
=== RUN   TestAccAWSVpcPeeringConnectionOptions_basic
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_basic
=== RUN   TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount
=== RUN   TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccount
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccount
=== CONT  TestAccAWSVpcPeeringConnectionOptions_basic
=== CONT  TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccount
=== CONT  TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount
--- PASS: TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccount (46.81s)
--- PASS: TestAccAWSVpcPeeringConnectionOptions_basic (61.15s)
--- PASS: TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount (73.24s)
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws	73.598s
@ghost ghost added size/XL Managed by automation to categorize the size of a PR. and removed size/L Managed by automation to categorize the size of a PR. labels Oct 27, 2020
@ewbankkit ewbankkit changed the title [WIP] r/aws_vpc_peering_connection_options: Only modify VPC Peering options that have actually changed r/aws_vpc_peering_connection_options: Only modify VPC Peering options that have actually changed Oct 27, 2020
…onnection_failedState'.

Acceptance test output:

$ make testacc TEST=./aws/ TESTARGS='-run=TestAccAWSVPCPeeringConnection_' ACCTEST_PARALLELISM=2
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 2 -run=TestAccAWSVPCPeeringConnection_ -timeout 120m
=== RUN   TestAccAWSVPCPeeringConnection_basic
=== PAUSE TestAccAWSVPCPeeringConnection_basic
=== RUN   TestAccAWSVPCPeeringConnection_plan
=== PAUSE TestAccAWSVPCPeeringConnection_plan
=== RUN   TestAccAWSVPCPeeringConnection_tags
=== PAUSE TestAccAWSVPCPeeringConnection_tags
=== RUN   TestAccAWSVPCPeeringConnection_options
=== PAUSE TestAccAWSVPCPeeringConnection_options
=== RUN   TestAccAWSVPCPeeringConnection_failedState
=== PAUSE TestAccAWSVPCPeeringConnection_failedState
=== RUN   TestAccAWSVPCPeeringConnection_peerRegionAutoAccept
=== PAUSE TestAccAWSVPCPeeringConnection_peerRegionAutoAccept
=== RUN   TestAccAWSVPCPeeringConnection_region
=== PAUSE TestAccAWSVPCPeeringConnection_region
=== RUN   TestAccAWSVPCPeeringConnection_accept
=== PAUSE TestAccAWSVPCPeeringConnection_accept
=== RUN   TestAccAWSVPCPeeringConnection_optionsNoAutoAccept
=== PAUSE TestAccAWSVPCPeeringConnection_optionsNoAutoAccept
=== CONT  TestAccAWSVPCPeeringConnection_basic
=== CONT  TestAccAWSVPCPeeringConnection_peerRegionAutoAccept
--- PASS: TestAccAWSVPCPeeringConnection_peerRegionAutoAccept (14.54s)
=== CONT  TestAccAWSVPCPeeringConnection_failedState
--- PASS: TestAccAWSVPCPeeringConnection_failedState (13.27s)
=== CONT  TestAccAWSVPCPeeringConnection_options
--- PASS: TestAccAWSVPCPeeringConnection_basic (35.23s)
=== CONT  TestAccAWSVPCPeeringConnection_tags
--- PASS: TestAccAWSVPCPeeringConnection_options (62.47s)
=== CONT  TestAccAWSVPCPeeringConnection_plan
--- PASS: TestAccAWSVPCPeeringConnection_plan (24.99s)
=== CONT  TestAccAWSVPCPeeringConnection_optionsNoAutoAccept
--- PASS: TestAccAWSVPCPeeringConnection_tags (86.90s)
=== CONT  TestAccAWSVPCPeeringConnection_accept
=== CONT  TestAccAWSVPCPeeringConnection_region
--- PASS: TestAccAWSVPCPeeringConnection_optionsNoAutoAccept (14.51s)
--- PASS: TestAccAWSVPCPeeringConnection_region (36.92s)
--- PASS: TestAccAWSVPCPeeringConnection_accept (90.20s)
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws	212.871s
@ewbankkit
Copy link
Contributor Author

Re-ran acceptance tests:

$ make testacc TEST=./aws/ TESTARGS='-run=TestAccAWSVPCPeeringConnection_' ACCTEST_PARALLELISM=2
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 2 -run=TestAccAWSVPCPeeringConnection_ -timeout 120m
=== RUN   TestAccAWSVPCPeeringConnection_basic
=== PAUSE TestAccAWSVPCPeeringConnection_basic
=== RUN   TestAccAWSVPCPeeringConnection_plan
=== PAUSE TestAccAWSVPCPeeringConnection_plan
=== RUN   TestAccAWSVPCPeeringConnection_tags
=== PAUSE TestAccAWSVPCPeeringConnection_tags
=== RUN   TestAccAWSVPCPeeringConnection_options
=== PAUSE TestAccAWSVPCPeeringConnection_options
=== RUN   TestAccAWSVPCPeeringConnection_failedState
=== PAUSE TestAccAWSVPCPeeringConnection_failedState
=== RUN   TestAccAWSVPCPeeringConnection_peerRegionAutoAccept
=== PAUSE TestAccAWSVPCPeeringConnection_peerRegionAutoAccept
=== RUN   TestAccAWSVPCPeeringConnection_region
=== PAUSE TestAccAWSVPCPeeringConnection_region
=== RUN   TestAccAWSVPCPeeringConnection_accept
=== PAUSE TestAccAWSVPCPeeringConnection_accept
=== RUN   TestAccAWSVPCPeeringConnection_optionsNoAutoAccept
=== PAUSE TestAccAWSVPCPeeringConnection_optionsNoAutoAccept
=== CONT  TestAccAWSVPCPeeringConnection_basic
=== CONT  TestAccAWSVPCPeeringConnection_peerRegionAutoAccept
--- PASS: TestAccAWSVPCPeeringConnection_peerRegionAutoAccept (14.54s)
=== CONT  TestAccAWSVPCPeeringConnection_failedState
--- PASS: TestAccAWSVPCPeeringConnection_failedState (13.27s)
=== CONT  TestAccAWSVPCPeeringConnection_options
--- PASS: TestAccAWSVPCPeeringConnection_basic (35.23s)
=== CONT  TestAccAWSVPCPeeringConnection_tags
--- PASS: TestAccAWSVPCPeeringConnection_options (62.47s)
=== CONT  TestAccAWSVPCPeeringConnection_plan
--- PASS: TestAccAWSVPCPeeringConnection_plan (24.99s)
=== CONT  TestAccAWSVPCPeeringConnection_optionsNoAutoAccept
--- PASS: TestAccAWSVPCPeeringConnection_tags (86.90s)
=== CONT  TestAccAWSVPCPeeringConnection_accept
=== CONT  TestAccAWSVPCPeeringConnection_region
--- PASS: TestAccAWSVPCPeeringConnection_optionsNoAutoAccept (14.51s)
--- PASS: TestAccAWSVPCPeeringConnection_region (36.92s)
--- PASS: TestAccAWSVPCPeeringConnection_accept (90.20s)
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws	212.871s
$ make testacc TEST=./aws/ TESTARGS='-run=TestAccAWSVpcPeeringConnectionOptions_'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 20 -run=TestAccAWSVpcPeeringConnectionOptions_ -timeout 120m
=== RUN   TestAccAWSVpcPeeringConnectionOptions_basic
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_basic
=== RUN   TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount
=== RUN   TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccount
=== PAUSE TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccount
=== CONT  TestAccAWSVpcPeeringConnectionOptions_basic
=== CONT  TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccount
=== CONT  TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount
--- PASS: TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccount (46.81s)
--- PASS: TestAccAWSVpcPeeringConnectionOptions_basic (61.15s)
--- PASS: TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount (73.24s)
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws	73.598s

@bflad bflad self-assigned this Oct 29, 2020
@bflad bflad added this to the v3.13.0 milestone Oct 29, 2020
Copy link
Contributor

@bflad bflad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thank you for rebasing and updating 🚀

Output from acceptance testing:

--- PASS: TestAccAWSVPCPeeringConnection_accept (91.89s)
--- PASS: TestAccAWSVPCPeeringConnection_basic (48.18s)
--- PASS: TestAccAWSVPCPeeringConnection_failedState (23.66s)
--- PASS: TestAccAWSVPCPeeringConnection_options (72.09s)
--- PASS: TestAccAWSVPCPeeringConnection_optionsNoAutoAccept (29.30s)
--- PASS: TestAccAWSVPCPeeringConnection_peerRegionAutoAccept (28.12s)
--- PASS: TestAccAWSVPCPeeringConnection_plan (43.81s)
--- PASS: TestAccAWSVPCPeeringConnection_region (62.99s)
--- PASS: TestAccAWSVPCPeeringConnection_tags (89.98s)

--- PASS: TestAccAWSVpcPeeringConnectionOptions_basic (48.74s)
--- PASS: TestAccAWSVpcPeeringConnectionOptions_differentRegionSameAccount (55.67s)
--- PASS: TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccount (34.38s)

@bflad bflad merged commit 3fa2376 into hashicorp:master Oct 29, 2020
bflad added a commit that referenced this pull request Oct 29, 2020
@ewbankkit ewbankkit deleted the issue-12113 branch October 29, 2020 11:22
@ghost
Copy link

ghost commented Oct 29, 2020

This has been released in version 3.13.0 of the Terraform AWS provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading.

For further feature requests or bug reports with this functionality, please create a new GitHub issue following the template for triage. Thanks!

@ghost
Copy link

ghost commented Nov 28, 2020

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.

If you feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. Thanks!

@ghost ghost locked as resolved and limited conversation to collaborators Nov 28, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
service/ec2 Issues and PRs that pertain to the ec2 service. size/XL Managed by automation to categorize the size of a PR. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Changing VPC peering parameters using aws_vpc_peering_connection_options resource fails
5 participants