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

[CES-595] Remove AppBackend 3 #1367

Merged
merged 3 commits into from
Dec 18, 2024
Merged

Conversation

Krusty93
Copy link
Contributor

Motivation and Context

We don't need a third instance anymore. Cost saving action

Major Changes

Destroy AppBackend 3 and related networking rules

Dependencies

Testing

Documentation

Other Considerations

Copy link

github-actions bot commented Dec 17, 2024

Terraform Plan ('src/domains/eucovidcert/prod/westeurope') 📖

Terraform Plan
module.function_apps.data.azurerm_linux_function_app.function_services[0]: Still reading... [10s elapsed]
module.function_apps.data.azurerm_linux_function_app.function_services[1]: Still reading... [10s elapsed]

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:

  # module.function_apps.module.function_eucovidcert.azurerm_linux_function_app.this will be updated in-place
  ~ resource "azurerm_linux_function_app" "this" {
        id                                             = "/subscriptions/ec285037-c673-4f58-b594-d7c480da4e8b/resourceGroups/io-p-rg-eucovidcert/providers/Microsoft.Web/sites/io-p-eucovidcert-fn"
        name                                           = "io-p-eucovidcert-fn"
        tags                                           = {
            "CostCenter"                                     = "TS310 - PAGAMENTI & SERVIZI"
            "CreatedBy"                                      = "Terraform"
            "Environment"                                    = "Prod"
            "ManagementTeam"                                 = "IO Wallet"
            "Owner"                                          = "IO"
            "Source"                                         = "https://github.com/pagopa/io-infra/blob/main/src/domains/eucovidcert/prod/westeurope"
        }
        # (32 unchanged attributes hidden)

      ~ site_config {
            # (31 unchanged attributes hidden)

          ~ ip_restriction {
                name                      = "rule"
              ~ virtual_network_subnet_id = "/subscriptions/ec285037-c673-4f58-b594-d7c480da4e8b/resourceGroups/io-p-rg-common/providers/Microsoft.Network/virtualNetworks/io-p-vnet-common/subnets/appbackendl3" -> "/subscriptions/ec285037-c673-4f58-b594-d7c480da4e8b/resourceGroups/io-p-itn-common-rg-01/providers/Microsoft.Network/virtualNetworks/io-p-itn-common-vnet-01/subnets/io-p-itn-apim-snet-01"
                # (5 unchanged attributes hidden)
            }
          - ip_restriction {
              - action                    = "Allow" -> null
              - headers                   = [] -> null
              - name                      = "rule" -> null
              - priority                  = 65000 -> null
              - virtual_network_subnet_id = "/subscriptions/ec285037-c673-4f58-b594-d7c480da4e8b/resourceGroups/io-p-itn-common-rg-01/providers/Microsoft.Network/virtualNetworks/io-p-itn-common-vnet-01/subnets/io-p-itn-apim-snet-01" -> null
                # (2 unchanged attributes hidden)
            }

            # (5 unchanged blocks hidden)
        }

        # (1 unchanged block hidden)
    }

  # module.function_apps.module.function_eucovidcert_staging_slot.azurerm_linux_function_app_slot.this will be updated in-place
  ~ resource "azurerm_linux_function_app_slot" "this" {
        id                                             = "/subscriptions/ec285037-c673-4f58-b594-d7c480da4e8b/resourceGroups/io-p-rg-eucovidcert/providers/Microsoft.Web/sites/io-p-eucovidcert-fn/slots/staging"
        name                                           = "staging"
        tags                                           = {
            "CostCenter"     = "TS310 - PAGAMENTI & SERVIZI"
            "CreatedBy"      = "Terraform"
            "Environment"    = "Prod"
            "ManagementTeam" = "IO Wallet"
            "Owner"          = "IO"
            "Source"         = "https://github.com/pagopa/io-infra/blob/main/src/domains/eucovidcert/prod/westeurope"
        }
        # (30 unchanged attributes hidden)

      ~ site_config {
            # (32 unchanged attributes hidden)

          ~ ip_restriction {
                name                      = "rule"
              ~ virtual_network_subnet_id = "/subscriptions/ec285037-c673-4f58-b594-d7c480da4e8b/resourceGroups/io-p-rg-common/providers/Microsoft.Network/virtualNetworks/io-p-vnet-common/subnets/appbackendl3" -> "/subscriptions/ec285037-c673-4f58-b594-d7c480da4e8b/resourceGroups/io-p-itn-common-rg-01/providers/Microsoft.Network/virtualNetworks/io-p-itn-common-vnet-01/subnets/io-p-itn-apim-snet-01"
                # (5 unchanged attributes hidden)
            }
          - ip_restriction {
              - action                    = "Allow" -> null
              - headers                   = [] -> null
              - name                      = "rule" -> null
              - priority                  = 65000 -> null
              - virtual_network_subnet_id = "/subscriptions/ec285037-c673-4f58-b594-d7c480da4e8b/resourceGroups/io-p-itn-common-rg-01/providers/Microsoft.Network/virtualNetworks/io-p-itn-common-vnet-01/subnets/io-p-itn-apim-snet-01" -> null
                # (2 unchanged attributes hidden)
            }

            # (6 unchanged blocks hidden)
        }
    }

Plan: 0 to add, 2 to change, 0 to destroy.

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.

Copy link

sonarcloud bot commented Dec 18, 2024

Copy link

📖 Terraform Plan ('src/common/prod') - failure

Terraform Plan
module.apim_itn.data.azurerm_key_vault_certificate.api_app_internal_io_pagopa_it: Still reading... [10s elapsed]
module.application_gateway_weu.data.azurerm_key_vault_certificate.app_gw_api: Still reading... [10s elapsed]
data.azurerm_linux_function_app.io_fims_user: Still reading... [10s elapsed]
module.application_gateway_weu.data.azurerm_key_vault_certificate.app_gw_licences_ipatente_io: Still reading... [10s elapsed]
module.application_gateway_weu.data.azurerm_linux_web_app.session_manager_03: Still reading... [10s elapsed]
module.application_gateway_weu.data.azurerm_linux_web_app.appservice_devportal_be: Still reading... [10s elapsed]
data.azurerm_linux_function_app.app_messages_xl[0]: Still reading... [10s elapsed]
data.azurerm_linux_function_app.app_messages_xl[1]: Still reading... [10s elapsed]
data.azurerm_linux_web_app.firmaconio_selfcare_web_app: Still reading... [10s elapsed]
module.monitoring_weu.data.azurerm_key_vault_secret.monitor_notification_email: Still reading... [10s elapsed]
module.apim_itn.data.azurerm_key_vault_certificate.api_app_internal_io_pagopa_it: Still reading... [20s elapsed]
module.application_gateway_weu.data.azurerm_key_vault_certificate.app_gw_api: Still reading... [20s elapsed]
data.azurerm_linux_function_app.io_fims_user: Still reading... [20s elapsed]
module.application_gateway_weu.data.azurerm_key_vault_certificate.app_gw_licences_ipatente_io: Still reading... [20s elapsed]
data.azurerm_linux_function_app.app_messages_xl[0]: Still reading... [20s elapsed]
module.application_gateway_weu.data.azurerm_linux_web_app.session_manager_04: Still reading... [10s elapsed]
module.application_gateway_weu.data.azurerm_linux_web_app.ipatente_practices_app_itn: Still reading... [10s elapsed]
module.application_gateway_weu.data.azurerm_linux_web_app.appservice_selfcare_be: Still reading... [10s elapsed]
data.azurerm_linux_function_app.eucovidcert: Still reading... [10s elapsed]
module.application_gateway_weu.data.azurerm_linux_web_app.appservice_continua: Still reading... [10s elapsed]
data.azurerm_linux_function_app.io_sign_user: Still reading... [10s elapsed]
module.application_gateway_weu.data.azurerm_linux_web_app.ipatente_payments_app_itn: Still reading... [10s elapsed]
module.application_gateway_weu.data.azurerm_linux_web_app.cms_backoffice_app_itn: Still reading... [10s elapsed]
data.azurerm_linux_function_app.function_profile: Still reading... [10s elapsed]
module.application_gateway_weu.data.azurerm_linux_web_app.ipatente_licences_app_itn: Still reading... [10s elapsed]
data.azurerm_linux_function_app.lollipop_function: Still reading... [10s elapsed]
module.application_gateway_weu.data.azurerm_linux_web_app.session_manager_04: Still reading... [20s elapsed]
data.azurerm_linux_function_app.eucovidcert: Still reading... [20s elapsed]
module.application_gateway_weu.data.azurerm_linux_web_app.ipatente_payments_app_itn: Still reading... [20s elapsed]
data.azurerm_linux_function_app.function_profile: Still reading... [20s elapsed]
Error: Linux App Service (Subscription: "ec285037-c673-4f58-b594-d7c480da4e8b"
Resource Group Name: "io-p-weu-session-manager-rg-01"
Site Name: "io-p-weu-session-manager-app-04") not found

  with module.application_gateway_weu.data.azurerm_linux_web_app.session_manager_04,
  on ../_modules/application_gateway/data.tf line 20, in data "azurerm_linux_web_app" "session_manager_04":
  20: data "azurerm_linux_web_app" "session_manager_04" {

Linux App Service (Subscription: "ec285037-c673-4f58-b594-d7c480da4e8b"
Resource Group Name: "io-p-weu-session-manager-rg-01"
Site Name: "io-p-weu-session-manager-app-04") not found
GIN-STORAGE/cbba93dd11a742c6b26d4111d392936c]
module.application_gateway_weu.data.azurerm_linux_web_app.fims_op_app: Still reading... [10s elapsed]
module.application_gateway_weu.data.azurerm_linux_web_app.ipatente_vehicles_app_itn: Still reading... [10s elapsed]
module.application_gateway_weu.data.azurerm_linux_web_app.session_manager_04: Still reading... [30s elapsed]
data.azurerm_linux_function_app.services_app_backend_function_app: Still reading... [10s elapsed]
data.azurerm_linux_function_app.wallet_user: Still reading... [10s elapsed]
data.azurerm_linux_function_app.function_assets_cdn: Still reading... [10s elapsed]
module.application_gateway_weu.data.azurerm_linux_web_app.session_manager_04: Still reading... [40s elapsed]
module.application_gateway_weu.data.azurerm_linux_web_app.session_manager_04: Still reading... [50s elapsed]
module.application_gateway_weu.data.azurerm_linux_web_app.session_manager_04: Still reading... [1m0s elapsed]
module.application_gateway_weu.data.azurerm_linux_web_app.session_manager_04: Still reading... [1m10s elapsed]
module.application_gateway_weu.data.azurerm_linux_web_app.session_manager_04: Still reading... [1m20s elapsed]
module.application_gateway_weu.data.azurerm_linux_web_app.session_manager_04: Still reading... [1m30s elapsed]

