Documentation
¶
Index ¶
- type CachePath
- type Dataloader
- type Engine
- type Fuse
- type Implement
- type Level
- type RuntimeInfo
- func (info *RuntimeInfo) GetCommonLabelName() string
- func (info *RuntimeInfo) GetDatasetNumLabelName() string
- func (info *RuntimeInfo) GetFuseCleanPolicy() datav1alpha1.FuseCleanPolicy
- func (info *RuntimeInfo) GetFuseDeployMode() (global bool, nodeSelector map[string]string)
- func (info *RuntimeInfo) GetFuseLabelName() string
- func (info *RuntimeInfo) GetLabelNameForDisk() string
- func (info *RuntimeInfo) GetLabelNameForMemory() string
- func (info *RuntimeInfo) GetLabelNameForTotal() string
- func (info *RuntimeInfo) GetName() string
- func (info *RuntimeInfo) GetNamespace() string
- func (info *RuntimeInfo) GetPersistentVolumeName() string
- func (info *RuntimeInfo) GetRuntimeLabelName() string
- func (info *RuntimeInfo) GetRuntimeType() string
- func (info *RuntimeInfo) GetTemplateToInjectForFuse(pvcName string, option common.FuseSidecarInjectOption) (template *common.FuseInjectionTemplate, err error)
- func (info *RuntimeInfo) GetTieredStoreInfo() TieredStoreInfo
- func (info *RuntimeInfo) IsDeprecatedNodeLabel() bool
- func (info *RuntimeInfo) IsDeprecatedPVName() bool
- func (info *RuntimeInfo) IsExclusive() bool
- func (info *RuntimeInfo) SetClient(client client.Client)
- func (info *RuntimeInfo) SetDeprecatedNodeLabel(deprecated bool)
- func (info *RuntimeInfo) SetDeprecatedPVName(deprecated bool)
- func (info *RuntimeInfo) SetupFuseCleanPolicy(policy datav1alpha1.FuseCleanPolicy)
- func (info *RuntimeInfo) SetupFuseDeployMode(global bool, nodeSelector map[string]string)
- func (info *RuntimeInfo) SetupWithDataset(dataset *datav1alpha1.Dataset)
- type RuntimeInfoInterface
- type RuntimeInterface
- type TemplateEngine
- func (t *TemplateEngine) CheckExistenceOfPath(targetDataload datav1alpha1.DataLoad) (notExist bool, err error)
- func (t *TemplateEngine) CheckRuntimeReady() (ready bool)
- func (t *TemplateEngine) CreateVolume() (err error)
- func (t *TemplateEngine) DeleteVolume() (err error)
- func (t *TemplateEngine) ID() string
- func (t *TemplateEngine) LoadData(ctx cruntime.ReconcileRequestContext, targetDataload datav1alpha1.DataLoad) (err error)
- func (b *TemplateEngine) Setup(ctx cruntime.ReconcileRequestContext) (ready bool, err error)
- func (t *TemplateEngine) Shutdown() error
- func (t *TemplateEngine) Sync(ctx cruntime.ReconcileRequestContext) (err error)
- type TieredStoreInfo
- type UnderFileSystemService
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Dataloader ¶ added in v0.6.0
type Dataloader interface {
// LoadData generate dataload values and install helm chart
LoadData(ctx cruntime.ReconcileRequestContext, targetDataload datav1alpha1.DataLoad) (err error)
// Check if runtime is ready
CheckRuntimeReady() (ready bool)
// Check existence of path
CheckExistenceOfPath(targetDataload datav1alpha1.DataLoad) (notExist bool, err error)
}
type Engine ¶
type Engine interface {
// ID returns the id
ID() string
// Shutdown and clean up the engine
Shutdown() error
// Setup the engine
Setup(ctx cruntime.ReconcileRequestContext) (ready bool, err error)
// Setup the Volume
CreateVolume() (err error)
// Destroy the Volume
DeleteVolume() (err error)
// Sync syncs the alluxio runtime
Sync(ctx cruntime.ReconcileRequestContext) error
// Dataloader
Dataloader
}
Engine interface defines the interfaces that should be implemented by a distributed data caching Engine. Thread safety is required from implementations of this interface.
type Fuse ¶ added in v0.5.0
type Fuse struct {
// fuse is deployed in global mode
Global bool
NodeSelector map[string]string
// CleanPolicy decides when to clean fuse pods.
CleanPolicy datav1alpha1.FuseCleanPolicy
}
type Implement ¶
type Implement interface {
UnderFileSystemService
// ShouldSetupMaster checks if the master ready
CheckMasterReady() (ready bool, err error)
// CheckWorkersReady checks if the workers ready
CheckWorkersReady() (ready bool, err error)
// ShouldSetupMaster checks if we need to setup the master
ShouldSetupMaster() (should bool, err error)
// ShouldSetupWorkers checks if we need to setup the workers
ShouldSetupWorkers() (should bool, err error)
// ShouldCheckUFS checks if we should check the ufs
ShouldCheckUFS() (should bool, err error)
// SetupMaster setup the cache master
SetupMaster() (err error)
// SetupWorkers setup the cache worker
SetupWorkers() (err error)
// UpdateDatasetStatus update the status of Dataset according to the given phase
UpdateDatasetStatus(phase datav1alpha1.DatasetPhase) (err error)
// PrepareUFS prepare the mounts and metadata if it's not ready
PrepareUFS() (err error)
// ShouldUpdateUFS check if we need to update the ufs and return all ufs to update
// If the ufs have changed and the engine supports add/remove mount points dynamically,
// then we need to UpdateOnUFSChange
ShouldUpdateUFS() (ufsToUpdate *utils.UFSToUpdate)
// UpdateOnUFSChange update the mount point of Dataset if ufs change
// if an engine doesn't support UpdateOnUFSChange, it need to return false
UpdateOnUFSChange(ufsToUpdate *utils.UFSToUpdate) (ready bool, err error)
// Shutdown and clean up the engine
Shutdown() error
// AssignNodesToCache picks up the nodes for replicas
AssignNodesToCache(desiredNum int32) (currentNum int32, err error)
// CheckRuntimeHealthy checks runtime healthy
CheckRuntimeHealthy() (err error)
// UpdateCacheOfDataset updates cache of the dataset
UpdateCacheOfDataset() (err error)
// CheckAndUpdateRuntimeStatus checks and updates the status
CheckAndUpdateRuntimeStatus() (ready bool, err error)
// CreateVolume create the pv and pvc for the Dataset
CreateVolume() error
// SyncReplicas syncs the replicas
SyncReplicas(ctx cruntime.ReconcileRequestContext) error
// SyncMetadata syncs all metadata from UFS
SyncMetadata() (err error)
// DeleteVolume Destroy the Volume
DeleteVolume() (err error)
// BindToDataset binds the engine to dataset
BindToDataset() (err error)
// CreateDataLoadJob creates the job to load data
CreateDataLoadJob(ctx cruntime.ReconcileRequestContext, targetDataload datav1alpha1.DataLoad) error
// checks if the runtime is ready
CheckRuntimeReady() (ready bool)
// SyncRuntime syncs the runtime spec
SyncRuntime(ctx cruntime.ReconcileRequestContext) (changed bool, err error)
// Check existence of targetDataload path
CheckExistenceOfPath(targetDataload datav1alpha1.DataLoad) (notExist bool, err error)
// Sync the scheduleInfo to cacheNodes
SyncScheduleInfoToCacheNodes() (err error)
}
Implement is what the real engine should implement if it use the TemplateEngine
type Level ¶ added in v0.5.0
type Level struct {
MediumType common.MediumType
VolumeType common.VolumeType
CachePaths []CachePath
High string
Low string
}
type RuntimeInfo ¶ added in v0.5.0
type RuntimeInfo struct {
// contains filtered or unexported fields
}
The real Runtime Info should implement
func (*RuntimeInfo) GetCommonLabelName ¶ added in v0.6.0
func (info *RuntimeInfo) GetCommonLabelName() string
func (*RuntimeInfo) GetDatasetNumLabelName ¶ added in v0.6.0
func (info *RuntimeInfo) GetDatasetNumLabelName() string
GetDatasetNumLabelname get the label to record how much datasets on a node
func (*RuntimeInfo) GetFuseCleanPolicy ¶ added in v0.7.0
func (info *RuntimeInfo) GetFuseCleanPolicy() datav1alpha1.FuseCleanPolicy
func (*RuntimeInfo) GetFuseDeployMode ¶ added in v0.5.0
func (info *RuntimeInfo) GetFuseDeployMode() (global bool, nodeSelector map[string]string)
GetFuseDeployMode gets the fuse deploy mode
func (*RuntimeInfo) GetFuseLabelName ¶ added in v0.7.0
func (info *RuntimeInfo) GetFuseLabelName() string
GetFuseLabelName gets the label indicating a fuse running on some node.
func (*RuntimeInfo) GetLabelNameForDisk ¶ added in v0.6.0
func (info *RuntimeInfo) GetLabelNameForDisk() string
func (*RuntimeInfo) GetLabelNameForMemory ¶ added in v0.6.0
func (info *RuntimeInfo) GetLabelNameForMemory() string
func (*RuntimeInfo) GetLabelNameForTotal ¶ added in v0.6.0
func (info *RuntimeInfo) GetLabelNameForTotal() string
func (*RuntimeInfo) GetName ¶ added in v0.5.0
func (info *RuntimeInfo) GetName() string
GetName gets name
func (*RuntimeInfo) GetNamespace ¶ added in v0.5.0
func (info *RuntimeInfo) GetNamespace() string
GetNamespace gets namespace
func (*RuntimeInfo) GetPersistentVolumeName ¶ added in v0.6.0
func (info *RuntimeInfo) GetPersistentVolumeName() string
func (*RuntimeInfo) GetRuntimeLabelName ¶ added in v0.6.0
func (info *RuntimeInfo) GetRuntimeLabelName() string
func (*RuntimeInfo) GetRuntimeType ¶ added in v0.5.0
func (info *RuntimeInfo) GetRuntimeType() string
GetRuntimeType gets runtime type
func (*RuntimeInfo) GetTemplateToInjectForFuse ¶ added in v0.7.0
func (info *RuntimeInfo) GetTemplateToInjectForFuse(pvcName string, option common.FuseSidecarInjectOption) (template *common.FuseInjectionTemplate, err error)
GetTemplateToInjectForFuse gets template for fuse injection
func (*RuntimeInfo) GetTieredStoreInfo ¶ added in v0.6.0
func (info *RuntimeInfo) GetTieredStoreInfo() TieredStoreInfo
func (*RuntimeInfo) IsDeprecatedNodeLabel ¶ added in v0.6.0
func (info *RuntimeInfo) IsDeprecatedNodeLabel() bool
IsDeprecatedNodeLabel checks if using deprecated node label
func (*RuntimeInfo) IsDeprecatedPVName ¶ added in v0.6.0
func (info *RuntimeInfo) IsDeprecatedPVName() bool
func (*RuntimeInfo) IsExclusive ¶ added in v0.5.0
func (info *RuntimeInfo) IsExclusive() bool
IsExclusive determines if the runtime is exlusive
func (*RuntimeInfo) SetClient ¶ added in v0.7.0
func (info *RuntimeInfo) SetClient(client client.Client)
func (*RuntimeInfo) SetDeprecatedNodeLabel ¶ added in v0.6.0
func (info *RuntimeInfo) SetDeprecatedNodeLabel(deprecated bool)
SetDeprecatedNodeLabel set the DeprecatedNodeLabel
func (*RuntimeInfo) SetDeprecatedPVName ¶ added in v0.6.0
func (info *RuntimeInfo) SetDeprecatedPVName(deprecated bool)
func (*RuntimeInfo) SetupFuseCleanPolicy ¶ added in v0.7.0
func (info *RuntimeInfo) SetupFuseCleanPolicy(policy datav1alpha1.FuseCleanPolicy)
func (*RuntimeInfo) SetupFuseDeployMode ¶ added in v0.5.0
func (info *RuntimeInfo) SetupFuseDeployMode(global bool, nodeSelector map[string]string)
SetupFuseDeployMode setups the fuse deploy mode
func (*RuntimeInfo) SetupWithDataset ¶ added in v0.5.0
func (info *RuntimeInfo) SetupWithDataset(dataset *datav1alpha1.Dataset)
SetupWithDataset determines if need to setup with the info of dataset
type RuntimeInfoInterface ¶ added in v0.5.0
type RuntimeInfoInterface interface {
GetTieredStoreInfo() TieredStoreInfo
GetName() string
GetNamespace() string
GetRuntimeType() string
GetLabelNameForMemory() string
GetLabelNameForDisk() string
GetLabelNameForTotal() string
GetCommonLabelName() string
GetFuseLabelName() string
GetRuntimeLabelName() string
GetDatasetNumLabelName() string
GetPersistentVolumeName() string
IsExclusive() bool
SetupFuseDeployMode(global bool, nodeSelector map[string]string)
SetupFuseCleanPolicy(policy datav1alpha1.FuseCleanPolicy)
SetupWithDataset(dataset *datav1alpha1.Dataset)
GetFuseDeployMode() (global bool, nodeSelector map[string]string)
GetFuseCleanPolicy() datav1alpha1.FuseCleanPolicy
SetDeprecatedNodeLabel(deprecated bool)
IsDeprecatedNodeLabel() bool
SetDeprecatedPVName(deprecated bool)
IsDeprecatedPVName() bool
GetTemplateToInjectForFuse(pvcName string, option common.FuseSidecarInjectOption) (*common.FuseInjectionTemplate, error)
SetClient(client client.Client)
}
Runtime Information interface defines the interfaces that should be implemented by Alluxio Runtime or other implementation . Thread safety is required from implementations of this interface.
func BuildRuntimeInfo ¶ added in v0.5.0
func BuildRuntimeInfo(name string, namespace string, runtimeType string, tieredstore datav1alpha1.TieredStore) (runtime RuntimeInfoInterface, err error)
func GetRuntimeInfo ¶ added in v0.6.0
func GetRuntimeInfo(client client.Client, name, namespace string) (runtimeInfo RuntimeInfoInterface, err error)
GetRuntimeInfo gets the RuntimeInfo according to name and namespace of it
type RuntimeInterface ¶ added in v0.7.0
type RuntimeInterface interface {
// Replicas gets the replicas of runtime worker
Replicas() int32
// GetStatus gets the status of runtime
GetStatus() *datav1alpha1.RuntimeStatus
client.Object
}
type TemplateEngine ¶
type TemplateEngine struct {
Implement
Id string
client.Client
Log logr.Logger
Context cruntime.ReconcileRequestContext
// contains filtered or unexported fields
}
func NewTemplateEngine ¶
func NewTemplateEngine(impl Implement, id string, context cruntime.ReconcileRequestContext) *TemplateEngine
NewTemplateEngine creates template engine
func (*TemplateEngine) CheckExistenceOfPath ¶ added in v0.6.0
func (t *TemplateEngine) CheckExistenceOfPath(targetDataload datav1alpha1.DataLoad) (notExist bool, err error)
func (*TemplateEngine) CheckRuntimeReady ¶ added in v0.6.0
func (t *TemplateEngine) CheckRuntimeReady() (ready bool)
func (*TemplateEngine) CreateVolume ¶
func (t *TemplateEngine) CreateVolume() (err error)
Setup the CSI
func (*TemplateEngine) DeleteVolume ¶
func (t *TemplateEngine) DeleteVolume() (err error)
Setup the CSI
func (*TemplateEngine) LoadData ¶ added in v0.6.0
func (t *TemplateEngine) LoadData(ctx cruntime.ReconcileRequestContext, targetDataload datav1alpha1.DataLoad) (err error)
func (*TemplateEngine) Setup ¶
func (b *TemplateEngine) Setup(ctx cruntime.ReconcileRequestContext) (ready bool, err error)
Setup the ddc engine
func (*TemplateEngine) Shutdown ¶
func (t *TemplateEngine) Shutdown() error
Shutdown and clean up the engine
func (*TemplateEngine) Sync ¶
func (t *TemplateEngine) Sync(ctx cruntime.ReconcileRequestContext) (err error)
SyncReplicas syncs the replicas
type TieredStoreInfo ¶ added in v0.6.0
type TieredStoreInfo struct {
Levels []Level
}
type UnderFileSystemService ¶
type UnderFileSystemService interface {
UsedStorageBytes() (int64, error)
FreeStorageBytes() (int64, error)
TotalStorageBytes() (int64, error)
TotalFileNums() (int64, error)
}
UnderFileSystemService interface defines the interfaces that should be implemented by a underlayer fileSystem service for the data. The implementation is the underlayer file system connector. It is responsible for checking ufs and preload the data. Thread safety is required from implementations of this interface.
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package base is a generated GoMock package.
|
Package base is a generated GoMock package. |