csi-translation-lib – k8s.io/csi-translation-lib Index | Files | Directories

package csitranslation

import "k8s.io/csi-translation-lib"

Index

Types

type CSITranslator

type CSITranslator struct{}

CSITranslator translates in-tree storage API objects to their equivalent CSI API objects. It also provides many helper functions to determine whether translation logic exists and the mappings between "in-tree plugin <-> csi driver"

func New

func New() CSITranslator

New creates a new CSITranslator which does real translation for "in-tree plugins <-> csi drivers"

func (CSITranslator) GetCSINameFromInTreeName

func (CSITranslator) GetCSINameFromInTreeName(pluginName string) (string, error)

GetCSINameFromInTreeName returns the name of a CSI driver that supersedes the in-tree plugin with the given name

func (CSITranslator) GetInTreeNameFromCSIName

func (CSITranslator) GetInTreeNameFromCSIName(pluginName string) (string, error)

GetInTreeNameFromCSIName returns the name of the in-tree plugin superseded by a CSI driver with the given name

func (CSITranslator) GetInTreePluginNameFromSpec

func (CSITranslator) GetInTreePluginNameFromSpec(pv *v1.PersistentVolume, vol *v1.Volume) (string, error)

GetInTreePluginNameFromSpec returns the plugin name

func (CSITranslator) IsInlineMigratable

func (CSITranslator) IsInlineMigratable(vol *v1.Volume) bool

IsInlineMigratable tests whether there is Migration logic for the given Inline Volume

func (CSITranslator) IsMigratableIntreePluginByName

func (CSITranslator) IsMigratableIntreePluginByName(inTreePluginName string) bool

IsMigratableIntreePluginByName tests whether there is migration logic for the in-tree plugin whose name matches the given name

func (CSITranslator) IsMigratedCSIDriverByName

func (CSITranslator) IsMigratedCSIDriverByName(csiPluginName string) bool

IsMigratedCSIDriverByName tests whether there exists an in-tree plugin with logic to migrate to the CSI driver with given name

func (CSITranslator) IsPVMigratable

func (CSITranslator) IsPVMigratable(pv *v1.PersistentVolume) bool

IsPVMigratable tests whether there is migration logic for the given Persistent Volume

func (CSITranslator) RepairVolumeHandle

func (CSITranslator) RepairVolumeHandle(driverName, volumeHandle, nodeID string) (string, error)

RepairVolumeHandle generates a correct volume handle based on node ID information.

func (CSITranslator) TranslateCSIPVToInTree

func (CSITranslator) TranslateCSIPVToInTree(pv *v1.PersistentVolume) (*v1.PersistentVolume, error)

TranslateCSIPVToInTree takes a PV with a CSI PersistentVolume Source and will translate it to a in-tree Persistent Volume Source for the specific in-tree volume specified by the `Driver` field in the CSI Source. The input PV object will not be modified.

func (CSITranslator) TranslateInTreeInlineVolumeToCSI

func (CSITranslator) TranslateInTreeInlineVolumeToCSI(logger klog.Logger, volume *v1.Volume, podNamespace string) (*v1.PersistentVolume, error)

TranslateInTreeInlineVolumeToCSI takes a inline volume and will translate the in-tree volume source to a CSIPersistentVolumeSource (wrapped in a PV) if the translation logic has been implemented.

func (CSITranslator) TranslateInTreePVToCSI

func (CSITranslator) TranslateInTreePVToCSI(logger klog.Logger, pv *v1.PersistentVolume) (*v1.PersistentVolume, error)

TranslateInTreePVToCSI takes a persistent volume and will translate the in-tree source to a CSI Source if the translation logic has been implemented. The input persistent volume will not be modified

func (CSITranslator) TranslateInTreeStorageClassToCSI

func (CSITranslator) TranslateInTreeStorageClassToCSI(logger klog.Logger, inTreePluginName string, sc *storage.StorageClass) (*storage.StorageClass, error)

TranslateInTreeStorageClassToCSI takes in-tree Storage Class and translates it to a set of parameters consumable by CSI plugin

Source Files

translate.go

Directories

PathSynopsis
plugins
Version
v0.33.2 (latest)
Published
Jun 19, 2025
Platform
linux/amd64
Imports
6 packages
Last checked
1 month ago

Tools for package owners.