kubernetesk8s.io/kubernetes/pkg/volume/flexvolume Index | Files

package flexvolume

import "k8s.io/kubernetes/pkg/volume/flexvolume"

Index

Constants

const (
	// StatusSuccess represents the successful completion of command.
	StatusSuccess = "Success"
	// StatusNotSupported represents that the command is not supported.
	StatusNotSupported = "Not supported"
)

Functions

func GetDynamicPluginProber

func GetDynamicPluginProber(pluginDir string, runner exec.Interface) volume.DynamicPluginProber

GetDynamicPluginProber creates dynamic plugin prober

Types

type DriverCall

type DriverCall struct {
	Command string
	Timeout time.Duration
	// contains filtered or unexported fields
}

DriverCall implements the basic contract between FlexVolume and its driver. The caller is responsible for providing the required args.

func (*DriverCall) Append

func (dc *DriverCall) Append(arg string)

Append appends arg into driver call argument list

func (*DriverCall) AppendSpec

func (dc *DriverCall) AppendSpec(spec *volume.Spec, host volume.VolumeHost, extraOptions map[string]string) error

AppendSpec appends volume spec to driver call argument list

func (*DriverCall) Run

func (dc *DriverCall) Run() (*DriverStatus, error)

Run executes the driver call

type DriverCapabilities

type DriverCapabilities struct {
	Attach           bool `json:"attach"`
	SELinuxRelabel   bool `json:"selinuxRelabel"`
	SupportsMetrics  bool `json:"supportsMetrics"`
	FSGroup          bool `json:"fsGroup"`
	RequiresFSResize bool `json:"requiresFSResize"`
}

DriverCapabilities represents what driver can do

type DriverStatus

type DriverStatus struct {
	// Status of the callout. One of "Success", "Failure" or "Not supported".
	Status string `json:"status"`
	// Reason for success/failure.
	Message string `json:"message,omitempty"`
	// Path to the device attached. This field is valid only for attach calls.
	// ie: /dev/sdx
	DevicePath string `json:"device,omitempty"`
	// Cluster wide unique name of the volume.
	VolumeName string `json:"volumeName,omitempty"`
	// Represents volume is attached on the node
	Attached bool `json:"attached,omitempty"`
	// Returns capabilities of the driver.
	// By default we assume all the capabilities are supported.
	// If the plugin does not support a capability, it can return false for that capability.
	Capabilities *DriverCapabilities `json:",omitempty"`
	// Returns the actual size of the volume after resizing is done, the size is in bytes.
	ActualVolumeSize int64 `json:"volumeNewSize,omitempty"`
}

DriverStatus represents the return value of the driver callout.

type OptionsForDriver

type OptionsForDriver map[string]string

OptionsForDriver represents the spec given to the driver.

func NewOptionsForDriver

func NewOptionsForDriver(spec *volume.Spec, host volume.VolumeHost, extraOptions map[string]string) (OptionsForDriver, error)

NewOptionsForDriver create driver options given volume spec

type PluginFactory

type PluginFactory interface {
	NewFlexVolumePlugin(pluginDir, driverName string, runner exec.Interface) (volume.VolumePlugin, error)
}

PluginFactory create flex volume plugin

Source Files

attacher-defaults.go attacher.go detacher-defaults.go detacher.go driver-call.go expander-defaults.go expander.go fake_watcher.go mounter-defaults.go mounter.go plugin-defaults.go plugin.go probe.go unmounter-defaults.go unmounter.go util.go volume.go

Version
v1.33.0 (latest)
Published
Apr 23, 2025
Platform
linux/amd64
Imports
23 packages
Last checked
5 hours ago

Tools for package owners.