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

Technical Debt Theme: Resolve Acceptance Test Failures (EC2) #14383

Closed
9 of 19 tasks
breathingdust opened this issue Jul 29, 2020 · 2 comments
Closed
9 of 19 tasks

Technical Debt Theme: Resolve Acceptance Test Failures (EC2) #14383

breathingdust opened this issue Jul 29, 2020 · 2 comments
Labels
service/ec2 Issues and PRs that pertain to the ec2 service. technical-debt Addresses areas of the codebase that need refactoring or redesign. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure.

Comments

@breathingdust
Copy link
Member

breathingdust commented Jul 29, 2020

Description

This is a meta-issue which tracks the list of EC2 Acceptance Tests which now consistently fail. The August-October 2020 Roadmap for the AWS Provider includes a technical debt theme which decides an area of debt upon which we want to apply focus.

The focus for this period is improving our Acceptance Test suite. This covers resolving failing and flaky tests. Our initial focus will be to resolve failing tests which exist within our Core Service list.

EC2 Tests Currently Failing

  • TestAccAWSSpotFleetRequest_tags
  • TestAccAWSSpotFleetRequest_launchSpecToLaunchTemplate
  • TestAccAWSInstance_EbsRootDevice_ModifyDeleteOnTermination
  • TestAccAWSInstance_EbsRootDevice_MultipleBlockDevices_ModifyDeleteOnTermination
  • TestAccAWSInstance_EbsRootDevice_ModifyAll
  • TestAccAWSInstance_metadataOptions
  • TestAccAWSSpotFleetRequest_withoutSpotPrice
  • TestAccAWSFlowLog_LogFormat
  • TestAccAWSEIPAssociation_ec2Classic
  • TestAccAwsEc2ClientVpn_serial (related to Max # of certs)
  • TestAccAWSEIP_Ec2Classic
  • TestAccAWSRouteTable_panicEmptyRoute
  • TestAccAWSVpcPeeringConnectionOptions_sameRegionDifferentAccount
  • TestAccAWSInstance_instanceProfileChange
  • TestAccAWSInstance_EbsBlockDevice_KmsKeyArn
  • TestAccAWSEIPAssociation_spotInstance (passing since 8/19 in Commercial and Gov)
  • TestAccAWSInstance_ipv6_supportAddressCountWithIpv4 (passing in Commercial and Gov)
  • TestAccAWSRoute_changeRouteTable (passing in Commercial and Gov)
  • TestAccAWSVpcEndpointServiceAllowedPrincipal_basic (consistently passing since 8/18 in Commercial and Gov)
@breathingdust breathingdust added good first issue Call to action for new contributors looking for a place to start. Smaller or straightforward issues. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure. technical-debt Addresses areas of the codebase that need refactoring or redesign. labels Jul 29, 2020
@breathingdust breathingdust added this to the Roadmap milestone Jul 29, 2020
@breathingdust breathingdust added service/ec2 Issues and PRs that pertain to the ec2 service. service/ec2-classic and removed good first issue Call to action for new contributors looking for a place to start. Smaller or straightforward issues. labels Jul 29, 2020
bflad added a commit that referenced this issue Sep 2, 2020
…e_table attribute changes

Reference: #14864

Decoupling of the two resources can occur separately, but opting for this small fix as we cannot verify whether the `aws_default_route_table` resource can support `local_gateway_id` or not ourselves before tomorrow's release.

Previously:

```
=== CONT  TestAccAWSDefaultRouteTable_Route
------- Stderr: -------
panic: interface conversion: interface {} is nil, not string
goroutine 492 [running]:
github.com/terraform-providers/terraform-provider-aws/aws.resourceAwsRouteTableUpdate(0xc00179f200, 0x5bf4d20, 0xc0017ccf00, 0x5a5f0c0, 0xc00144ab40)
  /opt/teamcity-agent/work/2e10e023da0c7520/src/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_route_table.go:397 +0x2cbd
github.com/terraform-providers/terraform-provider-aws/aws.resourceAwsDefaultRouteTableCreate(0xc00179f200, 0x5bf4d20, 0xc0017ccf00, 0x3, 0xffffffffffffffff)
  /opt/teamcity-agent/work/2e10e023da0c7520/src/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_default_route_table.go:149 +0x5b2
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).create(0xc0008c7760, 0x7763460, 0xc001ec8580, 0xc00179f200, 0x5bf4d20, 0xc0017ccf00, 0x0, 0x0, 0x0)
  /opt/teamcity-agent/work/2e10e023da0c7520/src/github.com/terraform-providers/terraform-provider-aws/vendor/github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema/resource.go:269 +0x88
```

Output from acceptance testing:

```
--- PASS: TestAccAWSDefaultRouteTable_disappears_Vpc (20.85s)
--- PASS: TestAccAWSDefaultRouteTable_basic (39.08s)
--- PASS: TestAccAWSDefaultRouteTable_vpc_endpoint (54.68s)
--- PASS: TestAccAWSDefaultRouteTable_ConditionalCidrBlock (69.75s)
--- PASS: TestAccAWSDefaultRouteTable_tags (70.91s)
--- PASS: TestAccAWSDefaultRouteTable_swap (83.45s)
--- PASS: TestAccAWSDefaultRouteTable_Route (107.71s)
--- PASS: TestAccAWSDefaultRouteTable_Route_TransitGatewayID (331.13s)

--- FAIL: TestAccAWSRouteTable_panicEmptyRoute (17.11s) # See also: #14383
--- PASS: TestAccAWSRouteTable_ipv6 (38.51s)
--- PASS: TestAccAWSRouteTable_vpcPeering (44.24s)
--- PASS: TestAccAWSRouteTable_vgwRoutePropagation (45.36s)
--- PASS: TestAccAWSRouteTable_ConditionalCidrBlock (70.65s)
--- PASS: TestAccAWSRouteTable_basic (80.26s)
--- PASS: TestAccAWSRouteTable_tags (90.73s)
--- PASS: TestAccAWSRouteTable_Route_ConfigMode (92.20s)
--- PASS: TestAccAWSRouteTable_instance (116.15s)
--- PASS: TestAccAWSRouteTable_Route_TransitGatewayID (321.82s)
```
bflad added a commit that referenced this issue Sep 2, 2020
…e_table attribute changes (#14988)

Reference: #14864

Decoupling of the two resources can occur separately, but opting for this small fix as we cannot verify whether the `aws_default_route_table` resource can support `local_gateway_id` or not ourselves before tomorrow's release.

Previously:

```
=== CONT  TestAccAWSDefaultRouteTable_Route
------- Stderr: -------
panic: interface conversion: interface {} is nil, not string
goroutine 492 [running]:
github.com/terraform-providers/terraform-provider-aws/aws.resourceAwsRouteTableUpdate(0xc00179f200, 0x5bf4d20, 0xc0017ccf00, 0x5a5f0c0, 0xc00144ab40)
  /opt/teamcity-agent/work/2e10e023da0c7520/src/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_route_table.go:397 +0x2cbd
github.com/terraform-providers/terraform-provider-aws/aws.resourceAwsDefaultRouteTableCreate(0xc00179f200, 0x5bf4d20, 0xc0017ccf00, 0x3, 0xffffffffffffffff)
  /opt/teamcity-agent/work/2e10e023da0c7520/src/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_default_route_table.go:149 +0x5b2
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).create(0xc0008c7760, 0x7763460, 0xc001ec8580, 0xc00179f200, 0x5bf4d20, 0xc0017ccf00, 0x0, 0x0, 0x0)
  /opt/teamcity-agent/work/2e10e023da0c7520/src/github.com/terraform-providers/terraform-provider-aws/vendor/github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema/resource.go:269 +0x88
```

Output from acceptance testing:

```
--- PASS: TestAccAWSDefaultRouteTable_disappears_Vpc (20.85s)
--- PASS: TestAccAWSDefaultRouteTable_basic (39.08s)
--- PASS: TestAccAWSDefaultRouteTable_vpc_endpoint (54.68s)
--- PASS: TestAccAWSDefaultRouteTable_ConditionalCidrBlock (69.75s)
--- PASS: TestAccAWSDefaultRouteTable_tags (70.91s)
--- PASS: TestAccAWSDefaultRouteTable_swap (83.45s)
--- PASS: TestAccAWSDefaultRouteTable_Route (107.71s)
--- PASS: TestAccAWSDefaultRouteTable_Route_TransitGatewayID (331.13s)

--- FAIL: TestAccAWSRouteTable_panicEmptyRoute (17.11s) # See also: #14383
--- PASS: TestAccAWSRouteTable_ipv6 (38.51s)
--- PASS: TestAccAWSRouteTable_vpcPeering (44.24s)
--- PASS: TestAccAWSRouteTable_vgwRoutePropagation (45.36s)
--- PASS: TestAccAWSRouteTable_ConditionalCidrBlock (70.65s)
--- PASS: TestAccAWSRouteTable_basic (80.26s)
--- PASS: TestAccAWSRouteTable_tags (90.73s)
--- PASS: TestAccAWSRouteTable_Route_ConfigMode (92.20s)
--- PASS: TestAccAWSRouteTable_instance (116.15s)
--- PASS: TestAccAWSRouteTable_Route_TransitGatewayID (321.82s)
```
@bflad
Copy link
Contributor

bflad commented Feb 2, 2021

All set except, TestAccAWSInstance_instanceProfileChange which can be tracked in #16769 👍

@bflad bflad closed this as completed Feb 2, 2021
@ghost
Copy link

ghost commented Mar 4, 2021

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 Mar 4, 2021
@breathingdust breathingdust removed this from the Roadmap milestone Nov 16, 2021
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. technical-debt Addresses areas of the codebase that need refactoring or redesign. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure.
Projects
None yet
Development

No branches or pull requests

2 participants