flexvolume

package
v0.0.0-...-1c343ef Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 27, 2021 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

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

Variables

This section is empty.

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL