-
Notifications
You must be signed in to change notification settings - Fork 9.2k
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
service/appmesh: Handle read-after-create eventual consistency in resources #18529
Conversation
…ources Reference: #15084 Reference: #16796 Reference: https://blog.envoyproxy.io/embracing-eventual-consistency-in-soa-networking-32a5ee5d443d Output from acceptance testing in AWS Commercial: ``` --- FAIL: TestAccAWSAppmesh_serial (1654.08s) --- PASS: TestAccAWSAppmesh_serial/VirtualRouter (64.89s) --- PASS: TestAccAWSAppmesh_serial/VirtualRouter/basic (27.55s) --- PASS: TestAccAWSAppmesh_serial/VirtualRouter/tags (37.34s) --- PASS: TestAccAWSAppmesh_serial/VirtualService (102.18s) --- PASS: TestAccAWSAppmesh_serial/VirtualService/virtualNode (30.51s) --- PASS: TestAccAWSAppmesh_serial/VirtualService/virtualRouter (27.91s) --- PASS: TestAccAWSAppmesh_serial/VirtualService/tags (43.76s) --- PASS: TestAccAWSAppmesh_serial/GatewayRoute (180.76s) --- PASS: TestAccAWSAppmesh_serial/GatewayRoute/httpRoute (31.38s) --- PASS: TestAccAWSAppmesh_serial/GatewayRoute/http2Route (30.54s) --- PASS: TestAccAWSAppmesh_serial/GatewayRoute/tags (45.18s) --- PASS: TestAccAWSAppmesh_serial/GatewayRoute/basic (18.19s) --- PASS: TestAccAWSAppmesh_serial/GatewayRoute/disappears (14.95s) --- PASS: TestAccAWSAppmesh_serial/GatewayRoute/grpcRoute (40.53s) --- PASS: TestAccAWSAppmesh_serial/Mesh (73.44s) --- PASS: TestAccAWSAppmesh_serial/Mesh/basic (12.91s) --- PASS: TestAccAWSAppmesh_serial/Mesh/egressFilter (29.35s) --- PASS: TestAccAWSAppmesh_serial/Mesh/tags (31.18s) --- FAIL: TestAccAWSAppmesh_serial/Route (429.26s) --- PASS: TestAccAWSAppmesh_serial/Route/httpRoute (43.23s) --- PASS: TestAccAWSAppmesh_serial/Route/tcpRoute (42.71s) --- PASS: TestAccAWSAppmesh_serial/Route/tcpRouteTimeout (30.21s) --- PASS: TestAccAWSAppmesh_serial/Route/grpcRouteEmptyMatch (17.81s) --- PASS: TestAccAWSAppmesh_serial/Route/grpcRouteTimeout (31.13s) --- PASS: TestAccAWSAppmesh_serial/Route/http2RouteTimeout (31.08s) --- PASS: TestAccAWSAppmesh_serial/Route/httpRetryPolicy (32.21s) --- PASS: TestAccAWSAppmesh_serial/Route/routePriority (31.77s) --- PASS: TestAccAWSAppmesh_serial/Route/tags (44.91s) --- PASS: TestAccAWSAppmesh_serial/Route/grpcRoute (54.42s) --- PASS: TestAccAWSAppmesh_serial/Route/http2Route (30.70s) --- FAIL: TestAccAWSAppmesh_serial/Route/httpHeader (8.24s) # #18528 --- PASS: TestAccAWSAppmesh_serial/Route/httpRouteTimeout (30.84s) --- PASS: TestAccAWSAppmesh_serial/VirtualGateway (285.66s) --- PASS: TestAccAWSAppmesh_serial/VirtualGateway/listenerConnectionPool (26.22s) --- PASS: TestAccAWSAppmesh_serial/VirtualGateway/listenerHealthChecks (26.25s) --- PASS: TestAccAWSAppmesh_serial/VirtualGateway/listenerTls (70.19s) --- PASS: TestAccAWSAppmesh_serial/VirtualGateway/basic (17.09s) --- PASS: TestAccAWSAppmesh_serial/VirtualGateway/disappears (12.66s) --- PASS: TestAccAWSAppmesh_serial/VirtualGateway/backendDefaultsCertificate (15.85s) --- PASS: TestAccAWSAppmesh_serial/VirtualGateway/tags (38.11s) --- PASS: TestAccAWSAppmesh_serial/VirtualGateway/backendDefaults (26.15s) --- PASS: TestAccAWSAppmesh_serial/VirtualGateway/listenerValidation (26.61s) --- PASS: TestAccAWSAppmesh_serial/VirtualGateway/logging (26.53s) --- PASS: TestAccAWSAppmesh_serial/VirtualNode (517.90s) --- PASS: TestAccAWSAppmesh_serial/VirtualNode/listenerOutlierDetection (26.74s) --- PASS: TestAccAWSAppmesh_serial/VirtualNode/listenerTimeout (26.37s) --- PASS: TestAccAWSAppmesh_serial/VirtualNode/tags (38.61s) --- PASS: TestAccAWSAppmesh_serial/VirtualNode/disappears (12.41s) --- PASS: TestAccAWSAppmesh_serial/VirtualNode/backendClientPolicyFile (26.83s) --- PASS: TestAccAWSAppmesh_serial/VirtualNode/cloudMapServiceDiscovery (99.43s) --- PASS: TestAccAWSAppmesh_serial/VirtualNode/basic (15.51s) --- PASS: TestAccAWSAppmesh_serial/VirtualNode/backendClientPolicyAcm (50.89s) --- PASS: TestAccAWSAppmesh_serial/VirtualNode/listenerTls (69.86s) --- PASS: TestAccAWSAppmesh_serial/VirtualNode/backendDefaults (27.28s) --- PASS: TestAccAWSAppmesh_serial/VirtualNode/backendDefaultsCertificate (15.92s) --- PASS: TestAccAWSAppmesh_serial/VirtualNode/listenerValidation (26.70s) --- PASS: TestAccAWSAppmesh_serial/VirtualNode/listenerConnectionPool (28.32s) --- PASS: TestAccAWSAppmesh_serial/VirtualNode/listenerHealthChecks (26.63s) --- PASS: TestAccAWSAppmesh_serial/VirtualNode/logging (26.40s) ```
Reference: #18528 Reference: https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_HttpRouteMatch.html#appmesh-Type-HttpRouteMatch-scheme Previously: ``` === RUN TestAccAWSAppmesh_serial/Route/httpHeader resource_aws_appmesh_route_test.go:1084: Step 1/3 error: Error running apply: exit status 1 Error: error creating App Mesh route: ForbiddenException: Scheme matching in HTTP routes is not supported. on terraform_plugin_test.tf line 34, in resource "aws_appmesh_route" "test": 34: resource "aws_appmesh_route" "test" { ``` Output from acceptance test: ``` --- PASS: TestAccAWSAppmesh_serial/Route/httpHeader (31.41s) ```
The last commit here fixes the Reference: #18528 Previously:
Output from acceptance test:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
$ make testacc TEST=./aws/ TESTARGS='-run=TestAccAWSAppmesh_serial'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 20 -run=TestAccAWSAppmesh_serial -timeout 180m
go: downloading github.com/hashicorp/go-version v1.3.0
=== RUN TestAccAWSAppmesh_serial
=== RUN TestAccAWSAppmesh_serial/VirtualNode
=== RUN TestAccAWSAppmesh_serial/VirtualNode/tags
=== RUN TestAccAWSAppmesh_serial/VirtualNode/backendDefaults
=== RUN TestAccAWSAppmesh_serial/VirtualNode/backendDefaultsCertificate
=== RUN TestAccAWSAppmesh_serial/VirtualNode/listenerOutlierDetection
=== RUN TestAccAWSAppmesh_serial/VirtualNode/listenerValidation
=== RUN TestAccAWSAppmesh_serial/VirtualNode/listenerHealthChecks
=== RUN TestAccAWSAppmesh_serial/VirtualNode/logging
=== RUN TestAccAWSAppmesh_serial/VirtualNode/basic
=== RUN TestAccAWSAppmesh_serial/VirtualNode/disappears
=== RUN TestAccAWSAppmesh_serial/VirtualNode/listenerConnectionPool
=== RUN TestAccAWSAppmesh_serial/VirtualNode/listenerTls
=== RUN TestAccAWSAppmesh_serial/VirtualNode/backendClientPolicyAcm
=== RUN TestAccAWSAppmesh_serial/VirtualNode/backendClientPolicyFile
=== RUN TestAccAWSAppmesh_serial/VirtualNode/cloudMapServiceDiscovery
=== RUN TestAccAWSAppmesh_serial/VirtualNode/listenerTimeout
=== RUN TestAccAWSAppmesh_serial/VirtualRouter
=== RUN TestAccAWSAppmesh_serial/VirtualRouter/basic
=== RUN TestAccAWSAppmesh_serial/VirtualRouter/tags
=== RUN TestAccAWSAppmesh_serial/VirtualService
=== RUN TestAccAWSAppmesh_serial/VirtualService/virtualNode
=== RUN TestAccAWSAppmesh_serial/VirtualService/virtualRouter
=== RUN TestAccAWSAppmesh_serial/VirtualService/tags
=== RUN TestAccAWSAppmesh_serial/GatewayRoute
=== RUN TestAccAWSAppmesh_serial/GatewayRoute/basic
=== RUN TestAccAWSAppmesh_serial/GatewayRoute/disappears
=== RUN TestAccAWSAppmesh_serial/GatewayRoute/grpcRoute
=== RUN TestAccAWSAppmesh_serial/GatewayRoute/httpRoute
=== RUN TestAccAWSAppmesh_serial/GatewayRoute/http2Route
=== RUN TestAccAWSAppmesh_serial/GatewayRoute/tags
=== RUN TestAccAWSAppmesh_serial/Mesh
=== RUN TestAccAWSAppmesh_serial/Mesh/basic
=== RUN TestAccAWSAppmesh_serial/Mesh/egressFilter
=== RUN TestAccAWSAppmesh_serial/Mesh/tags
=== RUN TestAccAWSAppmesh_serial/Route
=== RUN TestAccAWSAppmesh_serial/Route/grpcRouteTimeout
=== RUN TestAccAWSAppmesh_serial/Route/http2Route
=== RUN TestAccAWSAppmesh_serial/Route/httpRoute
=== RUN TestAccAWSAppmesh_serial/Route/httpRouteTimeout
=== RUN TestAccAWSAppmesh_serial/Route/tcpRouteTimeout
=== RUN TestAccAWSAppmesh_serial/Route/tags
=== RUN TestAccAWSAppmesh_serial/Route/grpcRoute
=== RUN TestAccAWSAppmesh_serial/Route/grpcRouteEmptyMatch
=== RUN TestAccAWSAppmesh_serial/Route/http2RouteTimeout
=== RUN TestAccAWSAppmesh_serial/Route/httpHeader
=== RUN TestAccAWSAppmesh_serial/Route/httpRetryPolicy
=== RUN TestAccAWSAppmesh_serial/Route/routePriority
=== RUN TestAccAWSAppmesh_serial/Route/tcpRoute
=== RUN TestAccAWSAppmesh_serial/VirtualGateway
=== RUN TestAccAWSAppmesh_serial/VirtualGateway/disappears
=== RUN TestAccAWSAppmesh_serial/VirtualGateway/backendDefaults
=== RUN TestAccAWSAppmesh_serial/VirtualGateway/backendDefaultsCertificate
=== RUN TestAccAWSAppmesh_serial/VirtualGateway/listenerConnectionPool
=== RUN TestAccAWSAppmesh_serial/VirtualGateway/listenerTls
=== RUN TestAccAWSAppmesh_serial/VirtualGateway/tags
=== RUN TestAccAWSAppmesh_serial/VirtualGateway/basic
=== RUN TestAccAWSAppmesh_serial/VirtualGateway/listenerHealthChecks
=== RUN TestAccAWSAppmesh_serial/VirtualGateway/listenerValidation
=== RUN TestAccAWSAppmesh_serial/VirtualGateway/logging
--- PASS: TestAccAWSAppmesh_serial (1769.40s)
--- PASS: TestAccAWSAppmesh_serial/VirtualNode (552.53s)
--- PASS: TestAccAWSAppmesh_serial/VirtualNode/tags (43.14s)
--- PASS: TestAccAWSAppmesh_serial/VirtualNode/backendDefaults (28.90s)
--- PASS: TestAccAWSAppmesh_serial/VirtualNode/backendDefaultsCertificate (17.56s)
--- PASS: TestAccAWSAppmesh_serial/VirtualNode/listenerOutlierDetection (28.91s)
--- PASS: TestAccAWSAppmesh_serial/VirtualNode/listenerValidation (29.22s)
--- PASS: TestAccAWSAppmesh_serial/VirtualNode/listenerHealthChecks (29.82s)
--- PASS: TestAccAWSAppmesh_serial/VirtualNode/logging (29.11s)
--- PASS: TestAccAWSAppmesh_serial/VirtualNode/basic (16.73s)
--- PASS: TestAccAWSAppmesh_serial/VirtualNode/disappears (12.85s)
--- PASS: TestAccAWSAppmesh_serial/VirtualNode/listenerConnectionPool (28.75s)
--- PASS: TestAccAWSAppmesh_serial/VirtualNode/listenerTls (74.51s)
--- PASS: TestAccAWSAppmesh_serial/VirtualNode/backendClientPolicyAcm (53.84s)
--- PASS: TestAccAWSAppmesh_serial/VirtualNode/backendClientPolicyFile (29.21s)
--- PASS: TestAccAWSAppmesh_serial/VirtualNode/cloudMapServiceDiscovery (101.27s)
--- PASS: TestAccAWSAppmesh_serial/VirtualNode/listenerTimeout (28.68s)
--- PASS: TestAccAWSAppmesh_serial/VirtualRouter (65.32s)
--- PASS: TestAccAWSAppmesh_serial/VirtualRouter/basic (26.83s)
--- PASS: TestAccAWSAppmesh_serial/VirtualRouter/tags (38.49s)
--- PASS: TestAccAWSAppmesh_serial/VirtualService (109.77s)
--- PASS: TestAccAWSAppmesh_serial/VirtualService/virtualNode (33.26s)
--- PASS: TestAccAWSAppmesh_serial/VirtualService/virtualRouter (28.53s)
--- PASS: TestAccAWSAppmesh_serial/VirtualService/tags (47.98s)
--- PASS: TestAccAWSAppmesh_serial/GatewayRoute (175.63s)
--- PASS: TestAccAWSAppmesh_serial/GatewayRoute/basic (18.39s)
--- PASS: TestAccAWSAppmesh_serial/GatewayRoute/disappears (15.32s)
--- PASS: TestAccAWSAppmesh_serial/GatewayRoute/grpcRoute (31.83s)
--- PASS: TestAccAWSAppmesh_serial/GatewayRoute/httpRoute (31.63s)
--- PASS: TestAccAWSAppmesh_serial/GatewayRoute/http2Route (32.45s)
--- PASS: TestAccAWSAppmesh_serial/GatewayRoute/tags (46.00s)
--- PASS: TestAccAWSAppmesh_serial/Mesh (73.84s)
--- PASS: TestAccAWSAppmesh_serial/Mesh/basic (12.56s)
--- PASS: TestAccAWSAppmesh_serial/Mesh/egressFilter (28.81s)
--- PASS: TestAccAWSAppmesh_serial/Mesh/tags (32.46s)
--- PASS: TestAccAWSAppmesh_serial/Route (490.52s)
--- PASS: TestAccAWSAppmesh_serial/Route/grpcRouteTimeout (33.95s)
--- PASS: TestAccAWSAppmesh_serial/Route/http2Route (34.54s)
--- PASS: TestAccAWSAppmesh_serial/Route/httpRoute (48.60s)
--- PASS: TestAccAWSAppmesh_serial/Route/httpRouteTimeout (34.02s)
--- PASS: TestAccAWSAppmesh_serial/Route/tcpRouteTimeout (34.03s)
--- PASS: TestAccAWSAppmesh_serial/Route/tags (49.60s)
--- PASS: TestAccAWSAppmesh_serial/Route/grpcRoute (49.39s)
--- PASS: TestAccAWSAppmesh_serial/Route/grpcRouteEmptyMatch (19.53s)
--- PASS: TestAccAWSAppmesh_serial/Route/http2RouteTimeout (33.91s)
--- PASS: TestAccAWSAppmesh_serial/Route/httpHeader (34.65s)
--- PASS: TestAccAWSAppmesh_serial/Route/httpRetryPolicy (34.48s)
--- PASS: TestAccAWSAppmesh_serial/Route/routePriority (34.88s)
--- PASS: TestAccAWSAppmesh_serial/Route/tcpRoute (48.91s)
--- PASS: TestAccAWSAppmesh_serial/VirtualGateway (301.79s)
--- PASS: TestAccAWSAppmesh_serial/VirtualGateway/disappears (12.77s)
--- PASS: TestAccAWSAppmesh_serial/VirtualGateway/backendDefaults (28.29s)
--- PASS: TestAccAWSAppmesh_serial/VirtualGateway/backendDefaultsCertificate (15.54s)
--- PASS: TestAccAWSAppmesh_serial/VirtualGateway/listenerConnectionPool (27.42s)
--- PASS: TestAccAWSAppmesh_serial/VirtualGateway/listenerTls (74.03s)
--- PASS: TestAccAWSAppmesh_serial/VirtualGateway/tags (40.69s)
--- PASS: TestAccAWSAppmesh_serial/VirtualGateway/basic (15.63s)
--- PASS: TestAccAWSAppmesh_serial/VirtualGateway/listenerHealthChecks (29.11s)
--- PASS: TestAccAWSAppmesh_serial/VirtualGateway/listenerValidation (29.54s)
--- PASS: TestAccAWSAppmesh_serial/VirtualGateway/logging (28.75s)
PASS
ok github.com/terraform-providers/terraform-provider-aws/aws 1769.502s
This has been released in version 3.36.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! |
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! |
Community Note
Closes #15084
Reference: #16796
Closes #18528
Reference: https://blog.envoyproxy.io/embracing-eventual-consistency-in-soa-networking-32a5ee5d443d
Output from acceptance testing in AWS Commercial: