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_kubernetes_cluster/azurerm_kubernetes_cluster_node_pool - prevent a plan diff when API returns an empty upgrade_settings object #26541

Merged
merged 1 commit into from
Jul 4, 2024

Conversation

stephybun
Copy link
Member

Community Note

  • Please vote on this PR by adding a 👍 reaction to the original PR to help the community and maintainers prioritize for review
  • Please do not leave comments along the lines of "+1", "me too" or "any updates", they generate extra noise for PR followers and do not help prioritize for review

Description

The API returns an empty upgrade_settings object in certain instances, we need to check if any values are present when flattening to prevent Terraform from showing a diff.

In addition, this PR also rolls back a planned 4.0 change in the upgrade_settings block, this needs to remain Optional because there are scenarios where it cannot be supplied e.g. spot node pools.

Also removes public_network_access_enabled from the schema in 4.0 since this property still doesn't appear to be functional. Can be reintroduced at a later stage once it's working.

Testing

Running ...

Change Log

Below please provide what should go into the changelog (if anything) conforming to the Changelog Format documented here.

  • azurerm_kubernetes_cluster - prevent a diff in upgrade_settings when the API returns an empty object [GH-00000]
  • azurerm_kubernetes_cluster_node_pool - prevent a diff in upgrade_settings when the API returns an empty object [GH-00000]

This is a (please select all that apply):

  • Bug Fix
  • New Feature (ie adding a service, resource, or data source)
  • Enhancement
  • Breaking Change

Related Issue(s)

Fixes #26280
Fixes #26465

Note

If this PR changes meaningfully during the course of review please update the title and description as required.

…ues, and returns an empty interface if not

- reverts a planned 4.0 change where upgrade settings block would become required, this needs to be optional because it cannot be specified for spot node pools
- removes public_network_access_enabled in 4.0 since this property isn't functional
Copy link
Member

@jackofallops jackofallops left a comment

Choose a reason for hiding this comment

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

Thanks @stephybun - LGTM 🦩

@stephybun stephybun merged commit a7e21ca into main Jul 4, 2024
33 checks passed
@stephybun stephybun deleted the f/check-contents-of-upgrade-settings branch July 4, 2024 14:53
@github-actions github-actions bot added this to the v3.111.0 milestone Jul 4, 2024
stephybun added a commit that referenced this pull request Jul 4, 2024
dduportal pushed a commit to jenkins-infra/azure that referenced this pull request Jul 8, 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.110.0&#34; to &#34;3.111.0&#34; in file
&#34;.terraform.lock.hcl&#34;</p>
            <details>
                <summary>3.111.0</summary>
<pre>Changelog retrieved
from:&#xA;&#x9;https://github.com/hashicorp/terraform-provider-azurerm/releases/tag/v3.111.0&#xA;FEATURES:&#xA;&#xA;*
**New Resource:** `azurerm_restore_point_collection`
([#26518](https://github.com/hashicorp/terraform-provider-azurerm/issues/26518))&#xA;&#xA;ENHANCEMENTS:&#xA;&#xA;*
dependencies: updating to `v0.20240701.1082110` of
`github.com/hashicorp/go-azure-sdk`
([#26502](https://github.com/hashicorp/terraform-provider-azurerm/issues/26502))&#xA;*
`azurerm_disk_encryption_set` - support for the `managed_hsm_key_id`
property
([#26201](https://github.com/hashicorp/terraform-provider-azurerm/issues/26201))&#xA;*
`azurerm_firewall_policy` - remove Computed from the `sku` property and
add a default of `Standard` in 4.0
([#26499](https://github.com/hashicorp/terraform-provider-azurerm/issues/26499))&#xA;*
`azurerm_kubernetes_cluster` - support updating
`default_node_pool.os_sku` between `Ubuntu` and `AzureLinux`
([#26262](https://github.com/hashicorp/terraform-provider-azurerm/issues/26262))&#xA;*
`azurerm_kubernetes_cluster_node_pool` - support updating `os_sku`
between `Ubuntu` and `AzureLinux`
([#26139](https://github.com/hashicorp/terraform-provider-azurerm/issues/26139))&#xA;*
`azurerm_service_plan` - support for new the Flex Consumption plan
([#26351](https://github.com/hashicorp/terraform-provider-azurerm/issues/26351))&#xA;&#xA;BUG
FIXES:&#xA;&#xA;* `azurerm_kubernetes_cluster` - prevent a panic
([#26478](https://github.com/hashicorp/terraform-provider-azurerm/issues/26478))&#xA;*
`azurerm_kubernetes_cluster` - prevent a diff in `upgrade_settings` when
the API returns an empty object
([#26541](https://github.com/hashicorp/terraform-provider-azurerm/issues/26541))&#xA;*
`azurerm_kubernetes_cluster_node_pool` - prevent a diff in
`upgrade_settings` when the API returns an empty object
([#26541](https://github.com/hashicorp/terraform-provider-azurerm/issues/26541))&#xA;*
`azurerm_virtual_network_gateway` - split create and update function to
fix lifecycle - ignore
([#26451](https://github.com/hashicorp/terraform-provider-azurerm/issues/26451))&#xA;*
`azurerm_virtual_network_gateway_connection` - split create and update
function to fix lifecycle - ignore
([#26431](https://github.com/hashicorp/terraform-provider-azurerm/issues/26431))&#xA;&#xA;&#xA;</pre>
            </details>
        </details>
<a
href="https://infra.ci.jenkins.io/job/updatecli/job/azure/job/main/306/">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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment