v1alpha1

package
v0.7.1 Latest Latest
Warning

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

Go to latest
Published: Apr 20, 2023 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package v1alpha1 is the v1alpha1 version of the API.

Index

Constants

This section is empty.

Variables

View Source
var (
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	AddToScheme   = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: storage.GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type ConditionStatus

type ConditionStatus string
const (
	ConditionTrue    ConditionStatus = "True"
	ConditionFalse   ConditionStatus = "False"
	ConditionUnknown ConditionStatus = "Unknown"
)

These are valid condition statuses. "ConditionTrue" means a resource is in the condition; "ConditionFalse" means a resource is not in the condition; "ConditionUnknown" means kubernetes can't decide if a resource is in the condition or not. In the future, we could add other intermediate conditions, e.g. ConditionDegraded.

type DeviceInfo

type DeviceInfo struct {
	// Name is the block device name
	Name string `json:"name,omitempty"` /* /dev/sda*/
	// MediaType is the media type like ssd/hdd
	MediaType string `json:"mediaType,omitempty"` /*ssd,hdd*/
	// Total is the raw block device size
	Total uint64 `json:"total"` /**/
	// ReadOnly indicates whether the device is ready-only
	ReadOnly bool `json:"readOnly"`
	// Condition is the condition for mount point
	Condition StorageConditionType `json:"condition,omitempty"`
}

DeviceInfos is a raw block device on host

func (*DeviceInfo) DeepCopy

func (in *DeviceInfo) DeepCopy() *DeviceInfo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceInfo.

func (*DeviceInfo) DeepCopyInto

func (in *DeviceInfo) DeepCopyInto(out *DeviceInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DeviceList

type DeviceList struct {
	// +kubebuilder:validation:MaxItems=50
	// +kubebuilder:validation:UniqueItems=false
	Include []string `json:"include,omitempty"`
	// +kubebuilder:validation:MaxItems=50
	// +kubebuilder:validation:UniqueItems=false
	Exclude []string `json:"exclude,omitempty"`
}

func (*DeviceList) DeepCopy

func (in *DeviceList) DeepCopy() *DeviceList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceList.

func (*DeviceList) DeepCopyInto

func (in *DeviceList) DeepCopyInto(out *DeviceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FilteredStorageInfo

type FilteredStorageInfo struct {
	// VolumeGroups is LVM vgs picked by Filtered according to WhitelistVGs/BlacklistVGs
	VolumeGroups []string `json:"volumeGroups,omitempty"`
	// MountPoints is mount points picked by Filtered according to WhitelistMountPoints/BlacklistMountPoints
	MountPoints []string `json:"mountPoints,omitempty"`
	// Devices is block devices picked by Filtered according to WhitelistDevices/BlacklistDevices
	Devices      []string         `json:"devices,omitempty"`
	UpdateStatus UpdateStatusInfo `json:"updateStatusInfo,omitempty"`
}

FilteredStorageInfo is info of the storage resources of the node, which is picked by Filtered Scheduler according to ListConfig

func (*FilteredStorageInfo) DeepCopy

func (in *FilteredStorageInfo) DeepCopy() *FilteredStorageInfo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilteredStorageInfo.

func (*FilteredStorageInfo) DeepCopyInto

func (in *FilteredStorageInfo) DeepCopyInto(out *FilteredStorageInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GlobalConfig

type GlobalConfig struct {
	SpdkConfig         SpdkConfig         `json:"spdkConfig,omitempty"`
	ListConfig         ListConfig         `json:"listConfig,omitempty"`
	ResourceToBeInited ResourceToBeInited `json:"resourceToBeInited,omitempty"`
}

GlobalConfig is configuration for agent to create default NodeLocalStorage

func (*GlobalConfig) DeepCopy

func (in *GlobalConfig) DeepCopy() *GlobalConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalConfig.

func (*GlobalConfig) DeepCopyInto

func (in *GlobalConfig) DeepCopyInto(out *GlobalConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ListConfig

type ListConfig struct {
	// VGs defines the user specified VGs to be scheduled
	// only VGs specified here can be picked by scheduler
	VGs VGList `json:"vgs,omitempty"`
	// BlacklistMountPoints defines the user specified mount points which are not allowed for scheduling
	MountPoints MountPointList `json:"mountPoints,omitempty"`
	// Devices defines the user specified Devices to be scheduled,
	// only raw device specified here can be picked by scheduler
	Devices DeviceList `json:"devices,omitempty"`
}

func (*ListConfig) DeepCopy

func (in *ListConfig) DeepCopy() *ListConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListConfig.

func (*ListConfig) DeepCopyInto

func (in *ListConfig) DeepCopyInto(out *ListConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LogicalVolume

type LogicalVolume struct {
	// Name is the LV name
	Name string `json:"name"`
	// VGName is the VG name of this LV
	VGName string `json:"vgname"`
	// Size is the LV size
	Total uint64 `json:"total"`
	// ReadOnly indicates whether the LV is read-only
	ReadOnly bool `json:"readOnly,omitempty"`
	// Condition is the condition for LogicalVolume
	Condition StorageConditionType `json:"condition,omitempty"`
}

LogicalVolume is an alias for LVM LV

func (*LogicalVolume) DeepCopy

func (in *LogicalVolume) DeepCopy() *LogicalVolume

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogicalVolume.

func (*LogicalVolume) DeepCopyInto

func (in *LogicalVolume) DeepCopyInto(out *LogicalVolume)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MountPoint

type MountPoint struct {
	// Name is the mount point name
	Name string `json:"name,omitempty"` /*/mnt/testmount */
	// Total is the size of mount point
	Total uint64 `json:"total"`
	// Available is the free size for mount point
	Available uint64 `json:"available"`
	// FsType is filesystem type
	FsType string `json:"fsType,omitempty"` /*ext4, xfs, ext3*/
	// IsBind indicates whether the mount point is a bind
	IsBind bool `json:"isBind"`
	// Options is a list of mount options
	Options []string `json:"options,omitempty"` /*quota, ordered*/
	// Device is the device underlying the mount point
	Device string `json:"device,omitempty"` /*/dev/sda*/
	// ReadOnly indicates whether the mount point is read-only
	ReadOnly bool `json:"readOnly"`
	// Condition is the condition for mount point
	Condition StorageConditionType `json:"condition,omitempty"`
}

MountPoint is the mount point on a node

func (*MountPoint) DeepCopy

func (in *MountPoint) DeepCopy() *MountPoint

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MountPoint.

func (*MountPoint) DeepCopyInto

func (in *MountPoint) DeepCopyInto(out *MountPoint)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MountPointList

type MountPointList struct {
	// +kubebuilder:validation:MaxItems=50
	// +kubebuilder:validation:UniqueItems=false
	Include []string `json:"include,omitempty"`
	// +kubebuilder:validation:MaxItems=50
	// +kubebuilder:validation:UniqueItems=false
	Exclude []string `json:"exclude,omitempty"`
}

func (*MountPointList) DeepCopy

func (in *MountPointList) DeepCopy() *MountPointList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MountPointList.

func (*MountPointList) DeepCopyInto

func (in *MountPointList) DeepCopyInto(out *MountPointList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MountPointToBeInited

type MountPointToBeInited struct {
	// Path is the path of mount point
	// +kubebuilder:validation:MaxLength=128
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Pattern=`^(/[^/ ]*)+/?$`
	Path string `json:"path"`
	// Device is the device underlying the mount point
	// +kubebuilder:validation:MaxLength=128
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Pattern=`^(/[^/ ]*)+/?$`
	Device string `json:"device"`
	// FsType is filesystem type
	// +kubebuilder:validation:MaxLength=128
	// +kubebuilder:validation:MinLength=1
	FsType string `json:"fsType,omitempty"` /*ext4(default), xfs, ext3*/
	// Options is a list of mount options
	Options []string `json:"options,omitempty"`
}

func (*MountPointToBeInited) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MountPointToBeInited.

func (*MountPointToBeInited) DeepCopyInto

func (in *MountPointToBeInited) DeepCopyInto(out *MountPointToBeInited)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeConfig

type NodeConfig struct {
	Selector           *metav1.LabelSelector `json:"selector,omitempty"`
	SpdkConfig         SpdkConfig            `json:"spdkConfig,omitempty"`
	ListConfig         ListConfig            `json:"listConfig,omitempty"`
	ResourceToBeInited ResourceToBeInited    `json:"resourceToBeInited,omitempty"`
}

NodeConfig is configuration for agent to create NodeLocalStorage of specific node

func (*NodeConfig) DeepCopy

func (in *NodeConfig) DeepCopy() *NodeConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeConfig.

func (*NodeConfig) DeepCopyInto

func (in *NodeConfig) DeepCopyInto(out *NodeConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeLocalStorage

type NodeLocalStorage struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NodeLocalStorageSpec   `json:"spec,omitempty"`
	Status NodeLocalStorageStatus `json:"status,omitempty"`
}

NodeLocalStorage is the Schema for the nodelocalstorages API

func (*NodeLocalStorage) DeepCopy

func (in *NodeLocalStorage) DeepCopy() *NodeLocalStorage

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeLocalStorage.

func (*NodeLocalStorage) DeepCopyInto

func (in *NodeLocalStorage) DeepCopyInto(out *NodeLocalStorage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeLocalStorage) DeepCopyObject

func (in *NodeLocalStorage) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NodeLocalStorageInitConfig

type NodeLocalStorageInitConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec NodeLocalStorageInitConfigSpec `json:"spec,omitempty"`
}

NodeLocalStorageInitConfig is configuration for agent to create NodeLocalStorage

func (*NodeLocalStorageInitConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeLocalStorageInitConfig.

func (*NodeLocalStorageInitConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeLocalStorageInitConfig) DeepCopyObject

func (in *NodeLocalStorageInitConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NodeLocalStorageInitConfigList

type NodeLocalStorageInitConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NodeLocalStorageInitConfig `json:"items"`
}

NodeLocalStorageList contains a list of NodeLocalStorageInitConfig

func (*NodeLocalStorageInitConfigList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeLocalStorageInitConfigList.

func (*NodeLocalStorageInitConfigList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeLocalStorageInitConfigList) DeepCopyObject

func (in *NodeLocalStorageInitConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NodeLocalStorageInitConfigSpec

type NodeLocalStorageInitConfigSpec struct {
	GlobalConfig GlobalConfig `json:"globalConfig,omitempty"`
	NodesConfig  []NodeConfig `json:"nodesConfig,omitempty"`
}

NodeLocalStorageInitConfigSpec is spec of NodeLocalStorageInitConfig

func (*NodeLocalStorageInitConfigSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeLocalStorageInitConfigSpec.

func (*NodeLocalStorageInitConfigSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeLocalStorageList

type NodeLocalStorageList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NodeLocalStorage `json:"items"`
}

NodeLocalStorageList contains a list of NodeLocalStorage

func (*NodeLocalStorageList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeLocalStorageList.

func (*NodeLocalStorageList) DeepCopyInto

func (in *NodeLocalStorageList) DeepCopyInto(out *NodeLocalStorageList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeLocalStorageList) DeepCopyObject

func (in *NodeLocalStorageList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NodeLocalStorageSpec

type NodeLocalStorageSpec struct {
	// NodeName is the kube node name
	// +kubebuilder:validation:MaxLength=128
	// +kubebuilder:validation:MinLength=1
	NodeName           string             `json:"nodeName,omitempty"`
	SpdkConfig         SpdkConfig         `json:"spdkConfig,omitempty"`
	ListConfig         ListConfig         `json:"listConfig,omitempty"`
	ResourceToBeInited ResourceToBeInited `json:"resourceToBeInited,omitempty"`
}

NodeLocalStorageSpec defines the desired state of NodeLocalStorage

func (*NodeLocalStorageSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeLocalStorageSpec.

func (*NodeLocalStorageSpec) DeepCopyInto

func (in *NodeLocalStorageSpec) DeepCopyInto(out *NodeLocalStorageSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeLocalStorageStatus

type NodeLocalStorageStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	NodeStorageInfo     NodeStorageInfo     `json:"nodeStorageInfo,omitempty"`
	FilteredStorageInfo FilteredStorageInfo `json:"filteredStorageInfo,omitempty"`
}

NodeLocalStorageStatus defines the observed state of NodeLocalStorage

func (*NodeLocalStorageStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeLocalStorageStatus.

func (*NodeLocalStorageStatus) DeepCopyInto

func (in *NodeLocalStorageStatus) DeepCopyInto(out *NodeLocalStorageStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeStorageInfo

type NodeStorageInfo struct {
	// DeviceInfos is the block device on node
	DeviceInfos []DeviceInfo `json:"deviceInfo,omitempty"`
	// VolumeGroups is LVM vgs
	VolumeGroups []VolumeGroup `json:"volumeGroups,omitempty"`
	// MountPoints is the list of mount points on node
	MountPoints []MountPoint `json:"mountPoints,omitempty"`
	// Phase is the current lifecycle phase of the node storage.
	// +optional
	Phase StoragePhase `json:"phase,omitempty"`
	// State is the last state of node local storage.
	// +optional
	State StorageState `json:"state,omitempty"`
}

NodeStorageInfo is info of the full storage resources of the node, which is updated by Filtered Agent

func (*NodeStorageInfo) DeepCopy

func (in *NodeStorageInfo) DeepCopy() *NodeStorageInfo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeStorageInfo.

func (*NodeStorageInfo) DeepCopyInto

func (in *NodeStorageInfo) DeepCopyInto(out *NodeStorageInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceToBeInited

type ResourceToBeInited struct {
	// VGs defines the user specified VGs,
	// which will be initialized by Filtered Agent
	// +kubebuilder:validation:MaxItems=50
	// +kubebuilder:validation:UniqueItems=false
	VGs []VGToBeInited `json:"vgs,omitempty"`
	// MountPoints defines the user specified mount points,
	// which will be initialized by Filtered Agent
	// +kubebuilder:validation:MaxItems=50
	// +kubebuilder:validation:UniqueItems=false
	MountPoints []MountPointToBeInited `json:"mountpoints,omitempty"`
}

func (*ResourceToBeInited) DeepCopy

func (in *ResourceToBeInited) DeepCopy() *ResourceToBeInited

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceToBeInited.

func (*ResourceToBeInited) DeepCopyInto

func (in *ResourceToBeInited) DeepCopyInto(out *ResourceToBeInited)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpdkConfig added in v0.6.0

type SpdkConfig struct {
	// DeviceType is the type of SPDK block devices
	// +kubebuilder:validation:MaxLength=8
	// +kubebuilder:validation:MinLength=0
	DeviceType string `json:"deviceType,omitempty"`
	// RpcSocket is the unix domain socket for SPDK RPC
	// +kubebuilder:validation:MaxLength=128
	// +kubebuilder:validation:MinLength=0
	RpcSocket string `json:"rpcSocket,omitempty"`
}

SpdkConfig defines SPDK configuration

func (*SpdkConfig) DeepCopy added in v0.6.0

func (in *SpdkConfig) DeepCopy() *SpdkConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpdkConfig.

func (*SpdkConfig) DeepCopyInto added in v0.6.0

func (in *SpdkConfig) DeepCopyInto(out *SpdkConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StorageConditionType

type StorageConditionType string
const (
	// NodeStorageReady means all disks are healthy and ready to service IO.
	StorageReady StorageConditionType = "DiskReady"
	// StorageFull means some disks (no disk fault)are full now
	// space on the node.
	StorageFull StorageConditionType = "DiskFull"

	// StorageFault means some disks are under disk failure
	StorageFault StorageConditionType = "DiskFault"
)

These are valid conditions of node. Currently, we don't have enough information to decide node condition. In the future, we will add more. The proposed set of conditions are: StorageReady, NodeReachable

type StoragePhase

type StoragePhase string
const (
	// NodeStoragePending means the node has been created/added by the system, but not configured.
	NodeStoragePending StoragePhase = "Pending"
	// NodeStorageRunning means the node has been configured and has Kubernetes components running.
	NodeStorageRunning StoragePhase = "Running"
	// NodeStorageTerminated means the node has been removed from the cluster.
	NodeStorageTerminated StoragePhase = "Terminated"
)

These are the valid phases of node.

type StorageState

type StorageState struct {
	Type   StorageConditionType `json:"type,omitempty"`
	Status ConditionStatus      `json:"status,omitempty"`
	// +optional
	LastHeartbeatTime *metav1.Time `json:"lastHeartbeatTime,omitempty"`
	// +optional
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty"`
	// +optional
	Reason string `json:"reason,omitempty"`
	// +optional
	Message string `json:"message,omitempty"`
}

StorageState stores the overall node disk state and detailed reason

func (*StorageState) DeepCopy

func (in *StorageState) DeepCopy() *StorageState

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageState.

func (*StorageState) DeepCopyInto

func (in *StorageState) DeepCopyInto(out *StorageState)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UpdateStatus

type UpdateStatus string
var (
	UpdateStatusPending  UpdateStatus = "pending"
	UpdateStatusAccepted UpdateStatus = "accepted"
	UpdateStatusFailed   UpdateStatus = "failed"
)

type UpdateStatusInfo

type UpdateStatusInfo struct {
	LastUpdateTime *metav1.Time `json:"lastUpdateTime,omitempty"`
	Status         UpdateStatus `json:"updateStatus,omitempty"`
	Reason         string       `json:"reason,omitempty"`
}

func (*UpdateStatusInfo) DeepCopy

func (in *UpdateStatusInfo) DeepCopy() *UpdateStatusInfo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpdateStatusInfo.

func (*UpdateStatusInfo) DeepCopyInto

func (in *UpdateStatusInfo) DeepCopyInto(out *UpdateStatusInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VGList

type VGList struct {
	// +kubebuilder:validation:MaxItems=50
	// +kubebuilder:validation:UniqueItems=false
	Include []string `json:"include,omitempty"`
	// +kubebuilder:validation:MaxItems=50
	// +kubebuilder:validation:UniqueItems=false
	Exclude []string `json:"exclude,omitempty"`
}

func (*VGList) DeepCopy

func (in *VGList) DeepCopy() *VGList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VGList.

func (*VGList) DeepCopyInto

func (in *VGList) DeepCopyInto(out *VGList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VGToBeInited

type VGToBeInited struct {
	// Name is the name of volume group
	// +kubebuilder:validation:MaxLength=128
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`
	// Device can be whole disk or disk partition
	// which will be initialized as Physical Volume
	// +kubebuilder:validation:MaxItems=50
	// +kubebuilder:validation:UniqueItems=false
	Devices []string `json:"devices"`
}

func (*VGToBeInited) DeepCopy

func (in *VGToBeInited) DeepCopy() *VGToBeInited

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VGToBeInited.

func (*VGToBeInited) DeepCopyInto

func (in *VGToBeInited) DeepCopyInto(out *VGToBeInited)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VolumeGroup

type VolumeGroup struct {
	// Name is the VG name
	Name string `json:"name"`
	// PhysicalVolumes are Unix block device nodes,
	PhysicalVolumes []string `json:"physicalVolumes"`
	// LogicalVolumes "Virtual/logical partition" that resides in a VG
	LogicalVolumes []LogicalVolume `json:"logicalVolumes,omitempty"`
	// Total is the VG size
	Total uint64 `json:"total"`
	// Available is the free size for VG
	Available uint64 `json:"available"`
	// Allocatable is the free size for Filtered
	Allocatable uint64 `json:"allocatable"`
	// Condition is the condition for Volume group
	Condition StorageConditionType `json:"condition,omitempty"`
}

VolumeGroup is an alias for LVM VG

func (*VolumeGroup) DeepCopy

func (in *VolumeGroup) DeepCopy() *VolumeGroup

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeGroup.

func (*VolumeGroup) DeepCopyInto

func (in *VolumeGroup) DeepCopyInto(out *VolumeGroup)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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