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

Azure Frontdoor: support custom timeout for backend pool #4558

Closed
geertn opened this issue Oct 8, 2019 · 7 comments · Fixed by #6604
Closed

Azure Frontdoor: support custom timeout for backend pool #4558

geertn opened this issue Oct 8, 2019 · 7 comments · Fixed by #6604

Comments

@geertn
Copy link

geertn commented Oct 8, 2019

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Description

Azure Frontdoor supports setting a custom timeout for the backend. The standard timeout is 30s which is quite short.

See also:
https://feedback.azure.com/forums/217313-networking/suggestions/36482500-allow-configurable-timeout-period-for-front-door
https://github.com/Azure/azure-rest-api-specs/blob/master/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/frontdoor.json

In the last link there are 2 backend pool settings:

  1. enforceCertificateNameCheck
  2. sendRecvTimeoutSeconds

(1) is supported by terraform using the enforce_backend_pools_certificate_name_check directive.

Please add a directive to support sendRecvTimeoutSeconds. I'm not sure if this directive applies to all backend pools or only a specified one.

New or Affected Resource(s)

  • azurerm_frontdoor

Potential Terraform Configuration

resource "azurerm_frontdoor" "example" {
  name                                         = "example-FrontDoor"
  location                                     = "${azurerm_resource_group.example.location}"
  resource_group_name                          = "${azurerm_resource_group.example.name}"
  enforce_backend_pools_certificate_name_check = false
  backend_pools_request_timeout = "60"
...

References

https://feedback.azure.com/forums/217313-networking/suggestions/36482500-allow-configurable-timeout-period-for-front-door
https://github.com/Azure/azure-rest-api-specs/blob/master/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/frontdoor.json

@WodansSon
Copy link
Collaborator

I will need to update the Azure SDK for GO used by Terraform, currently that attribute isn't exposed in the API version we are currently using....

API Version 2019-04-01 (currently used by Terraform):

720 // BackendPoolsSettings settings that apply to all backend pools.
721 type BackendPoolsSettings struct {
722 	// EnforceCertificateNameCheck - Whether to enforce certificate name check on HTTPS requests to all backend pools. No effect on non-HTTPS requests. Possible values include: 'EnforceCertificateNameCheckEnabledStateEnabled', 'EnforceCertificateNameCheckEnabledStateDisabled'
723 	EnforceCertificateNameCheck EnforceCertificateNameCheckEnabledState `json:"enforceCertificateNameCheck,omitempty"`
724 }

SDK Link

API Version 2019-05-01:

752 // BackendPoolsSettings settings that apply to all backend pools.
753 type BackendPoolsSettings struct {
754 	// EnforceCertificateNameCheck - Whether to enforce certificate name check on HTTPS requests to all backend pools. No effect on non-HTTPS requests. Possible values include: 'EnforceCertificateNameCheckEnabledStateEnabled', 'EnforceCertificateNameCheckEnabledStateDisabled'
755 	EnforceCertificateNameCheck EnforceCertificateNameCheckEnabledState `json:"enforceCertificateNameCheck,omitempty"`
756 	// SendRecvTimeoutSeconds - Send and receive timeout on forwarding request to the backend. When timeout is reached, the request fails and returns.
757 	SendRecvTimeoutSeconds *int32 `json:"sendRecvTimeoutSeconds,omitempty"`
758 }

SDK Link

@BenMitchell1979
Copy link

Tagged for tracking..

@davidobrien1985
Copy link

@WodansSon do you have an idea when this will be done?

@dansmitt
Copy link

@WodansSon any updates to this topic? It's pretty anoying to increase the timeout via the Azure CLI after a deployment.

@WodansSon
Copy link
Collaborator

@schmid37, yes this is currently on my plate and I will be getting to this soon... sorry for the delay.

@WodansSon WodansSon added this to the v2.8.0 milestone Apr 25, 2020
WodansSon added a commit that referenced this issue Apr 29, 2020
* Update Frontdoor API version

* Exposed SendRecvTimeoutSeconds

* Add comment to code and add note to docs
@ghost
Copy link

ghost commented May 1, 2020

This has been released in version 2.8.0 of the provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading. As an example:

provider "azurerm" {
    version = "~> 2.8.0"
}
# ... other configuration ...

@ghost
Copy link

ghost commented May 29, 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. If you feel I made an error 🤖 🙉 , please reach out to my human friends 👉 hashibot-feedback@hashicorp.com. Thanks!

@ghost ghost locked and limited conversation to collaborators May 29, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.