Documentation ¶
Overview ¶
Package cache implements a data structure used by the attach/detach controller to keep track of volumes, the nodes they are attached to, and the pods that reference them. It is thread-safe.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AttachDetachVolumeCache ¶
type AttachDetachVolumeCache interface { // AddVolume adds the given volume to the list of volumes managed by the // attach detach controller. // If the volume already exists, this is a no-op. AddVolume(volumeName string) // AddNode adds the given node to the list of nodes the specified volume is // attached to. // If no volume with the name volumeName exists in the list of managed // volumes, an error is returned. // If the node already exists for the specified volume, this is a no-op. AddNode(nodeName, volumeName string) error // AddPod adds the given pod to the list of pods that are scheduled to // the specified node and referencing the specified volume. // If no node with the name nodeName exists in the list of attached nodes, // an error is returned. // If no volume with the name volumeName exists in the list of managed // volumes, an error is returned. // If the pod already exists for the specified volume, this is a no-op. AddPod(podName, nodeName, volumeName string) error // DeleteVolume removes the given volume from the list of volumes managed // by the attach detach controller. // If no volume with the name volumeName exists in the list of managed // volumes, an error is returned. // All attachedNodes must be deleted from the volume before it is deleted. // If the specified volume contains 1 or more attachedNodes, an error is // returned. DeleteVolume(volumeName string) error // DeleteNode removes the given node from the list of nodes the specified // volume is attached to. // If no node with the name nodeName exists in the list of attached nodes, // an error is returned. // If no volume with the name volumeName exists in the list of managed // volumes, an error is returned. // All scheduledPods must be deleted from the node before it is deleted. // If the specified node contains 1 or more scheduledPods, an error is // returned. DeleteNode(nodeName, volumeName string) error // DeletePod removes the given pod from the list of pods that are scheduled // to the specified node and referencing the specified volume. // If no pod with the name podName exists for the specified volume/node, an // error is returned. // If no node with the name nodeName exists in the list of attached nodes, // an error is returned. // If no volume with the name volumeName exists in the list of managed // volumes, an error is returned. DeletePod(podName, nodeName, volumeName string) error // VolumeExists returns true if the volume with the specified name exists // in the list of volumes managed by the attach detach controller. VolumeExists(volumeName string) bool // NodeExists returns true if the node with the specified name exists in // the list of nodes the specified volume is attached to. // If no volume with the name volumeName exists in the list of managed // volumes, an error is returned. NodeExists(nodeName, volumeName string) (bool, error) // PodExists returns true if the pod with the specified name exists in the // list of pods that are scheduled to the specified node and referencing // the specified volume. // If no node with the name nodeName exists in the list of attached nodes, // an error is returned. // If no volume with the name volumeName exists in the list of managed // volumes, an error is returned. PodExists(podName, nodeName, volumeName string) (bool, error) }
AttachDetachVolumeCache defines the set of operations the volume cache supports.
func NewAttachDetachVolumeCache ¶
func NewAttachDetachVolumeCache() AttachDetachVolumeCache
NewAttachDetachVolumeCache returns a new instance of the AttachDetachVolumeCache.
Click to show internal directories.
Click to hide internal directories.