Note: Objects have changed outside of Terraform

Terraform detected the following changes made outside of Terraform since the
last "terraform apply" which may have affected this plan:

  # module.app_backend_weu["3"].module.appservice_app_backend.azurerm_linux_web_app.this has been deleted
  - resource "azurerm_linux_web_app" "this" {
      - default_hostname                               = "io-p-app-appbackendl3.azurewebsites.net" -> null
      - id                                             = "/subscriptions/ec285037-c673-4f58-b594-d7c480da4e8b/resourceGroups/io-p-rg-linux/providers/Microsoft.Web/sites/io-p-app-appbackendl3" -> null
      - name                                           = "io-p-app-appbackendl3" -> null
        tags                                           = {
            "CostCenter"  = "TS310 - PAGAMENTI & SERVIZI"
            "CreatedBy"   = "Terraform"
            "Environment" = "Prod"
            "Owner"       = "IO"
            "Source"      = "https://github.com/pagopa/io-infra/blob/main/src/common/prod"
        }
        # (24 unchanged attributes hidden)

        # (2 unchanged blocks hidden)
    }


Unless you have made equivalent changes to your configuration, or ignored the
relevant attributes using ignore_changes, the following plan may include
actions to undo or respond to these changes.

─────────────────────────────────────────────────────────────────────────────

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  ~ update in-place
  - destroy

