Documentation ¶
Index ¶
- Variables
- type ConditionStatus
- type Option
- type PoolSpec
- type Selector
- type SelectorRequirement
- type Storage
- type StorageID
- type StorageList
- type StorageSpec
- type StorageStatus
- type Volume
- func (v *Volume) Driver() string
- func (v *Volume) FileSystem() []string
- func (v *Volume) Label(label string) string
- func (v *Volume) MountOption() []string
- func (v *Volume) Option(name string) string
- func (v *Volume) Path() string
- func (v *Volume) SetLabel(label, value string)
- func (v *Volume) SetOption(name, value string)
- func (v *Volume) SetPath(p string)
- func (v *Volume) SetStorageUID(uid string)
- func (v *Volume) Size() string
- func (v *Volume) StorageID() StorageID
- func (v *Volume) VolumeID() VolumeID
- type VolumeCondition
- type VolumeConditionType
- type VolumeConfig
- type VolumeID
- type VolumeList
- type VolumePhase
- type VolumeSpec
- type VolumeStatus
Constants ¶
This section is empty.
Variables ¶
var (
// APIVersion defined control server api version.
APIVersion = "/api/v1"
)
Functions ¶
This section is empty.
Types ¶
type ConditionStatus ¶
type ConditionStatus string
ConditionStatus string enum.
const ( // ConditionTrue NodeConditionType is true. ConditionTrue ConditionStatus = "True" // ConditionFalse NodeConditionType is false. ConditionFalse ConditionStatus = "False" // ConditionUnknown NodeConditionType is Unknown. ConditionUnknown ConditionStatus = "Unknown" )
type PoolSpec ¶
type PoolSpec struct { WriteBps int64 `json:"iowbps"` // storage write bytes per second ReadBps int64 `json:"iorbps"` // storage read bytes per second ReadIOps int64 `json:"ioriops"` // storage read io count per second WriteIOps int64 `json:"iowiops"` // storage write io count per second IOps int64 `json:"ioiops"` // storage total io count per second Capacity int64 `json:"capacity"` // storage capacity like: MB/GB/TB/PB Available int64 `json:"available"` // storage available like: MB/GB/TB/PB MaxVolumes int64 `json:"maxvolume"` // max disks in this storage cluster NicSendBps int64 `json:"networkSendBps"` // nic card send bytes per second NicRecvBps int64 `json:"networkRecvBps"` // nic card recv bytes per second }
PoolSpec represents storage pool spec.
type Selector ¶
type Selector []SelectorRequirement
Selector defines SelectorRequirement slice type.
func (*Selector) AsRequirement ¶
func (n *Selector) AsRequirement() []labels.Requirement
AsRequirement returns requirement.
func (*Selector) AsSelector ¶
AsSelector returns selector.
type SelectorRequirement ¶
type SelectorRequirement struct { // The label key that the selector applies to. Key string `json:"key"` // Represents a key's relationship to a set of values. // Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. Operator selection.Operator `json:"operator"` // An array of string values. If the operator is In or NotIn, // the values array must be non-empty. If the operator is Exists or DoesNotExist, // the values array must be empty. If the operator is Gt or Lt, the values // array must have a single element. Values []string `json:"values,omitempty"` }
SelectorRequirement is a selector that contains values, a key, and an operator that relates the key and values.
type Storage ¶
type Storage struct { meta.ObjectMeta `json:",inline"` Spec *StorageSpec `json:"spec,omitempty"` Status *StorageStatus `json:"status,omitempty"` }
Storage represents storage struct.
func (*Storage) SetAddress ¶
SetAddress set storage operate address.
type StorageList ¶
type StorageList struct { meta.ListMeta `json:",inline,omitempty"` Items []Storage `json:"items,omitempty"` }
StorageList represents storage list type.
type StorageSpec ¶
type StorageSpec struct { Type string `json:"type"` // storage type ID string `json:"id,omitempty"` // storage uid or unique name Name string `json:"name,omitempty"` // storage cluster name Key string `json:"key,omitempty"` // storage access key API string `json:"api"` // gateway address Address string `json:"address"` // for ceph it's monitor ip:port,ip:port, pangu2's river master PoolSpec map[string]PoolSpec `json:"poolspec"` // storage pool spec }
StorageSpec represents storage spec.
type StorageStatus ¶
type StorageStatus struct { Schedulable bool `json:"schedulable,omitempty"` LastUpdateTime *time.Time `json:"lastUpdateTime,omitempty"` HealthyStatus string `json:"message"` }
StorageStatus represents storage status.
type Volume ¶
type Volume struct { meta.ObjectMeta `json:",inline"` Spec *VolumeSpec `json:"Spec,omitempty"` Status *VolumeStatus `json:"Status,omitempty"` }
Volume defined volume struct.
func (*Volume) FileSystem ¶
FileSystem returns volume's file system.
func (*Volume) MountOption ¶
MountOption returns volume's mount options.
func (*Volume) SetStorageUID ¶
SetStorageUID save storage uid into volume.
type VolumeCondition ¶
type VolumeCondition struct { Type VolumeConditionType `json:"type"` Status ConditionStatus `json:"status"` LastProbeTime *time.Time `json:"lastProbeTime,omitempty"` LastTransitionTime *time.Time `json:"lastTransitionTime,omitempty"` Reason string `json:"reason,omitempty"` Message string `json:"message,omitempty"` Retry int `json:"retry,omitempty"` }
VolumeCondition represents volume condition struct.
type VolumeConditionType ¶
type VolumeConditionType string
VolumeConditionType defines volume condition type.
const ( // VolumeScheduledrepresents status of the scheduling process for this Volume. VolumeScheduled VolumeConditionType = "Scheduled" // VolumeInitialized means that all init containers in the Volume have started successfully. VolumeInitialized VolumeConditionType = "Initialized" // VolumeStopped means that all init containers in the Volume have stopped successfully. VolumeStopped VolumeConditionType = "Stopped" // VolumeStarted means that all init containers in the Volume have started successfully. VolumeStarted VolumeConditionType = "Started" // VolumeRestarted means that all init containers in the Volume have restarted successfully VolumeRestarted VolumeConditionType = "Restarted" // VolumeUpdated means that all init containers in the Volume have updated successfully VolumeUpdated VolumeConditionType = "Updated" // VolumeDeleted means that all init containers in the Volume have deleted successfully VolumeDeleted VolumeConditionType = "Deleted" )
These are valid conditions of pod.
type VolumeConfig ¶
type VolumeConfig struct { Size string `json:"size"` FileSystem string `json:"filesystem"` MountOpt string `json:"mountopt"` WriteBPS int64 `json:"wbps"` ReadBPS int64 `json:"rbps"` WriteIOPS int64 `json:"wiops"` ReadIOPS int64 `json:"riops"` TotalIOPS int64 `json:"iops"` }
VolumeConfig represents volume config.
type VolumeID ¶
type VolumeID struct { Name string Driver string Options map[string]string Labels map[string]string Selectors map[string]string }
VolumeID use to define the volume's identity.
func NewVolumeID ¶
NewVolumeID returns VolumeID instance.
type VolumeList ¶
type VolumeList struct { meta.ListMeta `json:",inline,omitempty"` Items []Volume `json:"Items,omitempty"` }
VolumeList represents volume list.
type VolumePhase ¶
type VolumePhase string
VolumePhase defines volume phase's status.
var ( // VolumePhasePending represents volume pending status. VolumePhasePending VolumePhase = "Pending" // VolumePhaseReady represents volume ready status. VolumePhaseReady VolumePhase = "Ready" // VolumePhaseUnknown represents volume unknow status. VolumePhaseUnknown VolumePhase = "Unknow" // VolumePhaseFailed represents volume failed status. VolumePhaseFailed VolumePhase = "Failed" )
type VolumeSpec ¶
type VolumeSpec struct { ClusterID string `json:"clusterid"` Selector Selector `json:"selector"` Operable bool `json:"operable"` Backend string `json:"backend,omitempty"` *VolumeConfig `json:"config,inline"` Extra map[string]string `json:"extra"` }
VolumeSpec represents volume spec.
type VolumeStatus ¶
type VolumeStatus struct { Phase VolumePhase `json:"phase"` StartTimestamp *time.Time `json:"startTimestamp"` LastUpdateTimestamp *time.Time `json:"lastUpdateTime"` Conditions []VolumeCondition `json:"Conditions,omitempty"` HostIP string `json:"hostip,omitempty"` MountPoint string `json:"mountpath,omitempty"` Reason string `json:"reason"` Message string `json:"message"` }
VolumeStatus represent volume status.