-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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_windows_web_app_slot
- FIX node version reset to "0.12.1" during update
#25489
azurerm_windows_web_app_slot
- FIX node version reset to "0.12.1" during update
#25489
Conversation
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.
Thanks for this PR @Apokalypt but it appears that this change has introduced a regression, we have a new failing test:
------- Stdout: -------
=== RUN TestAccWindowsWebAppSlot_completeUpdate
=== PAUSE TestAccWindowsWebAppSlot_completeUpdate
=== CONT TestAccWindowsWebAppSlot_completeUpdate
testcase.go:113: Step 5/6 error: After applying this test step, the plan was not empty.
stdout:
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place
Terraform will perform the following actions:
# azurerm_windows_web_app_slot.test will be updated in-place
~ resource "azurerm_windows_web_app_slot" "test" {
~ app_settings = {
- "foo" = "bar" -> null
}
id = "/subscriptions/*******/resourceGroups/acctestRG-240411141600104680/providers/Microsoft.Web/sites/acctestWA-240411141600104680/slots/acctestWAS-240411141600104680"
name = "acctestWAS-240411141600104680"
tags = {}
# (18 unchanged attributes hidden)
# (1 unchanged block hidden)
}
Plan: 0 to add, 1 to change, 0 to destroy.
--- FAIL: TestAccWindowsWebAppSlot_completeUpdate (718.10s)
FAIL
Hmmm I may have an idea why it's happening but can't run acceptance test... I will try with my team using terraform to make some test but it may take time (next tuesday). |
@stephybun I can confirm that the test does not pass, but this is not due to my PR, since the bug is present in the normal version of "main". In fact, I've run the test without my code on version 3.97.1 (the last version before my branch was created) and the result is the same: the plan considers that the value will be removed... Imo, this bug should be fixed in another PR and not this one. One thing to note is that, even if the plan indicates that the value will be deleted, if you apply the plan, nothing changes! The value remains as expected... EDIT: This bug seems to be present in the last version of terraform (3.99.0) |
Changes performed as requested on the other PR |
Changes performed as requested on the other PR |
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.
Tests look good. Thanks @Apokalypt LGTM 🍕
<Actions> <action id="f410411e63aff4bb73a81c2aec1d373cf8a903e63b30dee2006b0030d8a94cc8"> <h3>Bump Terraform `azurerm` provider version</h3> <details id="1d9343c012f5434ac9fe8a98135bae3667b399259be16d9b14302ea3bd424a24"> <summary>Update Terraform lock file</summary> <p>changes detected:
	"hashicorp/azurerm" updated from "3.99.0" to "3.100.0" in file ".terraform.lock.hcl"</p> <details> <summary>3.100.0</summary> <pre>Changelog retrieved from:
	https://github.com/hashicorp/terraform-provider-azurerm/releases/tag/v3.100.0
ENHANCEMENTS:

