package csitranslation
import "k8s.io/csi-translation-lib"
Index ¶
- type CSITranslator
- func New() CSITranslator
- func (CSITranslator) GetCSINameFromInTreeName(pluginName string) (string, error)
- func (CSITranslator) GetInTreeNameFromCSIName(pluginName string) (string, error)
- func (CSITranslator) GetInTreePluginNameFromSpec(pv *v1.PersistentVolume, vol *v1.Volume) (string, error)
- func (CSITranslator) IsInlineMigratable(vol *v1.Volume) bool
- func (CSITranslator) IsMigratableIntreePluginByName(inTreePluginName string) bool
- func (CSITranslator) IsMigratedCSIDriverByName(csiPluginName string) bool
- func (CSITranslator) IsPVMigratable(pv *v1.PersistentVolume) bool
- func (CSITranslator) RepairVolumeHandle(driverName, volumeHandle, nodeID string) (string, error)
- func (CSITranslator) TranslateCSIPVToInTree(pv *v1.PersistentVolume) (*v1.PersistentVolume, error)
- func (CSITranslator) TranslateInTreeInlineVolumeToCSI(logger klog.Logger, volume *v1.Volume, podNamespace string) (*v1.PersistentVolume, error)
- func (CSITranslator) TranslateInTreePVToCSI(logger klog.Logger, pv *v1.PersistentVolume) (*v1.PersistentVolume, error)
- func (CSITranslator) TranslateInTreeStorageClassToCSI(logger klog.Logger, inTreePluginName string, sc *storage.StorageClass) (*storage.StorageClass, error)
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 ¶
Path | Synopsis |
---|---|
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.