Terraform planned the following actions, but then encountered a problem:

  # module.app_backend_weu["3"].azurerm_application_insights_standard_web_test.web_tests will be destroyed
  # (because module.app_backend_weu["3"] is not in configuration)
  - resource "azurerm_application_insights_standard_web_test" "web_tests" {
      - application_insights_id = "/subscriptions/ec285037-c673-4f58-b594-d7c480da4e8b/resourceGroups/io-p-rg-common/providers/Microsoft.Insights/components/io-p-ai-common" -> null
      - enabled                 = true -> null
      - frequency               = 300 -> null
      - geo_locations           = [
          - "emea-nl-ams-azr",
        ] -> null
      - id                      = "/subscriptions/ec285037-c673-4f58-b594-d7c480da4e8b/resourceGroups/io-p-rg-common/providers/Microsoft.Insights/webTests/io-p-app-appbackendl3.azurewebsites.net-test-io-p-ai-common" -> null
      - location                = "westeurope" -> null
      - name                    = "io-p-app-appbackendl3.azurewebsites.net-test-io-p-ai-common" -> null
      - resource_group_name     = "io-p-rg-common" -> null
      - retry_enabled           = true -> null
      - synthetic_monitor_id    = "io-p-app-appbackendl3.azurewebsites.net-test-io-p-ai-common" -> null
      - tags                    = {} -> null
      - timeout                 = 30 -> null
        # (1 unchanged attribute hidden)

      - request {
          - follow_redirects_enabled         = false -> null
          - http_verb                        = "GET" -> null
          - parse_dependent_requests_enabled = false -> null
          - url                              = "https://io-p-app-appbackendl3.azurewebsites.net/info" -> null
            # (1 unchanged attribute hidden)
        }

      - validation_rules {
          - expected_status_code        = 200 -> null
          - ssl_cert_remaining_lifetime = 7 -> null
          - ssl_check_enabled           = true -> null
        }
    }

  # module.app_backend_weu["3"].azurerm_monitor_metric_alert.too_many_http_5xx will be destroyed
  # (because module.app_backend_weu["3"] is not in configuration)
  - resource "azurerm_monitor_metric_alert" "too_many_http_5xx" {
      - auto_mitigate            = false -> null
      - description              = "Whenever the total http server errors exceeds a dynamic threashold. Runbook: https://pagopa.atlassian.net/wiki/spaces/IC/pages/585072814/Appbackendlx+-+Too+many+errors" -> null
      - enabled                  = false -> null
      - frequency                = "PT5M" -> null
      - id                       = "/subscriptions/ec285037-c673-4f58-b594-d7c480da4e8b/resourceGroups/io-p-rg-linux/providers/Microsoft.Insights/metricAlerts/[IO-COMMONS | io-p-app-appbackendl3] Too many 5xx" -> null
      - name                     = "[IO-COMMONS | io-p-app-appbackendl3] Too many 5xx" -> null
      - resource_group_name      = "io-p-rg-linux" -> null
      - scopes                   = [
          - "/subscriptions/ec285037-c673-4f58-b594-d7c480da4e8b/resourceGroups/io-p-rg-linux/providers/Microsoft.Web/sites/io-p-app-appbackendl3",
        ] -> null
      - severity                 = 0 -> null
      - tags                     = {
          - "CostCenter"  = "TS310 - PAGAMENTI & SERVIZI"
          - "CreatedBy"   = "Terraform"
          - "Environment" = "Prod"
          - "Owner"       = "IO"
          - "Source"      = "https://github.com/pagopa/io-infra/blob/main/src/common/prod"
        } -> null
      - window_size              = "PT5M" -> null
        # (2 unchanged attributes hidden)

      - action {
          - action_group_id    = "/subscriptions/ec285037-c673-4f58-b594-d7c480da4e8b/resourceGroups/io-p-rg-common/providers/Microsoft.Insights/actionGroups/ioperror" -> null
          - webhook_properties = {} -> null
        }

      - dynamic_criteria {
          - aggregation              = "Total" -> null
          - alert_sensitivity        = "Low" -> null
          - evaluation_failure_count = 4 -> null
          - evaluation_total_count   = 4 -> null
          - metric_name              = "Http5xx" -> null
          - metric_namespace         = "Microsoft.Web/sites" -> null
          - operator                 = "GreaterThan" -> null
          - skip_metric_validation   = false -> null
            # (1 unchanged attribute hidden)
        }
    }

  # module.application_gateway_weu.azurerm_web_application_firewall_policy.api_app will be updated in-place
  ~ resource "azurerm_web_application_firewall_policy" "api_app" {
        id                  = "/subscriptions/ec285037-c673-4f58-b594-d7c480da4e8b/resourceGroups/io-p-rg-external/providers/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies/io-p-waf-appgateway-api-app-policy"
        name                = "io-p-waf-appgateway-api-app-policy"
        tags                = {
            "CostCenter"  = "TS310 - PAGAMENTI & SERVIZI"
            "CreatedBy"   = "Terraform"
            "Environment" = "Prod"
            "Owner"       = "IO"
            "Source"      = "https://github.com/pagopa/io-infra"
        }
        # (4 unchanged attributes hidden)

      ~ policy_settings {
          ~ request_body_inspect_limit_in_kb          = 0 -> 128
            # (6 unchanged attributes hidden)
        }

        # (1 unchanged block hidden)
    }

Plan: 0 to add, 1 to change, 2 to destroy.

Warning: Argument is deprecated

  with module.application_gateway_weu.azurerm_web_application_firewall_policy.api_app,
  on ../_modules/application_gateway/firewall.tf line 60, in resource "azurerm_web_application_firewall_policy" "api_app":
  60:       rule_group_override {

`disabled_rules` will be removed in favour of the `rule` property in version
4.0 of the AzureRM Provider.

(and 53 more similar warnings elsewhere)
::error::Terraform exited with code 1.

@Krusty93 Krusty93 merged commit 9d0c7c9 into main Dec 18, 2024
11 of 15 checks passed
@Krusty93 Krusty93 deleted the CES-595-rimuovere-app-backend-3 branch December 18, 2024 13:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants