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_iothub_device_update_account- sku forces new #24324

Merged

Conversation

ziyeqf
Copy link
Contributor

@ziyeqf ziyeqf commented Dec 25, 2023

the sku property is not allowed to change on the service side:

{
    "error": {
        "code": "AccountValidationFailed",
        "details": [
            {
                "code": "AccountSkuChangeNotAllowed",
                "message": "Account SKU change is not allowed after creation"
            }
        ],
        "message": "ValidationException"
    }
}

So update it to force new

test

❯ tftest iothub TestAccIotHubDeviceUpdateAccount    
=== RUN   TestAccIotHubDeviceUpdateAccount_basic
=== PAUSE TestAccIotHubDeviceUpdateAccount_basic
=== RUN   TestAccIotHubDeviceUpdateAccount_complete
=== PAUSE TestAccIotHubDeviceUpdateAccount_complete
=== RUN   TestAccIotHubDeviceUpdateAccount_requiresImport
=== PAUSE TestAccIotHubDeviceUpdateAccount_requiresImport
=== RUN   TestAccIotHubDeviceUpdateAccount_identity
=== PAUSE TestAccIotHubDeviceUpdateAccount_identity
=== RUN   TestAccIotHubDeviceUpdateAccount_publicNetworkAccess
=== PAUSE TestAccIotHubDeviceUpdateAccount_publicNetworkAccess
=== RUN   TestAccIotHubDeviceUpdateAccount_sku
=== PAUSE TestAccIotHubDeviceUpdateAccount_sku
=== RUN   TestAccIotHubDeviceUpdateAccount_tags
=== PAUSE TestAccIotHubDeviceUpdateAccount_tags
=== CONT  TestAccIotHubDeviceUpdateAccount_basic
=== CONT  TestAccIotHubDeviceUpdateAccount_publicNetworkAccess
=== CONT  TestAccIotHubDeviceUpdateAccount_requiresImport
=== CONT  TestAccIotHubDeviceUpdateAccount_tags
=== CONT  TestAccIotHubDeviceUpdateAccount_complete
=== CONT  TestAccIotHubDeviceUpdateAccount_identity
=== CONT  TestAccIotHubDeviceUpdateAccount_sku
--- PASS: TestAccIotHubDeviceUpdateAccount_requiresImport (394.16s)
--- PASS: TestAccIotHubDeviceUpdateAccount_complete (422.90s)
--- PASS: TestAccIotHubDeviceUpdateAccount_basic (449.18s)
--- PASS: TestAccIotHubDeviceUpdateAccount_publicNetworkAccess (561.35s)
--- PASS: TestAccIotHubDeviceUpdateAccount_tags (573.41s)
--- PASS: TestAccIotHubDeviceUpdateAccount_sku (626.16s)
--- PASS: TestAccIotHubDeviceUpdateAccount_identity (847.18s)
PASS
ok  	github.com/hashicorp/terraform-provider-azurerm/internal/services/iothub	847.243s

@ziyeqf ziyeqf changed the title azurerm_iothub_device-update_account- sku forces new now azurerm_iothub_device_update_account- sku forces new now Dec 25, 2023
@ziyeqf ziyeqf changed the title azurerm_iothub_device_update_account- sku forces new now azurerm_iothub_device_update_account- sku forces new Dec 25, 2023
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.

Thanks for this @ziyeqf. It looks like there are some test failures here:

------- Stdout: -------
=== RUN   TestAccIotHubDeviceUpdateAccount_complete
=== PAUSE TestAccIotHubDeviceUpdateAccount_complete
=== CONT  TestAccIotHubDeviceUpdateAccount_complete
    testcase.go:113: Step 1/2 error: Error running apply: exit status 1
        Error: creating Account (Subscription: "*******"
        Resource Group Name: "acctest-rg-240101024459672652"
        Account Name: "acc-dua-6yizb"): performing AccountsCreate: unexpected status 400 with error: AccountValidationFailed: ValidationException
          with azurerm_iothub_device_update_account.test,
          on terraform_plugin_test.tf line 34, in resource "azurerm_iothub_device_update_account" "test":
          34: resource "azurerm_iothub_device_update_account" "test" {
        creating Account (Subscription: "*******"
        Resource Group Name: "acctest-rg-240101024459672652"
        Account Name: "acc-dua-6yizb"): performing AccountsCreate: unexpected status
        400 with error: AccountValidationFailed: ValidationException
--- FAIL: TestAccIotHubDeviceUpdateAccount_complete (119.74s)
FAIL

------- Stdout: -------
=== RUN   TestAccIotHubDeviceUpdateAccount_sku
=== PAUSE TestAccIotHubDeviceUpdateAccount_sku
=== CONT  TestAccIotHubDeviceUpdateAccount_sku
    testcase.go:113: Step 1/4 error: Error running apply: exit status 1
        Error: creating Account (Subscription: "*******"
        Resource Group Name: "acctest-rg-240101024459704280"
        Account Name: "acc-dua-6ow3l"): performing AccountsCreate: unexpected status 400 with error: AccountValidationFailed: ValidationException
          with azurerm_iothub_device_update_account.test,
          on terraform_plugin_test.tf line 28, in resource "azurerm_iothub_device_update_account" "test":
          28: resource "azurerm_iothub_device_update_account" "test" {
        creating Account (Subscription: "*******"
        Resource Group Name: "acctest-rg-240101024459704280"
        Account Name: "acc-dua-6ow3l"): performing AccountsCreate: unexpected status
        400 with error: AccountValidationFailed: ValidationException
--- FAIL: TestAccIotHubDeviceUpdateAccount_sku (108.68s)
FAIL

Given that sku cannot be updated, we should probably remove TestAccIotHubDeviceUpdateAccount_sku. Thanks!

@ziyeqf
Copy link
Contributor Author

ziyeqf commented Jan 3, 2024

Thanks for this @ziyeqf. It looks like there are some test failures here:

------- Stdout: -------
=== RUN   TestAccIotHubDeviceUpdateAccount_complete
=== PAUSE TestAccIotHubDeviceUpdateAccount_complete
=== CONT  TestAccIotHubDeviceUpdateAccount_complete
    testcase.go:113: Step 1/2 error: Error running apply: exit status 1
        Error: creating Account (Subscription: "*******"
        Resource Group Name: "acctest-rg-240101024459672652"
        Account Name: "acc-dua-6yizb"): performing AccountsCreate: unexpected status 400 with error: AccountValidationFailed: ValidationException
          with azurerm_iothub_device_update_account.test,
          on terraform_plugin_test.tf line 34, in resource "azurerm_iothub_device_update_account" "test":
          34: resource "azurerm_iothub_device_update_account" "test" {
        creating Account (Subscription: "*******"
        Resource Group Name: "acctest-rg-240101024459672652"
        Account Name: "acc-dua-6yizb"): performing AccountsCreate: unexpected status
        400 with error: AccountValidationFailed: ValidationException
--- FAIL: TestAccIotHubDeviceUpdateAccount_complete (119.74s)
FAIL

------- Stdout: -------
=== RUN   TestAccIotHubDeviceUpdateAccount_sku
=== PAUSE TestAccIotHubDeviceUpdateAccount_sku
=== CONT  TestAccIotHubDeviceUpdateAccount_sku
    testcase.go:113: Step 1/4 error: Error running apply: exit status 1
        Error: creating Account (Subscription: "*******"
        Resource Group Name: "acctest-rg-240101024459704280"
        Account Name: "acc-dua-6ow3l"): performing AccountsCreate: unexpected status 400 with error: AccountValidationFailed: ValidationException
          with azurerm_iothub_device_update_account.test,
          on terraform_plugin_test.tf line 28, in resource "azurerm_iothub_device_update_account" "test":
          28: resource "azurerm_iothub_device_update_account" "test" {
        creating Account (Subscription: "*******"
        Resource Group Name: "acctest-rg-240101024459704280"
        Account Name: "acc-dua-6ow3l"): performing AccountsCreate: unexpected status
        400 with error: AccountValidationFailed: ValidationException
--- FAIL: TestAccIotHubDeviceUpdateAccount_sku (108.68s)
FAIL

Given that sku cannot be updated, we should probably remove TestAccIotHubDeviceUpdateAccount_sku. Thanks!

Thanks, I have removed the sku test case, and triggered a run on the TC. They all passed now.
image

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.

Thanks @ziyeqf LGTM!

@catriona-m catriona-m merged commit 3bdb031 into hashicorp:main Jan 3, 2024
33 checks passed
@github-actions github-actions bot added this to the v3.86.0 milestone Jan 3, 2024
catriona-m added a commit that referenced this pull request Jan 3, 2024
dduportal pushed a commit to jenkins-infra/azure that referenced this pull request Jan 6, 2024
<Actions>
<action
id="f410411e63aff4bb73a81c2aec1d373cf8a903e63b30dee2006b0030d8a94cc8">
        <h3>Bump Terraform `azurerm` provider version</h3>
<details
id="1d9343c012f5434ac9fe8a98135bae3667b399259be16d9b14302ea3bd424a24">
            <summary>Update Terraform lock file</summary>
<p>&#34;hashicorp/azurerm&#34; updated from &#34;3.85.0&#34; to
&#34;3.86.0&#34; in file &#34;.terraform.lock.hcl&#34;</p>
            <details>
                <summary>3.86.0</summary>
<pre>Changelog retrieved
from:&#xA;&#x9;https://github.com/hashicorp/terraform-provider-azurerm/releases/tag/v3.86.0&#xA;FEATURES:&#xA;&#xA;*
New Data Source: `azurerm_dashboard_grafana`
([#24243](hashicorp/terraform-provider-azurerm#24243
New Resource: `azurerm_log_analytics_workspace_table`
([#24229](hashicorp/terraform-provider-azurerm#24229
New Resource: `azurerm_automation_powershell72_module`
([#23980](hashicorp/terraform-provider-azurerm#23980
New Resource: `azurerm_data_factory_credential_user_managed_identity`
([#24307](https://github.com/hashicorp/terraform-provider-azurerm/issues/24307))&#xA;&#xA;ENHANCEMENTS:&#xA;&#xA;*
dependencies: updating to `v0.20231215.1114251` of
`hashicorp/go-azure-sdk`
([#24251](hashicorp/terraform-provider-azurerm#24251
dependencies: `azurerm_spring_cloud_api_portal` - update to use
`hashicorp/go-azure-sdk`
([#24321](hashicorp/terraform-provider-azurerm#24321
Data Source: `azurerm_kusto_cluster` - now exports the `identity` block
([#24314](hashicorp/terraform-provider-azurerm#24314
`azurerm_data_protection_backup_policy_postgresql` - support for the
`time_zone` property
([#24312](hashicorp/terraform-provider-azurerm#24312
`azurerm_data_protection_backup_policy_disk` - support for the
`time_zone` property
([#24312](hashicorp/terraform-provider-azurerm#24312
`azurerm_key_vault_managed_hardware_security_module` -the `tags`
property can now be updated
([#24333](hashicorp/terraform-provider-azurerm#24333
`azurerm_logic_app_standard` - support for the
`site_config.0.public_network_access_enabled` property
([#24257](hashicorp/terraform-provider-azurerm#24257
`azurerm_log_analytics_workspace_table` - support for the `plan`
property
([#24341](hashicorp/terraform-provider-azurerm#24341
`azurerm_linux_web_app` - support the value `20-lts` for the
`node_version` property
([#24289](hashicorp/terraform-provider-azurerm#24289
`azurerm_recovery_services_vault` - support creation with immutability
set to locked
([#23806](hashicorp/terraform-provider-azurerm#23806
`azurerm_spring_cloud_service` - support for the `sku_tier` property
([#24103](https://github.com/hashicorp/terraform-provider-azurerm/issues/24103))&#xA;&#xA;BUG
FIXES:&#xA;&#xA;* Data Source: `azurerm_role_definition` - correctly
export the `role_definition_id` attribute
([#24320](hashicorp/terraform-provider-azurerm#24320
`azurerm_bot_service` - fixing a bug where
`public_network_access_enabled` was always set to `true`
([#24255](hashicorp/terraform-provider-azurerm#24255
`azurerm_bot_service_azure_bot` - `tags` can now be updated
([#24332](hashicorp/terraform-provider-azurerm#24332
`azurerm_cosmosdb_account` - fix validation for the `ip_range_filter`
property
([#24306](hashicorp/terraform-provider-azurerm#24306
`azurerm_linux_virtual_machine` - the
`additional_capabilities.0.ultra_ssd_enabled` can now be changed during
the update
([#24274](hashicorp/terraform-provider-azurerm#24274
`azurerm_logic_app_standard` - update the default value of `version`
from `~3` which is no longer supported to `~4`
([#24134](hashicorp/terraform-provider-azurerm#24134
`azurerm_logic_app_standard` - fix a crash when setting the default
`version` 4.0 flag
([#24322](hashicorp/terraform-provider-azurerm#24322
`azurerm_iothub_device_update_account` - changing the `sku` property now
creates a new resource
([#24324](hashicorp/terraform-provider-azurerm#24324
`azurerm_iothub` - prevent an inconsistant value after an apply
([#24326](hashicorp/terraform-provider-azurerm#24326
`azurerm_orchestrated_virtual_machine_scale_set` - correctly update the
resource when hotpatch is enabled
([#24335](hashicorp/terraform-provider-azurerm#24335
`azurerm_windows_virtual_machine` - the
`additional_capabilities.0.ultra_ssd_enabled` can now be changed during
the update
([#24274](hashicorp/terraform-provider-azurerm#24274
`azurerm_scheduled_query_rules_alert` - changing the `data_source_id`
now creates a new resource
([#24327](hashicorp/terraform-provider-azurerm#24327
`azurerm_scheduled_query_rules_log` - changing the `data_source_id` now
creates a new resource
([#24327](https://github.com/hashicorp/terraform-provider-azurerm/issues/24327))&#xA;&#xA;&#xA;</pre>
            </details>
        </details>
<a
href="https://infra.ci.jenkins.io/job/terraform-jobs/job/azure/job/main/985/">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]>
Copy link

github-actions bot commented May 2, 2024

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 May 2, 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.

2 participants