Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Driver ¶
type Driver interface {
// Init initializes the volume driver.
Init(interface{}) error
// String returns the string name of this driver.
String() string
// InspectVolume returns information about a volume.
InspectVolume(volumeID string) (*Info, error)
// GetNodes Get the list of nodes where the driver is available
GetNodes() ([]*NodeInfo, error)
// GetPodVolumes Get all the volumes used by a pod backed by the driver
GetPodVolumes(*v1.PodSpec, string) ([]*Info, error)
// GetVolumeClaimTemplates Get all the volume templates from the list backed by
// the driver
GetVolumeClaimTemplates([]v1.PersistentVolumeClaim) ([]v1.PersistentVolumeClaim, error)
// GetSnapshotPlugin Get the snapshot plugin to be used for the driver
GetSnapshotPlugin() snapshotVolume.Plugin
// Stop the driver
Stop() error
}
Driver defines an external volume driver interface. Any driver that wants to be used with stork needs to implement these interfaces.
type ErrPVCPending ¶
type ErrPVCPending struct {
// Name of the PVC
Name string
}
ErrPVCPending PVC hasn't been bound yet
func (*ErrPVCPending) Error ¶
func (e *ErrPVCPending) Error() string
type Info ¶
type Info struct {
// VolumeID is a unique identifier for the volume
VolumeID string
// VolumeName is the name for the volume
VolumeName string
// DataNodes is a list of nodes where the data for the volume resides
DataNodes []string
// Size is the size of the volume in GB
Size uint64
// ParentID points to the ID of the parent volume for snapshots
ParentID string
// Labels are user applied labels on the volume
Labels map[string]string
// VolumeSourceRef is a optional reference to the source of the volume
VolumeSourceRef interface{}
}
Info Information about a volume
type NodeInfo ¶
type NodeInfo struct {
// ID is a unique identifier for the node
ID string
// Hostname of the node. Should be in lower case because Kubernetes
// converts it to lower case
Hostname string
// IPs List of IPs associated with the node
IPs []string
// Rack Specifies the rack within the datacenter where the node is located
Rack string
// Zone Specifies the zone where the rack is located
Zone string
// Region Specifies the region where the datacenter is located
Region string
// Status of the node
Status NodeStatus
}
NodeInfo Information about a node
type NodeStatus ¶
type NodeStatus string
NodeStatus Status of driver on a node
const ( // NodeOnline Node is online NodeOnline NodeStatus = "Online" // NodeOffline Node is Offline NodeOffline NodeStatus = "Offline" // NodeDegraded Node is in degraded state NodeDegraded NodeStatus = "Degraded" )
Click to show internal directories.
Click to hide internal directories.