Skip to content

Version 7.21 broke oci_ocvp_esxi_host: causes force recreation of ESXi hosts #2464

@olkoko

Description

@olkoko

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Terraform Version and Provider Version

Terraform v1.2.9
on darwin_arm64
+ provider registry.terraform.io/hashicorp/null v3.2.4
+ provider registry.terraform.io/oracle/oci v7.21.0

Affected Resource(s)

  • oci_ocvp_esxi_host

Terraform Configuration Files

resource "oci_ocvp_esxi_host" "cls1_host4" {
  cluster_id                  = var.cls1_id
  display_name                = var.cls1_host4_display_name
  compute_availability_domain = var.cls1_availability_domain
  esxi_software_version       = var.cls1_esxi_software_version
  capacity_reservation_id     = var.cls1_reservation_id
  host_shape_name             = var.cls1_shape
  host_ocpu_count             = var.cls1_ocpus
  freeform_tags               = var.cls1_freeform_tags
  defined_tags                = var.cls1_defined_tags
  lifecycle { ignore_changes = [capacity_reservation_id, ] }
}

Expected Behavior

There should be no changes to oci_ocvp_esxi_host unless there was a change in Terraform Configuration File.

Actual Behavior

After upgrading Terraform provider for OCI from 7.20 to 7.21 Terraform tries to drop and recreate oci_ocvp_esxi_host resources.

  # oci_ocvp_esxi_host.cls1["mrn-sddc-cls1-4"] must be replaced
  
  -/+ resource "oci_ocvp_esxi_host" "cls1_host4" {
      ~ billing_contract_end_date           = "2025-10-16 21:40:29.767 +0000 UTC" -> (known after apply)
      + billing_donor_host_id               = (known after apply)
      ~ cluster_id                          = "ocid1.vmwarecluster.oc2.us-langley-1.<redacted>" -> (known after apply) # forces replacement
      ~ compartment_id                      = "ocid1.compartment.oc2..<redacted>" -> (known after apply)
      ~ compute_instance_id                 = "ocid1.instance.oc2.us-langley-1.<redacted>" -> (known after apply)
      ~ current_commitment                  = "HOUR" -> (known after apply)
      + current_sku                         = (known after apply)
      ~ datastore_attachments               = [
          - {
              - block_volume_id = "ocid1.volume.oc2.us-langley-1.<redacted>"
              - datastore_id    = ""
              - ip_address      = "169.254.2.2"
              - port            = 3260
              - volume_iqn      = "iqn.2015-12.com.oracleiaas:<redacted>"
            },
        ] -> (known after apply)
      ~ datastore_cluster_ids               = [] -> (known after apply)
      ~ defined_tags                        = (known after apply)
      + failed_esxi_host_id                 = (known after apply)
      + grace_period_end_date               = (known after apply)
      ~ id                                  = "ocid1.vmwareesxihost.oc2.us-langley-1.<redacted>" -> (known after apply)
      ~ is_billing_continuation_in_progress = false -> (known after apply)
      ~ is_billing_swapping_in_progress     = false -> (known after apply)
      ~ next_commitment                     = "HOUR" -> (known after apply)
      + next_sku                            = (known after apply)
      + non_upgraded_esxi_host_id           = (known after apply)
      + replacement_esxi_host_id            = (known after apply)
      - sddc_id                             = "ocid1.vmwaresddc.oc2.us-langley-1.<redacted>" -> null # forces replacement
      ~ state                               = "ACTIVE" -> (known after apply)
      + swap_billing_host_id                = (known after apply)
      ~ time_created                        = "2025-10-15 19:14:06.382 +0000 UTC" -> (known after apply)
      ~ time_updated                        = "2025-10-15 19:40:29.767 +0000 UTC" -> (known after apply)
      + upgraded_replacement_esxi_host_id   = (known after apply)
      ~ vmware_software_version             = "8.0 update 3" -> (known after apply)
        # (7 unchanged attributes hidden)
    }

Steps to Reproduce

  1. terraform apply

Metadata

Metadata

Assignees

No one assigned

    Labels

    In-ProgressTerraform Team is working on the reproduce & fixbug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions