Terraform Drift and Deployment Failure After RedPanda Cluster Upgrade to v26.1 — redpanda.storage.mode

Last updated: August 10, 2026

Affected versions: Redpanda Cloud clusters upgraded to v26.1.1 or later; Redpanda Terraform Provider earlier than v2.0.0

Symptoms

After a Redpanda Cloud cluster is upgraded to v26.1.1 or later, Terraform plans may show an unexpected in-place update for existing topics:

│ Error: Error waiting for topic (topic_name) to become ready: couldn't find resource (21 retries)
│ 
│   with module.redpanda.kafka_topic.t["topic_name"],
│   on ../../modules/redpanda_config/topics.tf line 51, in resource "kafka_topic" "t":
│   51: resource "kafka_topic" "t" {

 Applying this plan fails with an error similar to:

 Error: Error waiting for topic (your.topic.name) to become ready: couldn't find resource (21 retries)


 Root Cause

Redpanda v26.1.1 introduced the redpanda.storage.mode topic property to control Tiered Storage behavior. Upon cluster upgrade, this property is automatically applied to all existing topics with a default value of "unset".

The "unset" value preserves legacy behavior — the topic defers to the redpanda.remote.read and redpanda.remote.write properties for Tiered Storage configuration, which is functionally equivalent to pre-v26.1 behavior.

Versions of the Redpanda Terraform Provider earlier than v2.0.0 are not aware of this property. When they detect "redpanda.storage.mode" = "unset" in the cluster state, they attempt to remove it (set it to null). This operation is not valid — redpanda.storage.mode only accepts the values local, tiered, cloud, or unset — causing the topic update to fail.

Resolution

Upgrade to Redpanda Terraform Provider v2.0.0 or later. This version handles the redpanda.storage.mode property correctly and resolves the drift without requiring changes to your topic configurations.


Workaround (Terraform Provider Earlier Than v2.0.0)

If upgrading the provider is not immediately possible, explicitly add "redpanda.storage.mode" = "unset" to each affected topic's configuration. This aligns the Terraform desired state with what the cluster reports, eliminating the drift.

Using the kafka_topic resource:

  resource "kafka_topic" "t" {
    name = "your.topic.name"
    # ... other attributes ...
    config = {
      "redpanda.storage.mode" = "unset"
      # other existing config entries
    }
  }

 Using the native redpanda_topic resource:

  resource "redpanda_topic" "example" {
    name            = "your.topic.name"
    cluster_api_url = redpanda_cluster.example.cluster_api_url
    configuration = {
      "redpanda.storage.mode" = "unset"
      # other existing config entries
    }
  }

 Apply this change to all topics showing the drift before your production cluster is upgraded to v26.1.1.

Additional Notes

- The "unset" value is a no-op change in behavior for topics not using Tiered Storage. Setting it explicitly is safe.

- If you are managing a large number of topics across multiple repositories, plan your rollout before your production cluster's scheduled maintenance window to avoid deployment failures.

- To check or control your cluster's maintenance window schedule, contact Redpanda Support.

Please visit support.redpanda.com if the above guidance does not resolve this error.