README ¶
Purpose
This repository contains functions to be consumed by various Kubernetes and out-of-tree CSI components like external provisioner to facilitate migration of code from Kubernetes In-tree plugin code to CSI plugin repositories.
Consumers of this repository can make use of functions like TranslateToCSI
and
TranslateToInTree
functions to translate PV sources.
Community, discussion, contribution, and support
Learn how to engage with the Kubernetes community on the community page.
You can reach the maintainers of this repository at:
- Slack: #sig-storage (on https://kubernetes.slack.com -- get an invite at slack.kubernetes.io)
- Mailing List: https://groups.google.com/forum/#!forum/kubernetes-sig-storage
Code of Conduct
Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.
Contibution Guidelines
See CONTRIBUTING.md for more information.
Documentation ¶
Index ¶
- func GetCSINameFromInTreeName(pluginName string) (string, error)
- func GetInTreeNameFromCSIName(pluginName string) (string, error)
- func GetInTreePluginNameFromSpec(pv *v1.PersistentVolume, vol *v1.Volume) (string, error)
- func IsInlineMigratable(vol *v1.Volume) bool
- func IsMigratableIntreePluginByName(inTreePluginName string) bool
- func IsMigratedCSIDriverByName(csiPluginName string) bool
- func IsPVMigratable(pv *v1.PersistentVolume) bool
- func TranslateCSIPVToInTree(pv *v1.PersistentVolume) (*v1.PersistentVolume, error)
- func TranslateInTreePVToCSI(pv *v1.PersistentVolume) (*v1.PersistentVolume, error)
- func TranslateInTreeStorageClassParametersToCSI(inTreePluginName string, scParameters map[string]string) (map[string]string, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetCSINameFromInTreeName ¶
GetCSINameFromInTreeName returns the name of a CSI driver that supersedes the in-tree plugin with the given name
func GetInTreeNameFromCSIName ¶
GetInTreeNameFromCSIName returns the name of the in-tree plugin superseded by a CSI driver with the given name
func GetInTreePluginNameFromSpec ¶
GetInTreePluginNameFromSpec returns the plugin name
func IsInlineMigratable ¶
IsInlineMigratable tests whether there is Migration logic for the given Inline Volume
func IsMigratableIntreePluginByName ¶
IsMigratableIntreePluginByName tests whether there is migration logic for the in-tree plugin whose name matches the given name
func IsMigratedCSIDriverByName ¶
IsMigratedCSIDriverByName tests whether there exists an in-tree plugin with logic to migrate to the CSI driver with given name
func IsPVMigratable ¶
func IsPVMigratable(pv *v1.PersistentVolume) bool
IsPVMigratable tests whether there is migration logic for the given Persistent Volume
func TranslateCSIPVToInTree ¶
func 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 TranslateInTreePVToCSI ¶
func TranslateInTreePVToCSI(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 TranslateInTreeStorageClassParametersToCSI ¶
func TranslateInTreeStorageClassParametersToCSI(inTreePluginName string, scParameters map[string]string) (map[string]string, error)
TranslateInTreeStorageClassParametersToCSI takes in-tree storage class parameters and translates them to a set of parameters consumable by CSI plugin
Types ¶
This section is empty.