* dependencies: updating `hashicorp/go-azure-sdk` to `v0.20240417.1084633` ([#25659](hashicorp/terraform-provider-azurerm#25659 `compute` - update Virtual Machine and Virtual Machine Scale Set resources and data sources to use `hashicorp/go-azure-sdk` ([#25533](hashicorp/terraform-provider-azurerm#25533 `machine_learning` - Add new `machine_learning` block that supports `purge_soft_deleted_workspace_on_destroy` ([#25624](hashicorp/terraform-provider-azurerm#25624 `loganalytics` - update cluster resource to use `hashicorp/go-azure-sdk` ([#23373](hashicorp/terraform-provider-azurerm#23373 Data Source: `azurerm_management_group` - now exports the `tenant_scoped_id` attribute ([#25555](hashicorp/terraform-provider-azurerm#25555 `azurerm_container_app` - the `ingress.ip_security_restriction.ip_address_range` property will now accept an IP address as valid input ([#25609](hashicorp/terraform-provider-azurerm#25609 `azurerm_container_group` - the `identity` block can now be updated ([#25543](hashicorp/terraform-provider-azurerm#25543 `azurerm_express_route_connection` - support for the `private_link_fast_path_enabled` property ([#25596](hashicorp/terraform-provider-azurerm#25596 `azurerm_hdinsight_hadoop_cluster` - support for the `private_link_configuration` block ([#25629](hashicorp/terraform-provider-azurerm#25629 `azurerm_hdinsight_hbase_cluster` - support for the `private_link_configuration` block ([#25629](hashicorp/terraform-provider-azurerm#25629 `azurerm_hdinsight_interactive_query_cluster` - support for the `private_link_configuration` block ([#25629](hashicorp/terraform-provider-azurerm#25629 `azurerm_hdinsight_kafka_cluster` - support for the `private_link_configuration` block ([#25629](hashicorp/terraform-provider-azurerm#25629 `azurerm_hdinsight_spark_cluster` - support for the `private_link_configuration` block ([#25629](hashicorp/terraform-provider-azurerm#25629 `azurerm_management_group` - now exports the `tenant_scoped_id` attribute ([#25555](hashicorp/terraform-provider-azurerm#25555 `azurerm_monitor_activity_log_alert` - support for the `location` property ([#25389](hashicorp/terraform-provider-azurerm#25389 `azurerm_mysql_flexible_server` - update validating regex for `sku_name` ([#25642](hashicorp/terraform-provider-azurerm#25642 `azurerm_postgresql_flexible_server` - support for the `GeoRestore` `create_mode` ([#25664](hashicorp/terraform-provider-azurerm#25664 `azurerm_virtual_network_gateway_connection` - support for the `private_link_fast_path_enabled` property ([#25650](hashicorp/terraform-provider-azurerm#25650 `azurerm_windows_web_app` - support for the `handler_mapping` block ([#25631](hashicorp/terraform-provider-azurerm#25631 `azurerm_windows_web_app_slot` - support for the `handler_mapping` block ([#25631](https://github.com/hashicorp/terraform-provider-azurerm/issues/25631))

BUG FIXES:

* storage: prevent a bug causing the second storage account key to be used for authentication instead of the first ([#25652](hashicorp/terraform-provider-azurerm#25652 `azurerm_active_directory_domain_service` - prevent an issue where `filtered_sync_enabled` was not being updated ([#25594](hashicorp/terraform-provider-azurerm#25594 `azurerm_application_insights` - add a state migration to fix the resource ID casing of Application Insights resources ([#25628](hashicorp/terraform-provider-azurerm#25628 `azurerm_function_app_hybrid_connection` - can now use relay resources created in a different resource group ([#25541](hashicorp/terraform-provider-azurerm#25541 `azurerm_kubernetes_cluster_node_pool` - prevent plan diff when the `windows_profile.outbound_nat_enabled` property is unset ([#25644](hashicorp/terraform-provider-azurerm#25644 `azurerm_machine_learning_compute_cluster` - fix location to point to parent resource for computes ([#25643](hashicorp/terraform-provider-azurerm#25643 `azurerm_machine_learning_compute_instance` - fix location to point to parent resource for computes ([#25643](hashicorp/terraform-provider-azurerm#25643 `azurerm_storage_account` - check replication type when evaluating support level for shares and queues for V1 storage accounts ([#25581](hashicorp/terraform-provider-azurerm#25581 `azurerm_storage_account` - added a sanity check for `dns_endpoint_type` and `blob_properties.restore_policy` ([#25450](hashicorp/terraform-provider-azurerm#25450 `azurerm_web_app_hybrid_connection` - can now use relay resources created in a different resource group ([#25541](hashicorp/terraform-provider-azurerm#25541 `azurerm_windows_web_app` - prevent removal of `site_config.application_stack.node_version` when `app_settings` are updated ([#25488](hashicorp/terraform-provider-azurerm#25488 `azurerm_windows_web_app_slot` - prevent removal of `site_config.application_stack.node_version` when `app_settings` are updated ([#25489](https://github.com/hashicorp/terraform-provider-azurerm/issues/25489))

DEPRECATIONS:

* `logz` - the Logz resources are deprecated and will be removed in v4.0 of the AzureRM Provider since the API no longer allows new instances to be created ([#25405](hashicorp/terraform-provider-azurerm#25405 `azurerm_machine_learning_compute_instance` - marked the `location` field as deprecated in v4.0 of the provider ([#25643](hashicorp/terraform-provider-azurerm#25643 `azurerm_kubernetes_cluster` - the following properties have been deprecated since the API no longer supports cluster creation with legacy Azure Entra integration: `client_app_id`, `server_app_id`, `server_app_secret` and `managed` ([#25200](https://github.com/hashicorp/terraform-provider-azurerm/issues/25200))


</pre> </details> </details> <a href="https://infra.ci.jenkins.io/job/updatecli/job/azure/job/main/117/">Jenkins pipeline link</a> </action> </Actions> --- <table> <tr> <td width="77"> <img src="https://www.updatecli.io/images/updatecli.png" alt="Updatecli logo" width="50" height="50"> </td> <td> <p> Created automatically by <a href="https://www.updatecli.io/">Updatecli</a> </p> <details><summary>Options:</summary> <br /> <p>Most of Updatecli configuration is done via <a href="https://www.updatecli.io/docs/prologue/quick-start/">its manifest(s)</a>.</p> <ul> <li>If you close this pull request, Updatecli will automatically reopen it, the next time it runs.</li> <li>If you close this pull request and delete the base branch, Updatecli will automatically recreate it, erasing all previous commits made.</li> </ul> <p> Feel free to report any issues at <a href="https://github.com/updatecli/updatecli/issues">github.com/updatecli/updatecli</a>.<br /> If you find this tool useful, do not hesitate to star <a href="https://github.com/updatecli/updatecli/stargazers">our GitHub repository</a> as a sign of appreciation, and/or to tell us directly on our <a href="https://matrix.to/#/#Updatecli_community:gitter.im">chat</a>! </p> </details> </td> </tr> </table> Co-authored-by: Jenkins Infra Bot (updatecli) <[email protected]>
I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active contributions. |
Community Note
Description
Right now, the NodeJS environment variable can be unset during an update. This PR ensure that the version is correctly set if we need to update AppSettings for any reason
I also remove the duplicate code to avoid patching/updating app settings two times
PR Checklist
For example: “
resource_name_here
- description of change e.g. adding propertynew_property_name_here
”Changes to existing Resource / Data Source
Testing
Change Log
Below please provide what should go into the changelog (if anything) conforming to the Changelog Format documented here.
azurerm_windows_web_app_slot
- avoid "WEBSITE_NODE_DEFAULT_VERSION" to be lost during updateThis is a (please select all that apply):
Related Issue(s)
Related to #25452 , #25488