terraform-provider-azurerm icon indicating copy to clipboard operation
terraform-provider-azurerm copied to clipboard

The terraform-provider-azurerm_v3.91.0_x5.exe plugin crashed

Open 7timus opened this issue 1 year ago • 6 comments

Is there an existing issue for this?

  • [X] I have searched the existing issues

Community Note

  • Please vote on this issue by adding a :thumbsup: 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 and review the contribution guide to help.

Terraform Version

Terraform v1.6.6 on windows_amd64

AzureRM Provider Version

3.91.0

Affected Resource(s)/Data Source(s)

azurerm_windows_web_app_slot

Terraform Configuration Files

resource "azurerm_windows_web_app_slot" "api" {
  name                    = "staging"
  app_service_id          = azurerm_windows_web_app.api.id
  https_only              = true
  client_affinity_enabled = true
  tags                    = local.az_common_tags

  site_config {
    websockets_enabled    = false

    application_stack {
      dotnet_version ="v6.0"
    }

    dynamic "ip_restriction" {
      for_each = var.ip_restriction_rules
      content {
              action = ip_restriction.value.action
              name = ip_restriction.value.name
              priority = ip_restriction.value.priority
              service_tag = ip_restriction.value.service_tag
              ip_address = ip_restriction.value.ip_address
              virtual_network_subnet_id=ip_restriction.value.virtual_network_subnet_id
              }
      }
  }

  app_settings = local.web_app_app_settings
}

resource "azurerm_application_insights_web_test" "api" {
  name                    = var.web_availability_test_name
  location                = azurerm_application_insights.api.location
  resource_group_name     = azurerm_resource_group.api.name
  application_insights_id = azurerm_application_insights.api.id
  kind                    = "ping"
  frequency               = 300
  timeout                 = 120
  enabled                 = true
  retry_enabled           = true
  geo_locations           = ["emea-fr-pra-edge", "emea-se-sto-edge","emea-nl-ams-azr","latam-br-gru-edge","apac-hk-hkn-azr"]
  tags = local.az_common_tags
  configuration = <<XML
<WebTest Name="WebTest1" Id="ABD48585-0831-40CB-9069-682EA6BB3583" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale="">
  <Items>
    <Request Method="GET" Guid="a5f10126-e4cd-570d-961c-cea43999a200" Version="1.1" Url="https://${azurerm_windows_web_app.api.default_hostname}" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="200" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False" />
  </Items>
</WebTest>
XML
}
resource "azurerm_key_vault" "api" {
  name                            = var.kv_name
  location                        = azurerm_resource_group.api.location
  resource_group_name             = azurerm_resource_group.api.name
  enabled_for_disk_encryption     = true
  enabled_for_deployment          = true
  enabled_for_template_deployment = true
  purge_protection_enabled        = true
  tenant_id                       = data.azurerm_client_config.api.tenant_id
  soft_delete_retention_days      = var.kv_soft_delete_retention_days
  sku_name                        = "standard"
  tags = local.az_common_tags
  
  depends_on   = [
      azurerm_windows_web_app.api
    ]

  access_policy {
    object_id  =  var.access_rights_group
    tenant_id  =  data.azurerm_client_config.api.tenant_id

    secret_permissions = [
      "Get",
      "Set",
      "List",
      "Delete",
      "Recover",
    ]

    certificate_permissions = [
      "Get",
      "List",
    ]
  }

  access_policy {
    object_id  =  azurerm_windows_web_app.api.identity.0.principal_id
    tenant_id  =  data.azurerm_client_config.api.tenant_id

    secret_permissions = [
      "Get",
      "List",
    ]

    certificate_permissions = [
      "Get",
      "List",
    ]
  }

  access_policy {
    tenant_id = data.azurerm_client_config.api.tenant_id
    object_id = data.azurerm_client_config.api.object_id

    key_permissions = [
      "Get",
      "List",
      "Import",
    ]

    secret_permissions = [
      "Get",
      "List",
      "Set",
      "Delete",
      "Purge",
      "Recover",
      "Restore"
    ]
  }
}

resource "azurerm_monitor_metric_alert" "alert_dependency_spike_last_15_minutes" {
  name                = "XXX API ${var.web_app_environment} failed dependencies spike in last 15 minutes"
  resource_group_name = azurerm_resource_group.api.name
  scopes              = [azurerm_application_insights.api.id]
  description         = "There has been a spike of failed dependencies in short period."

  dynamic_criteria {
    metric_namespace = "microsoft.insights/components"
    metric_name      = "dependencies/failed"
    aggregation      = "Count"
    operator         = "GreaterOrLessThan"
    alert_sensitivity = "Medium"
    evaluation_total_count = 4
    evaluation_failure_count = 4
  }

  frequency=  "PT5M"
  window_size = "PT15M"
  severity=1

  action {
    action_group_id = data.azurerm_monitor_action_group.teamsAlertActionGroup.id
  }
   tags = local.az_common_tags
}

resource "azurerm_role_assignment" "shared_blob_table_reader_for_web_app" {
  scope                 = azurerm_storage_account.shared.id
  role_definition_name  = "Storage Table Data Reader"
  principal_id          = azurerm_windows_web_app.api.identity.0.principal_id
}

Debug Output/Panic Output

Plan: 0 to add, 20 to change, 0 to destroy.
╷
│ Error: Plugin did not respond
│
│   with azurerm_windows_web_app_slot.api,
│   on main.tf line 68, in resource "azurerm_windows_web_app_slot" "api":
│   68: resource "azurerm_windows_web_app_slot" "api" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).UpgradeResourceState call. The 
│ plugin logs may contain more details.
╵
╷
│ Error: Plugin did not respond
│
│   with azurerm_application_insights_web_test.api,
│   on main.tf line 130, in resource "azurerm_application_insights_web_test" "api":
│  130: resource "azurerm_application_insights_web_test" "api" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).UpgradeResourceState call. The 
│ plugin logs may contain more details.
╵
╷
│ Error: Plugin did not respond
│
│   with azurerm_key_vault.api,
│   on main.tf line 151, in resource "azurerm_key_vault" "api":
│  151: resource "azurerm_key_vault" "api" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ReadResource call. The plugin  
│ logs may contain more details.
╵
╷
│ Error: Plugin did not respond
│
│   with azurerm_role_assignment.shared_blob_table_reader_for_web_app,
│   on main.tf line 690, in resource "azurerm_role_assignment" "shared_blob_table_reader_for_web_app":
│  690: resource "azurerm_role_assignment" "shared_blob_table_reader_for_web_app" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ReadResource call. The plugin  
│ logs may contain more details.
╵
╷
│ Error: Plugin did not respond
│
│   with azurerm_monitor_metric_alert.alert_handle_count_buildup,
│   on main.tf line 762, in resource "azurerm_monitor_metric_alert" "alert_handle_count_buildup":
│  762: resource "azurerm_monitor_metric_alert" "alert_handle_count_buildup" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).UpgradeResourceState call. The 
│ plugin logs may contain more details.
╵

Stack trace from the terraform-provider-azurerm_v3.91.0_x5.exe plugin:

panic: interface conversion: interface {} is nil, not string

goroutine 1067 [running]:
github.com/hashicorp/terraform-provider-azurerm/internal/services/appservice/migration.(*WindowsWebAppSlotV0toV1).UpgradeFunc.WindowsWebAppSlotV0toV1.UpgradeFunc.func1({0x0?, 0x0?}, 0x0?, {0x0?, 0x0?})
        github.com/hashicorp/terraform-provider-azurerm/internal/services/appservice/migration/windows_web_app_slot.go:1806 +0x13c
github.com/hashicorp/terraform-provider-azurerm/internal/tf/pluginsdk.StateUpgrades.func1({0x9e230f0, 0xc001b80900}, 0x0?, {0x86186a0, 0xc0003e1b00})
        github.com/hashicorp/terraform-provider-azurerm/internal/tf/pluginsdk/state_upgrades.go:55 +0x5e
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).upgradeJSONState(0xc0005efcb0, {0x9e230f0, 0xc001b80900}, 0xd?, 0x95d4c0f?, 0x14?)
        github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/schema/grpc_provider.go:485 +0x75
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).UpgradeResourceState(0xc0005efcb0, {0x9e230f0?, 0xc001b80810?}, 0xc005f76d40)
        github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/schema/grpc_provider.go:361 +0x3fa
github.com/hashicorp/terraform-plugin-go/tfprotov5/tf5server.(*server).UpgradeResourceState(0xc001ef46e0, {0x9e230f0?, 0xc001b800c0?}, 0xc0000c74a0)
        github.com/hashicorp/[email protected]/tfprotov5/tf5server/server.go:757 +0x258
github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_UpgradeResourceState_Handler({0x91cd820?, 0xc001ef46e0}, {0x9e230f0, 0xc001b800c0}, 0xc006668230, 0x0)
        github.com/hashicorp/[email protected]/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:395 +0x169 
google.golang.org/grpc.(*Server).processUnaryRPC(0xc0003f0000, {0x9e49e20, 0xc000b38000}, 0xc00236b9e0, 0xc000b2f1d0, 
0xf990ed8, 0x0)
        google.golang.org/[email protected]/server.go:1374 +0xde7
google.golang.org/grpc.(*Server).handleStream(0xc0003f0000, {0x9e49e20, 0xc000b38000}, 0xc00236b9e0, 0x0)
        google.golang.org/[email protected]/server.go:1751 +0x9e7
google.golang.org/grpc.(*Server).serveStreams.func1.1()
        google.golang.org/[email protected]/server.go:986 +0xbb
created by google.golang.org/grpc.(*Server).serveStreams.func1 in goroutine 68
        google.golang.org/[email protected]/server.go:997 +0x145

Error: The terraform-provider-azurerm_v3.91.0_x5.exe plugin crashed!

This is always indicative of a bug within the plugin. It would be immensely
helpful if you could report the crash with the plugin's maintainers so that it
can be fixed. The output above should help diagnose the issue.

Expected Behaviour

Terraform plan output in tfplan file

Actual Behaviour

Terraform azurerm plugin crashed

Steps to Reproduce

terraform plan

Important Factoids

No response

References

No response

7timus avatar Feb 15 '24 07:02 7timus