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

[Enhance] - `azurerm_redis_cache` - Recreate Redis cache when downgrade the SKU

Open xuzhang3 opened this issue 3 years ago • 3 comments

Fixes #17740 Downgrade SKU is not supported by service, custom the forceNew to true when users try to downgrade the SKU.

xuzhang3 avatar Jul 27 '22 05:07 xuzhang3

=== RUN   TestAccRedisCache_basic
=== PAUSE TestAccRedisCache_basic
=== RUN   TestAccRedisCache_withoutSSL
=== PAUSE TestAccRedisCache_withoutSSL
=== RUN   TestAccRedisCache_requiresImport
=== PAUSE TestAccRedisCache_requiresImport
=== RUN   TestAccRedisCache_standard
=== PAUSE TestAccRedisCache_standard
=== RUN   TestAccRedisCache_premium
=== PAUSE TestAccRedisCache_premium
=== RUN   TestAccRedisCache_premiumSharded
=== PAUSE TestAccRedisCache_premiumSharded
=== RUN   TestAccRedisCache_premiumShardedScaling
=== PAUSE TestAccRedisCache_premiumShardedScaling
=== RUN   TestAccRedisCache_BackupDisabled
=== PAUSE TestAccRedisCache_BackupDisabled
=== RUN   TestAccRedisCache_BackupEnabled
=== PAUSE TestAccRedisCache_BackupEnabled
=== RUN   TestAccRedisCache_BackupEnabledDisabled
=== PAUSE TestAccRedisCache_BackupEnabledDisabled
=== RUN   TestAccRedisCache_AOFBackupEnabled
=== PAUSE TestAccRedisCache_AOFBackupEnabled
=== RUN   TestAccRedisCache_AOFBackupEnabledDisabled
=== PAUSE TestAccRedisCache_AOFBackupEnabledDisabled
=== RUN   TestAccRedisCache_PatchSchedule
=== PAUSE TestAccRedisCache_PatchSchedule
=== RUN   TestAccRedisCache_PatchScheduleUpdated
=== PAUSE TestAccRedisCache_PatchScheduleUpdated
=== RUN   TestAccRedisCache_PublicNetworkAccessDisabledEnabled
=== PAUSE TestAccRedisCache_PublicNetworkAccessDisabledEnabled
=== RUN   TestAccRedisCache_InternalSubnet
=== PAUSE TestAccRedisCache_InternalSubnet
=== RUN   TestAccRedisCache_InternalSubnetStaticIP
=== PAUSE TestAccRedisCache_InternalSubnetStaticIP
=== RUN   TestAccRedisCache_InternalSubnet_withZone
=== PAUSE TestAccRedisCache_InternalSubnet_withZone
=== RUN   TestAccRedisCache_SubscribeAllEvents
=== PAUSE TestAccRedisCache_SubscribeAllEvents
=== RUN   TestAccRedisCache_WithoutAuth
=== PAUSE TestAccRedisCache_WithoutAuth
=== RUN   TestAccRedisCache_ReplicasPerMaster
=== PAUSE TestAccRedisCache_ReplicasPerMaster
=== RUN   TestAccRedisCache_ReplicasPerPrimary
=== PAUSE TestAccRedisCache_ReplicasPerPrimary
=== RUN   TestAccRedisCache_RedisVersion
=== PAUSE TestAccRedisCache_RedisVersion
=== RUN   TestAccRedisCache_RedisVersionUpgrade
=== PAUSE TestAccRedisCache_RedisVersionUpgrade
=== RUN   TestAccRedisCache_TenantSettings
=== PAUSE TestAccRedisCache_TenantSettings
=== RUN   TestAccRedisCache_redisConfiguration
=== PAUSE TestAccRedisCache_redisConfiguration
=== RUN   TestAccRedisCache_identity
=== PAUSE TestAccRedisCache_identity
=== CONT  TestAccRedisCache_basic
=== CONT  TestAccRedisCache_PublicNetworkAccessDisabledEnabled
=== CONT  TestAccRedisCache_BackupDisabled
=== CONT  TestAccRedisCache_PatchScheduleUpdated
=== CONT  TestAccRedisCache_premiumShardedScaling
=== CONT  TestAccRedisCache_premiumSharded
=== CONT  TestAccRedisCache_premium
=== CONT  TestAccRedisCache_standard
=== CONT  TestAccRedisCache_requiresImport
--- PASS: TestAccRedisCache_BackupDisabled (1149.04s)
--- PASS: TestAccRedisCache_premium (1245.04s)
=== CONT  TestAccRedisCache_withoutSSL
--- PASS: TestAccRedisCache_PatchScheduleUpdated (1343.71s)
=== CONT  TestAccRedisCache_AOFBackupEnabled
--- PASS: TestAccRedisCache_premiumSharded (1432.17s)
=== CONT  TestAccRedisCache_PatchSchedule
--- PASS: TestAccRedisCache_basic (2025.32s)
=== CONT  TestAccRedisCache_AOFBackupEnabledDisabled
--- PASS: TestAccRedisCache_standard (2117.62s)
=== CONT  TestAccRedisCache_BackupEnabledDisabled
--- PASS: TestAccRedisCache_PublicNetworkAccessDisabledEnabled (2299.37s)
=== CONT  TestAccRedisCache_SubscribeAllEvents
--- PASS: TestAccRedisCache_AOFBackupEnabled (1308.22s)
=== CONT  TestAccRedisCache_ReplicasPerMaster
--- PASS: TestAccRedisCache_premiumShardedScaling (2680.79s)
=== CONT  TestAccRedisCache_WithoutAuth
--- PASS: TestAccRedisCache_PatchSchedule (1269.11s)
=== CONT  TestAccRedisCache_InternalSubnetStaticIP
--- PASS: TestAccRedisCache_requiresImport (1934.32s)
=== CONT  TestAccRedisCache_InternalSubnet_withZone
--- PASS: TestAccRedisCache_withoutSSL (1838.56s)
=== CONT  TestAccRedisCache_BackupEnabled
--- PASS: TestAccRedisCache_BackupEnabledDisabled (1533.36s)
=== CONT  TestAccRedisCache_TenantSettings
--- PASS: TestAccRedisCache_SubscribeAllEvents (1367.99s)
=== CONT  TestAccRedisCache_identity
--- PASS: TestAccRedisCache_ReplicasPerMaster (1332.92s)
=== CONT  TestAccRedisCache_redisConfiguration
--- PASS: TestAccRedisCache_AOFBackupEnabledDisabled (2066.99s)
=== CONT  TestAccRedisCache_InternalSubnet
--- PASS: TestAccRedisCache_BackupEnabled (1523.32s)
=== CONT  TestAccRedisCache_RedisVersionUpgrade
--- PASS: TestAccRedisCache_TenantSettings (1137.35s)
=== CONT  TestAccRedisCache_RedisVersion
--- PASS: TestAccRedisCache_redisConfiguration (1758.95s)
=== CONT  TestAccRedisCache_ReplicasPerPrimary
--- PASS: TestAccRedisCache_identity (2231.71s)
--- PASS: TestAccRedisCache_RedisVersion (1216.86s)
--- PASS: TestAccRedisCache_RedisVersionUpgrade (1717.38s)
--- PASS: TestAccRedisCache_ReplicasPerPrimary (1271.63s)
=== CONT  TestAccRedisCache_WithoutAuth
--- PASS: TestAccRedisCache_WithoutAuth (6049.41s)
=== CONT  TestAccRedisCache_InternalSubnetStaticIP
--- PASS: TestAccRedisCache_InternalSubnetStaticIP (6038.11s)
=== CONT  TestAccRedisCache_InternalSubnet_withZone
--- PASS: TestAccRedisCache_InternalSubnet_withZone (5671.93s)
=== CONT  TestAccRedisCache_InternalSubnet
--- PASS: TestAccRedisCache_InternalSubnet (4674.85s)
PASS
PASS    github.com/hashicorp/terraform-provider-azurerm/internal/services/redis 8783.416s
PASS

