From 1271f8f45bf24568dc880c1990ceac5881bee1a0 Mon Sep 17 00:00:00 2001 From: Emanuele Prella Date: Fri, 13 Feb 2026 16:41:51 +0100 Subject: [PATCH] Update default value for api_name in DataVolume and add future warning --- ocp_resources/datavolume.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/ocp_resources/datavolume.py b/ocp_resources/datavolume.py index 9838979abe..8f39dbe42e 100644 --- a/ocp_resources/datavolume.py +++ b/ocp_resources/datavolume.py @@ -95,7 +95,7 @@ def __init__( multus_annotation: str | None = None, bind_immediate_annotation: bool | None = None, preallocation: bool | None = None, - api_name: str | None = "pvc", + api_name: str | None = None, checkpoints: list[Any] | None = None, final_checkpoint: bool | None = None, priority_class_name: str | None = None, @@ -124,7 +124,8 @@ def __init__( bind_immediate_annotation (bool, default: None): when WaitForFirstConsumer is set in StorageClass and DV should be bound immediately. preallocation (bool, default: None): preallocate disk space. - api_name (str, default: "pvc"): api used for DV (e.g., "storage", "pvc"). + api_name (str | None, default: None): api used for DV (e.g., "storage", "pvc"). + NOTE: Currently defaults to "pvc" if not specified. Default will change to "storage" in a future release. checkpoints (list[Any], default: None): list of DataVolumeCheckpoints for snapshot operations. final_checkpoint (bool, default: None): indicates whether the current DataVolumeCheckpoint is the final one. priority_class_name (str, default: None): priority class name for the DataVolume pod. @@ -147,7 +148,17 @@ def __init__( self.multus_annotation = multus_annotation self.bind_immediate_annotation = bind_immediate_annotation self.preallocation = preallocation - self.api_name = api_name + if api_name is None: + warn( + "The default 'api_name' will change from 'pvc' to 'storage' in a future release. " + "To maintain existing behavior and suppress this warning, " + "explicitly set api_name='pvc' in your constructor call.", + FutureWarning, + stacklevel=2, + ) + self.api_name = "pvc" + else: + self.api_name = api_name self.checkpoints = checkpoints self.final_checkpoint = final_checkpoint self.priority_class_name = priority_class_name