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

azurerm_application_gateway - support for the Basic SKU #27440

Conversation

tedsmitt
Copy link
Contributor

@tedsmitt tedsmitt commented Sep 19, 2024

Community Note

  • Please vote on this PR by adding a 👍 reaction to the original PR to help the community and maintainers prioritize for review
  • Please do not leave comments along the lines of "+1", "me too" or "any updates", they generate extra noise for PR followers and do not help prioritize for review

Description

PR Checklist

  • I have followed the guidelines in our Contributing Documentation.
  • I have checked to ensure there aren't other open Pull Requests for the same update/change.
  • I have checked if my changes close any open issues. If so please include appropriate closing keywords below.
  • I have updated/added Documentation as required written in a helpful and kind way to assist users that may be unfamiliar with the resource / data source.
  • I have used a meaningful PR title to help maintainers and other users understand this change and help prevent duplicate work.

Changes to existing Resource / Data Source

  • I have added an explanation of what my changes do and why I'd like you to include them (This may be covered by linking to an issue above, but may benefit from additional explanation).
  • I have written new tests for my resource or datasource changes & updated any relevent documentation.
  • I have successfully run tests with my changes locally. If not, please provide details on testing challenges that prevented you running the tests.

Testing

  • My submission includes Test coverage as described in the Contribution Guide and the tests pass. (if this is not possible for any reason, please include details of why you did or could not add test coverage)
image

Change Log

Below please provide what should go into the changelog (if anything) conforming to the Changelog Format documented here.

  • azurerm_application_gateway - support for the Basic SKU tier

This is a (please select all that apply):

  • Bug Fix
  • New Feature (ie adding a service, resource, or data source)
  • Enhancement
  • Breaking Change

Related Issue(s)

Fixes #25973

@tedsmitt tedsmitt changed the title Closes #25739 - add support for azurerm_application_gateway Basic SKU (Preview) Closes #25973 - add support for azurerm_application_gateway Basic SKU (Preview) Sep 19, 2024
Copy link
Collaborator

@katbyte katbyte left a comment

Choose a reason for hiding this comment

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

Looks like all the tests are failing with:

------- Stdout: -------
=== RUN   TestAccApplicationGateway_authCertificate
=== PAUSE TestAccApplicationGateway_authCertificate
=== CONT  TestAccApplicationGateway_authCertificate
    testcase.go:173: Step 1/6 error: Error running apply: exit status 1
        
        Error: creating Application Gateway (Subscription: "*******"
        Resource Group Name: "acctestRG-240920034903751201"
        Application Gateway Name: "acctestag-240920034903751201"): performing CreateOrUpdate: unexpected status 400 (400 Bad Request) with error: AppGatewayV1SkuDeprecated: Application Gateway SKU tier Standard has been deprecated. Supported SKU tiers are Standard_v2,WAF_v2. Refer https://aka.ms/V1retirement.
        
          with azurerm_application_gateway.test,
          on terraform_plugin_test.tf line 72, in resource "azurerm_application_gateway" "test":
          72: resource "azurerm_application_gateway" "test" {
        
--- FAIL: TestAccApplicationGateway_authCertificate (181.02s)
FAIL

@tedsmitt
Copy link
Contributor Author

tedsmitt commented Sep 20, 2024

As per https://learn.microsoft.com/en-us/azure/application-gateway/v1-retirement#retirement-timelines it looks like we can no longer deploy V1 SKUs of the application gateway since the 1st Sept.

At the very least we need to remove any acceptance tests that use any V1 SKUs e.g Standard_Small, but the provider should be updated to remove these as valid options.

I believe that this is out of the scope of this PR, so we should raise another to remove this capability. I don't think this is too much effort. @katbyte shall another issue be raised for the removal of these deprecated SKUs?

@katbyte
Copy link
Collaborator

katbyte commented Sep 20, 2024

@tedsmitt - could you swap the test SKUs to one that will allow them to pass? it's required to be able to test your changes properly for merge

@tedsmitt
Copy link
Contributor Author

tedsmitt commented Sep 23, 2024

@katbyte I've updated the Acceptance Tests to use the V2 SKU, these should now pass.

@tedsmitt
Copy link
Contributor Author

tedsmitt commented Oct 7, 2024

@katbyte Any update on whether we can re-test this?

Copy link
Collaborator

@katbyte katbyte left a comment

Choose a reason for hiding this comment

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

👋 ran the tests again and it appears to be a different error now :(

------- Stdout: -------
=== RUN   TestAccApplicationGateway_requiresImport
=== PAUSE TestAccApplicationGateway_requiresImport
=== CONT  TestAccApplicationGateway_requiresImport
    testcase.go:173: Step 1/2 error: Error running apply: exit status 1
        
        Error: creating Application Gateway (Subscription: "*******"
        Resource Group Name: "acctestRG-241016180010215836"
        Application Gateway Name: "acctestag-241016180010215836"): performing CreateOrUpdate: unexpected status 400 (400 Bad Request) with error: ApplicationGatewayRequestRoutingRulePriorityCannotBeEmpty: Priority for the request routing rule /subscriptions/*******/resourceGroups/acctestRG-241016180010215836/providers/Microsoft.Network/applicationGateways/acctestag-241016180010215836/requestRoutingRules/acctest-vnet-241016180010215836-rqrt cannot be empty. All request routing rules should have a priority defined starting from api-version 2021-08-01
        
          with azurerm_application_gateway.test,
          on terraform_plugin_test.tf line 71, in resource "azurerm_application_gateway" "test":
          71: resource "azurerm_application_gateway" "test" {
        
--- FAIL: TestAccApplicationGateway_requiresImport (202.42s)
FAIL

@tedsmitt tedsmitt force-pushed the feat/hashicorp/terraform-provider-azurerm#25973 branch from 3058862 to 49be09f Compare October 20, 2024 09:48
@tedsmitt tedsmitt requested a review from a team as a code owner October 20, 2024 09:48
…ource to be standard sku for compatibility with agw v2
@tedsmitt
Copy link
Contributor Author

@katbyte Have pushed some updates that fix the test case resources to be compatible with the v2 SKU. I have re-run some of the tests locally and they are looking better now.

P.S There is an opportunity here to do a bit of code tidy up as there are probably some duplicate tests since removing the old Standard SKU. However, I know this PR is already quite large so I'm hesitant to include those changes here, what do you think?

Copy link
Collaborator

@katbyte katbyte left a comment

Choose a reason for hiding this comment

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

Failing tests have gone from 30 to 7! and the remaining ones are failing one main. We would certainly welcome another pr cleaning up and fixing the remaining 7 but as this is enough for me to see your PR works + the remaining 7 are failing in main and seem unrelated to this change lets get this in for this weeks release LGTM 🍓

@katbyte katbyte changed the title Closes #25973 - add support for azurerm_application_gateway Basic SKU (Preview) azurerm_application_gateway - support for the Basic SKU Oct 25, 2024
@katbyte katbyte merged commit 659794d into hashicorp:main Oct 25, 2024
33 checks passed
@github-actions github-actions bot added this to the v4.7.0 milestone Oct 25, 2024
katbyte added a commit that referenced this pull request Oct 25, 2024
djryanj pushed a commit to djryanj/terraform-provider-azurerm that referenced this pull request Oct 26, 2024
)

* feat: hashicorp#25973 azurerm_application_gateway basic sku support

* feat: hashicorp#25973 additional checks for application gateway Basic SKU supported features

* tests: hashicorp#25973 add tests for application gateway basic sku

* fix: hashicorp#2597 revert erroneous markdown lint changes

* docs: hashicorp#2597 add Basic SKU docs

* tests(application_gateway): hashicorp#25973 update tests to use v2 SKUs as V1 is now deprecated

See https://learn.microsoft.com/en-us/azure/application-gateway/v1-retirement#retirement-timelines

* tests(application_gateway): hashicorp#25973 update all agw tests to include priority on request_routing_rule as required with agw v2 sku

* tests(application_gateway): hashicorp#25973 update test public ip resource to be standard sku for compatibility with agw v2
djryanj pushed a commit to djryanj/terraform-provider-azurerm that referenced this pull request Oct 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support for azurerm_application_gateway Basic SKU (Preview)
3 participants