xuzhang3 avatar Jul 27 '22 06:07 xuzhang3

@catriona-m doc updated.

xuzhang3 avatar Aug 01 '22 03:08 xuzhang3

@katbyte thanks for review, test case added.

=== RUN   TestAccRedisCache_basic
=== PAUSE TestAccRedisCache_basic
=== RUN   TestAccRedisCache_withoutSSL
=== PAUSE TestAccRedisCache_withoutSSL
=== RUN   TestAccRedisCache_requiresImport
=== PAUSE TestAccRedisCache_requiresImport
=== RUN   TestAccRedisCache_standard
=== PAUSE TestAccRedisCache_standard
=== RUN   TestAccRedisCache_premium
=== PAUSE TestAccRedisCache_premium
=== RUN   TestAccRedisCache_premiumSharded
=== PAUSE TestAccRedisCache_premiumSharded
=== RUN   TestAccRedisCache_premiumShardedScaling
=== PAUSE TestAccRedisCache_premiumShardedScaling
=== RUN   TestAccRedisCache_BackupDisabled
=== PAUSE TestAccRedisCache_BackupDisabled
=== RUN   TestAccRedisCache_BackupEnabled
=== PAUSE TestAccRedisCache_BackupEnabled
=== RUN   TestAccRedisCache_BackupEnabledDisabled
=== PAUSE TestAccRedisCache_RedisVersion
=== RUN   TestAccRedisCache_RedisVersionUpgrade
=== PAUSE TestAccRedisCache_RedisVersionUpgrade
=== RUN   TestAccRedisCache_TenantSettings
=== PAUSE TestAccRedisCache_TenantSettings
=== RUN   TestAccRedisCache_redisConfiguration
=== PAUSE TestAccRedisCache_redisConfiguration
=== RUN   TestAccRedisCache_identity
=== PAUSE TestAccRedisCache_identity
=== RUN   TestAccRedisCache_SkuDowngrade
=== PAUSE TestAccRedisCache_SkuDowngrade
=== CONT  TestAccRedisCache_basic
=== CONT  TestAccRedisCache_PublicNetworkAccessDisabledEnabled
=== CONT  TestAccRedisCache_premiumShardedScaling
=== CONT  TestAccRedisCache_requiresImport
=== CONT  TestAccRedisCache_withoutSSL
--- PASS: TestAccRedisCache_premium (1286.19s)
=== CONT  TestAccRedisCache_ReplicasPerPrimary
--- PASS: TestAccRedisCache_premiumSharded (1424.96s)
=== CONT  TestAccRedisCache_SkuDowngrade
--- PASS: TestAccRedisCache_basic (1787.79s)
=== CONT  TestAccRedisCache_identity
--- PASS: TestAccRedisCache_withoutSSL (1924.74s)
=== CONT  TestAccRedisCache_redisConfiguration
--- PASS: TestAccRedisCache_requiresImport (2086.36s)
=== CONT  TestAccRedisCache_TenantSettings
--- PASS: TestAccRedisCache_PublicNetworkAccessDisabledEnabled (2116.64s)
=== CONT  TestAccRedisCache_RedisVersionUpgrade
--- PASS: TestAccRedisCache_standard (2406.44s)
=== CONT  TestAccRedisCache_RedisVersion
--- PASS: TestAccRedisCache_ReplicasPerPrimary (1233.76s)
=== CONT  TestAccRedisCache_SubscribeAllEvents
=== CONT  TestAccRedisCache_ReplicasPerMaster
--- PASS: TestAccRedisCache_premiumShardedScaling (2801.11s)
--- PASS: TestAccRedisCache_TenantSettings (1138.35s)
=== CONT  TestAccRedisCache_WithoutAuth
--- PASS: TestAccRedisCache_RedisVersion (1154.82s)
=== CONT  TestAccRedisCache_InternalSubnetStaticIP
--- PASS: TestAccRedisCache_redisConfiguration (1663.80s)
=== CONT  TestAccRedisCache_InternalSubnet_withZone
--- PASS: TestAccRedisCache_SubscribeAllEvents (1083.53s)
=== CONT  TestAccRedisCache_InternalSubnet
--- PASS: TestAccRedisCache_identity (1980.89s)
=== CONT  TestAccRedisCache_AOFBackupEnabledDisabled
--- PASS: TestAccRedisCache_ReplicasPerMaster (1031.51s)
=== CONT  TestAccRedisCache_PatchScheduleUpdated
--- PASS: TestAccRedisCache_RedisVersionUpgrade (1726.83s)
=== CONT  TestAccRedisCache_PatchSchedule
--- PASS: TestAccRedisCache_PatchSchedule (1170.31s)
=== CONT  TestAccRedisCache_BackupEnabledDisabled
--- PASS: TestAccRedisCache_PatchScheduleUpdated (1266.67s)
=== CONT  TestAccRedisCache_AOFBackupEnabled
--- PASS: TestAccRedisCache_AOFBackupEnabledDisabled (2006.28s)
=== CONT  TestAccRedisCache_BackupEnabled
--- PASS: TestAccRedisCache_AOFBackupEnabled (1226.56s)
=== CONT  TestAccRedisCache_BackupDisabled
--- PASS: TestAccRedisCache_BackupEnabledDisabled (1346.92s)
--- PASS: TestAccRedisCache_SkuDowngrade (5010.05s)
--- PASS: TestAccRedisCache_BackupEnabled (1290.73s)
--- PASS: TestAccRedisCache_BackupDisabled (1154.55s)
=== CONT  TestAccRedisCache_WithoutAuth
--- PASS: TestAccRedisCache_WithoutAuth (4672.42s)
=== CONT  TestAccRedisCache_InternalSubnetStaticIP
--- PASS: TestAccRedisCache_InternalSubnetStaticIP (4346.97s)
=== CONT  TestAccRedisCache_InternalSubnet_withZone
--- PASS: TestAccRedisCache_InternalSubnet_withZone (4332.63s)
=== CONT  TestAccRedisCache_InternalSubnet
--- PASS: TestAccRedisCache_InternalSubnet (4333.60s)
PASS
PASS    github.com/hashicorp/terraform-provider-azurerm/internal/services/redis 7969.977s
PASS

xuzhang3 avatar Aug 12 '22 09:08 xuzhang3

@katbyte I cannot reproduce this error. Does there any other errors? Can you help retrigger the CI?

=== RUN   TestAccRedisCache_RedisVersionUpgrade
=== PAUSE TestAccRedisCache_RedisVersionUpgrade
=== CONT  TestAccRedisCache_RedisVersionUpgrade
--- PASS: TestAccRedisCache_RedisVersionUpgrade (1778.32s)
PASS
ok      github.com/hashicorp/terraform-provider-azurerm/internal/services/redis 1792.313s

xuzhang3 avatar Aug 16 '22 09:08 xuzhang3

@katbyte I tried different location and subs, cannot reproduce this error. I run multil-times of the AccTest in team city and the test will pass some times (1/4 or 1/5), not sure if the is related with the sub. Also I checked the service backend logs, no error found.

xuzhang3 avatar Aug 26 '22 09:08 xuzhang3

This functionality has been released in v3.21.0 of the Terraform Provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading.

For further feature requests or bug reports with this functionality, please create a new GitHub issue following the template. Thank you!

github-actions[bot] avatar Sep 02 '22 05:09 github-actions[bot]

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[bot] avatar Oct 05 '22 02:10 github-actions[bot]