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_container_registry - Avoid unnecessary recreate when georeplication.tags update #24994

Merged
merged 4 commits into from Mar 6, 2024

Conversation

magodo
Copy link
Collaborator

@magodo magodo commented Feb 23, 2024

This PR fixes two things:

Copy link
Member

@catriona-m catriona-m left a comment

Choose a reason for hiding this comment

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

Hi @magodo

It looks like this has some test failures, but once those are addressed we can take another look at this. Thanks!

------- Stdout: -------
=== RUN   TestAccContainerRegistry_geoReplication
=== PAUSE TestAccContainerRegistry_geoReplication
=== CONT  TestAccContainerRegistry_geoReplication
    testcase.go:113: Step 5/10 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_container_registry.test will be updated in-place
          ~ resource "azurerm_container_registry" "test" {
                id                            = "/subscriptions/*******/resourceGroups/acctestRG-acr-240223113953509225/providers/Microsoft.ContainerRegistry/registries/testacccr240223113953509225"
                name                          = "testacccr240223113953509225"
                tags                          = {}
                # (16 unchanged attributes hidden)
              ~ georeplications {
                  ~ location                  = "eastus2" -> "westeurope"
                    tags                      = {}
                    # (2 unchanged attributes hidden)
                }
              ~ georeplications {
                  ~ location                  = "westeurope" -> "eastus2"
                  + tags                      = {}
                    # (2 unchanged attributes hidden)
                }
            }
        Plan: 0 to add, 1 to change, 0 to destroy.
--- FAIL: TestAccContainerRegistry_geoReplication (484.36s)
FAIL

@magodo
Copy link
Collaborator Author

magodo commented Feb 26, 2024

Hi @catriona-m, this is not an issue introduced by this PR, as if you switch the order of the ARM_TEST_LOCATION_ALT and ARM_TEST_LOCATION_ALT2, it shall pass.

You can find the details here: #17987 (comment).

@catriona-m
Copy link
Member

Hi @catriona-m, this is not an issue introduced by this PR, as if you switch the order of the ARM_TEST_LOCATION_ALT and ARM_TEST_LOCATION_ALT2, it shall pass.

You can find the details here: #17987 (comment).

Thanks for explaining @magodo. Would it make sense to fix those tests as part of this PR?

@magodo
Copy link
Collaborator Author

magodo commented Feb 29, 2024

@catriona-m Sure, I've updated the test and verified that both order of the locations pass the test locally.

Copy link
Member

@stephybun stephybun left a comment

Choose a reason for hiding this comment

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

Thanks @magodo. Unfortunately the test is still failing with the same error on Team City. Is there an explanation for that?

@magodo
Copy link
Collaborator Author

magodo commented Mar 6, 2024

@stephybun I have no idea... I tried to run it locally and on teamcity, with the same setting as the failing test case, all passed:

image
image

Copy link
Member

@stephybun stephybun left a comment

Choose a reason for hiding this comment

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

How odd, thanks for double checking. Thanks @magodo LGTM 👍

@stephybun stephybun merged commit 38d714e into hashicorp:main Mar 6, 2024
31 checks passed
@github-actions github-actions bot added this to the v3.95.0 milestone Mar 6, 2024
stephybun added a commit that referenced this pull request Mar 7, 2024
lemeurherve pushed a commit to jenkins-infra/azure that referenced this pull request Mar 11, 2024
<Actions>
<action
id="f410411e63aff4bb73a81c2aec1d373cf8a903e63b30dee2006b0030d8a94cc8">
        <h3>Bump Terraform `azurerm` provider version</h3>
<details
id="1d9343c012f5434ac9fe8a98135bae3667b399259be16d9b14302ea3bd424a24">
            <summary>Update Terraform lock file</summary>
<p>changes detected:&#xA;&#x9;&#34;hashicorp/azurerm&#34; updated from
&#34;3.93.0&#34; to &#34;3.94.0&#34; in file
&#34;.terraform.lock.hcl&#34;</p>
            <details>
                <summary>3.94.0</summary>
<pre>Changelog retrieved
from:&#xA;&#x9;https://github.com/hashicorp/terraform-provider-azurerm/releases/tag/v3.94.0&#xA;FEATURES:&#xA;&#xA;*
**New Resource**: `azurerm_kubernetes_fleet_update_run`
([#24813](https://github.com/hashicorp/terraform-provider-azurerm/issues/24813))&#xA;&#xA;ENHANCEMENTS:&#xA;&#xA;*
dependencies: updating to `v0.20240228.1142829` of
`github.com/hashicorp/go-azure-sdk`
([#25081](https://github.com/hashicorp/terraform-provider-azurerm/issues/25081))&#xA;*
`servicefabric`: updating to use the transport layer from
`hashicorp/go-azure-sdk` rather than `Azure/go-autorest`
([#25002](https://github.com/hashicorp/terraform-provider-azurerm/issues/25002))&#xA;*
`springcloud`: updating to API Version `2024-01-01-preview`
([#24937](https://github.com/hashicorp/terraform-provider-azurerm/issues/24937))&#xA;*
`securitycenter`: updating to use the transport layer from
`hashicorp/go-azure-sdk` rather than `Azure/go-autorest`
([#25081](https://github.com/hashicorp/terraform-provider-azurerm/issues/25081))&#xA;*
Data Source: `azurerm_storage_table_entities` - support for `select`
([#24987](https://github.com/hashicorp/terraform-provider-azurerm/issues/24987))&#xA;*
Data Source: `azurerm_netapp_volume` - support for the
`smb_access_based_enumeration` and `smb_non_browsable` properties
([#24514](https://github.com/hashicorp/terraform-provider-azurerm/issues/24514))&#xA;*
`azurerm_cosmosdb_account` - add support for the `minimal_tls_version`
property
([#24966](https://github.com/hashicorp/terraform-provider-azurerm/issues/24966))&#xA;*
`azurerm_federated_identity_credential` - the federated credentials can
now be changed without creating a new resource
([#25003](https://github.com/hashicorp/terraform-provider-azurerm/issues/25003))&#xA;*
`azurerm_kubernetes_cluster` - support for the
`current_kubernetes_version` property
([#25079](https://github.com/hashicorp/terraform-provider-azurerm/issues/25079))&#xA;*
`azurerm_kubernetes_cluster` - private DNS is now allowed for the
`web_app_routing` property
([#25038](https://github.com/hashicorp/terraform-provider-azurerm/issues/25038))&#xA;*
`azurerm_kubernetes_cluster` - migration between different
`outbound_type`s is now allowed
([#25021](https://github.com/hashicorp/terraform-provider-azurerm/issues/25021))&#xA;*
`azurerm_mssql_database` - support for the `recovery_point_id` and
`restore_long_term_retention_backup_id` properties
([#24904](https://github.com/hashicorp/terraform-provider-azurerm/issues/24904))&#xA;*
`azurerm_linux_virtual_machine` - support for the
`automatic_upgrade_enabled`, `disk_controller_type`,
`os_image_notification`, `treat_failure_as_deployment_failure_enabled`,
and `vm_agent_platform_updates_enabled`properties
([#23394](https://github.com/hashicorp/terraform-provider-azurerm/issues/23394))&#xA;*
`azurerm_nginx_deployment` - support for the `automatic_upgrade_channel`
property
([#24867](https://github.com/hashicorp/terraform-provider-azurerm/issues/24867))&#xA;*
`azurerm_netapp_volume` - support for the `smb_access_based_enumeration`
and `smb_non_browsable` properties
([#24514](https://github.com/hashicorp/terraform-provider-azurerm/issues/24514))&#xA;*
`azurerm_netapp_pool` - support for the `encryption_type` property
([#24993](https://github.com/hashicorp/terraform-provider-azurerm/issues/24993))&#xA;*
`azurerm_role_definition` - upgrade to the API version
`2022-05-01-preview`
([#25008](https://github.com/hashicorp/terraform-provider-azurerm/issues/25008))&#xA;*
`azurerm_redis_cache` - allow AAD auth for all SKUs
([#25006](https://github.com/hashicorp/terraform-provider-azurerm/issues/25006))&#xA;*
`azurerm_sql_managed_instance` - support for the
`zone_redundant_enabled` property
([#25089](https://github.com/hashicorp/terraform-provider-azurerm/issues/25089))&#xA;*
`azurerm_spring_cloud_gateway` - support for the
`application_performance_monitoring_ids` property
([#24919](https://github.com/hashicorp/terraform-provider-azurerm/issues/24919))&#xA;*
`azurerm_spring_cloud_configuration_service` - support for the
`refresh_interval_in_seconds` property
([#25009](https://github.com/hashicorp/terraform-provider-azurerm/issues/25009))&#xA;*
`azurerm_synapse_workspace` - support for using the
`user_assigned_identity_id` property within the `customer_managed_key`
block
([#25027](https://github.com/hashicorp/terraform-provider-azurerm/issues/25027))&#xA;*
`azurerm_windows_virtual_machine` - support for the
`automatic_upgrade_enabled`, `disk_controller_type`,
`os_image_notification`, `treat_failure_as_deployment_failure_enabled`,
and `vm_agent_platform_updates_enabled`properties
([#23394](https://github.com/hashicorp/terraform-provider-azurerm/issues/23394))&#xA;&#xA;BUG
FIXES:&#xA;&#xA;* `azurerm_api_management_notification_recipient_email`
- fixing an issue where response pages weren&#39;t iterated over
correctly
([#25055](https://github.com/hashicorp/terraform-provider-azurerm/issues/25055))&#xA;*
`azurerm_api_management_notification_recipient_user` - fixing an issue
where response pages weren&#39;t iterated over correctly
([#25055](https://github.com/hashicorp/terraform-provider-azurerm/issues/25055))&#xA;*
`azurerm_batch_pool` - fix setting the `extension.settings_json`
property
([#24976](https://github.com/hashicorp/terraform-provider-azurerm/issues/24976))&#xA;*
`azurerm_key_vault_key` - `expiration_date` can be updated if newer date
is ahead
([#25000](https://github.com/hashicorp/terraform-provider-azurerm/issues/25000))&#xA;*
`azurerm_pim_active_role_assignment` - fix an isue where the resource
would disappear or fail to import after 45 days
([#24524](https://github.com/hashicorp/terraform-provider-azurerm/issues/24524))&#xA;*
`azurerm_pim_eligible_role_assignment` - fix an isue where the resource
would disappear or fail to import after 45 days
([#24524](https://github.com/hashicorp/terraform-provider-azurerm/issues/24524))&#xA;*
`azurerm_recovery_services_vault` - validate that
`use_system_assigned_identity` and `user_assigned_identity_id` cannot be
set at the same time
([#24091](https://github.com/hashicorp/terraform-provider-azurerm/issues/24091))&#xA;*
`azurerm_recovery_vaults` will now create properly with
`SystemAssigned,UserAssigned` identity
([#24978](https://github.com/hashicorp/terraform-provider-azurerm/issues/24978))&#xA;*
`azurerm_subscription` - fixing an issue where response pages
weren&#39;t iterated over correctly
([#25055](https://github.com/hashicorp/terraform-provider-azurerm/issues/25055))&#xA;&#xA;&#xA;</pre>
            </details>
            <details>
                <summary>3.95.0</summary>
<pre>Changelog retrieved
from:&#xA;&#x9;https://github.com/hashicorp/terraform-provider-azurerm/releases/tag/v3.95.0&#xA;FEATURES:&#xA;&#xA;*
New Resource: `azurerm_container_app_custom_domain`
([#24421](https://github.com/hashicorp/terraform-provider-azurerm/issues/24421))&#xA;*
New Resource:
`azurerm_data_protection_backup_instance_kubernetes_cluster`
([#24940](https://github.com/hashicorp/terraform-provider-azurerm/issues/24940))&#xA;*
New Resource: `azurerm_static_web_app`
([#25117](https://github.com/hashicorp/terraform-provider-azurerm/issues/25117))&#xA;*
New resource: `azurerm_static_web_app_custom_domain`
([#25117](https://github.com/hashicorp/terraform-provider-azurerm/issues/25117))&#xA;*
New resource:
`azurerm_system_center_virtual_machine_manager_availability_set`
([#24975](https://github.com/hashicorp/terraform-provider-azurerm/issues/24975))&#xA;*
New Resource: `azurerm_workloads_sap_three_tier_virtual_instance`
([#24384](https://github.com/hashicorp/terraform-provider-azurerm/issues/24384))&#xA;*
New Resource: `azurerm_workloads_sap_single_node_virtual_instance`
([#24331](https://github.com/hashicorp/terraform-provider-azurerm/issues/24331))&#xA;&#xA;ENHANCEMENTS:&#xA;&#xA;*
`dependencies`: updating to v0.20240229.1102109 of
`github.com/hashicorp/go-azure-sdk`
([#25102](https://github.com/hashicorp/terraform-provider-azurerm/issues/25102))&#xA;*
`monitor`: updating to use the transport layer from
`hashicorp/go-azure-sdk` rather than `Azure/go-autorest`
[GH-#25102]&#xA;* `network`: updating to API Version `2023-09-01`
([#25095](https://github.com/hashicorp/terraform-provider-azurerm/issues/25095))&#xA;*
`azurerm_data_factory_integration_runtime_managed` - support for the
`credential_name` property
([#25033](https://github.com/hashicorp/terraform-provider-azurerm/issues/25033))&#xA;*
`azurerm_linux_function_app` - support for the `description` property in
the `ip_restriction` block
([#24527](https://github.com/hashicorp/terraform-provider-azurerm/issues/24527))&#xA;*
`azurerm_linux_function_app` - support for the
`ip_restriction_default_action` and `scm_ip_restriction_default_action`
properties
([#25131](https://github.com/hashicorp/terraform-provider-azurerm/issues/25131))&#xA;*
`azurerm_linux_function_app_slot` - support for the `description`
property in the `ip_restriction` block
([#24527](https://github.com/hashicorp/terraform-provider-azurerm/issues/24527))&#xA;*
`azurerm_linux_function_app_slot` - support for the
`ip_restriction_default_action` and `scm_ip_restriction_default_action`
properties
([#25131](https://github.com/hashicorp/terraform-provider-azurerm/issues/25131))&#xA;*
`azurerm_linux_web_app` - support for the `description` property in the
`ip_restriction` block
([#24527](https://github.com/hashicorp/terraform-provider-azurerm/issues/24527))&#xA;*
`azurerm_linux_web_app` - support for the
`ip_restriction_default_action` and `scm_ip_restriction_default_action`
properties
([#25131](https://github.com/hashicorp/terraform-provider-azurerm/issues/25131))&#xA;*
`azurerm_linux_web_app_slot` - support for the `description` property in
the `ip_restriction` block
([#24527](https://github.com/hashicorp/terraform-provider-azurerm/issues/24527))&#xA;*
`azurerm_linux_web_app_slot` - support for the
`ip_restriction_default_action` and `scm_ip_restriction_default_action`
properties
([#25131](https://github.com/hashicorp/terraform-provider-azurerm/issues/25131))&#xA;*
`azurerm_mysql_flexible_server` - setting the `storage.size_gb` property
to a smaller value now forces a new resource to be created
([#25074](https://github.com/hashicorp/terraform-provider-azurerm/issues/25074))&#xA;*
`azurerm_orbital_contact_profile` - changing the `channels` property no
longer creates a new resource
([#25129](https://github.com/hashicorp/terraform-provider-azurerm/issues/25129))&#xA;*
`azurerm_private_dns_resolver_inbound_endpoint` - the
`private_ip_address` property is no longer required when
`private_ip_allocation_method` is `Dynamic`
([#25035](https://github.com/hashicorp/terraform-provider-azurerm/issues/25035))&#xA;*
`stream_analytics_output_blob` - support for the `blob_write_mode`
property
([#25127](https://github.com/hashicorp/terraform-provider-azurerm/issues/25127))&#xA;*
`azurerm_windows_function_app` - support for the `description` property
in the `ip_restriction` block
([#24527](https://github.com/hashicorp/terraform-provider-azurerm/issues/24527))&#xA;*
`azurerm_windows_function_app` - support for the
`ip_restriction_default_action` and `scm_ip_restriction_default_action`
properties
([#25131](https://github.com/hashicorp/terraform-provider-azurerm/issues/25131))&#xA;*
`azurerm_windows_function_app_slot` - support for the `description`
property in the `ip_restriction` block
([#24527](https://github.com/hashicorp/terraform-provider-azurerm/issues/24527))&#xA;*
`azurerm_windows_function_app_slot` - support for the
`ip_restriction_default_action` and `scm_ip_restriction_default_action`
properties
([#25131](https://github.com/hashicorp/terraform-provider-azurerm/issues/25131))&#xA;*
`azurerm_windows_web_app` - support for the `description` property in
the `ip_restriction` block
([#24527](https://github.com/hashicorp/terraform-provider-azurerm/issues/24527))&#xA;*
`azurerm_windows_web_app` - support for the
`ip_restriction_default_action` and `scm_ip_restriction_default_action`
properties
([#25131](https://github.com/hashicorp/terraform-provider-azurerm/issues/25131))&#xA;*
`azurerm_windows_web_app_slot` - support for the `description` property
in the `ip_restriction` block
([#24527](https://github.com/hashicorp/terraform-provider-azurerm/issues/24527))&#xA;*
`azurerm_windows_web_app_slot` - support for the
`ip_restriction_default_action` and `scm_ip_restriction_default_action`
properties
([#25131](https://github.com/hashicorp/terraform-provider-azurerm/issues/25131))&#xA;&#xA;BUG
FIXES:&#xA;&#xA;* Data Source: `azurerm_function_app_host_keys` -
correctly set `event_grid_extension_key` by searching for the renamed
property in the API response
([#25108](https://github.com/hashicorp/terraform-provider-azurerm/issues/25108))&#xA;*
`azurerm_app_service_public_certificate` - fix issue where certificate
information was not being set correctly in the read
([#24943](https://github.com/hashicorp/terraform-provider-azurerm/issues/24943))&#xA;*
`azurerm_container_registry` - prevent recreation of the resource when
the `georeplication.tags` are updated
([#24994](https://github.com/hashicorp/terraform-provider-azurerm/issues/24994))&#xA;*
`azurerm_firewall_policy_rule_collection_group` - fix issue where the
client subscription ID was used to construct the `firewall_policy_id`
([#25145](https://github.com/hashicorp/terraform-provider-azurerm/issues/25145))&#xA;*
`azurerm_function_app_hybrid_connection` - fix issue where
`SendKeyValue` was not populated in the API payload
([#23761](https://github.com/hashicorp/terraform-provider-azurerm/issues/23761))&#xA;*
`azurerm_orbital_contact_profile` - fix creation of the resource when
`event_hub_uri` is not specified
([#25128](https://github.com/hashicorp/terraform-provider-azurerm/issues/25128))&#xA;*
`azurerm_recovery_services_vault` - prevent a panic when `immutability`
is updated
([#25132](https://github.com/hashicorp/terraform-provider-azurerm/issues/25132))&#xA;*
`azurerm_storage_account` - fix issue where the queue encryption key
type was set as the table encryption key type
([#25046](https://github.com/hashicorp/terraform-provider-azurerm/issues/25046))&#xA;*
`azurerm_web_app_hybrid_connection` - fix issue where `SendKeyValue` was
not populated in the API payload
([#23761](https://github.com/hashicorp/terraform-provider-azurerm/issues/23761))&#xA;*
`azurerm_mssql_database` - fix incorrect error due to typo when using
`restore_long_term_retention_backup_id`
([#25180](https://github.com/hashicorp/terraform-provider-azurerm/issues/25180))&#xA;&#xA;DEPRECATIONS:&#xA;&#xA;*
Deprecated Resource: `azurerm_static_site`
([#25117](https://github.com/hashicorp/terraform-provider-azurerm/issues/25117))&#xA;*
Deprecated Resource: `azurerm_static_site_custom_domain`
([#25117](https://github.com/hashicorp/terraform-provider-azurerm/issues/25117))&#xA;*
`azurerm_kubernetes_fleet_manager` - the `hub_profile` property has been
deprecated
([#25010](https://github.com/hashicorp/terraform-provider-azurerm/issues/25010))&#xA;&#xA;&#xA;</pre>
            </details>
        </details>
<a
href="https://infra.ci.jenkins.io/job/updatecli/job/azure/job/main/40/">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) <60776566+jenkins-infra-bot@users.noreply.github.com>
Copy link

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.
If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 19, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

azurerm_container_registry georeplications will be recreated when resource tags are updated
3 participants