Documentation
¶
Overview ¶
Package plugin is using for HuaWei Ascend pin affinity schedule.
Package plugin is using for HuaWei Ascend pin affinity schedule.
Package plugin is using for HuaWei Ascend pin affinity schedule frame.
Package plugin is using for HuaWei Ascend pin affinity schedule frame.
Package plugin is using for HuaWei Ascend pin affinity schedule frame.
Package plugin is using for HuaWei Ascend pin affinity schedule frame.
Package plugin is using for HuaWei Ascend pin affinity schedule.
Package plugin is using for HuaWei Ascend pin affinity schedule.
Index ¶
- Constants
- func GetJobInfoAllocatedTaskNum(jobInfo *api.JobInfo) int32
- func GetJobNPUTasks(vcJob *api.JobInfo) map[api.TaskID]util.NPUTask
- func GetPhysicCardNameFromVChip(realCardName string) string
- func GetVCJobReqNPUTypeFromJobInfo(vcJob *api.JobInfo) (string, int, error)
- type ClusterCache
- type CommonNode
- type ConfigParameters
- type DevFaultInfo
- type DynamicParameters
- type FaultHandler
- type JobScheduleInfoRecorder
- type NPUNode
- type NodeJobInfo
- type OwnerInfo
- type PendingReason
- type PolicyBuilder
- type ScheduleCache
- type ScheduleEnv
- type ScheduleHandler
- func (sHandle *ScheduleHandler) BatchNodeOrderFn(task *api.TaskInfo, nodes []*api.NodeInfo) (map[string]float64, error)
- func (sHandle *ScheduleHandler) BeforeCloseHandler()
- func (sHandle *ScheduleHandler) InitJobsFromSsn(ssn *framework.Session)
- func (sHandle *ScheduleHandler) InitNPUSession(ssn *framework.Session) error
- func (sHandle *ScheduleHandler) InitNodesFromSsn(ssn *framework.Session)
- func (sHandle *ScheduleHandler) InitTorNodeInfo(ssn *framework.Session)
- func (sHandle *ScheduleHandler) InitVolcanoFrameFromSsn(ssn *framework.Session)
- func (sHandle *ScheduleHandler) JobValid(obj interface{}) *api.ValidateResult
- func (sHandle ScheduleHandler) NPUAllocateFunc(task *api.TaskInfo)
- func (sHandle *ScheduleHandler) NPUDeallocateFunc(task *api.TaskInfo)
- func (sHandle *ScheduleHandler) NodePredicate(taskInfo *api.TaskInfo, nodeInfo *api.NodeInfo) error
- func (sHandle ScheduleHandler) SetJobPendReasonByNodesCase(job *api.JobInfo)
- func (sHandle *ScheduleHandler) SetJobPendingReason(vcJob *api.JobInfo, reason interface{}) error
- func (sHandle *ScheduleHandler) TaskOrderFn(InterfaceA interface{}, InterfaceB interface{}) int
- type SchedulerBaseAttr
- func (sp SchedulerBaseAttr) GetAnnoName() string
- func (sp SchedulerBaseAttr) GetAnnoPreVal() string
- func (sp SchedulerBaseAttr) GetPluginName() string
- func (sp *SchedulerBaseAttr) SetAnnoName(annoName string)
- func (sp *SchedulerBaseAttr) SetAnnoPreVal(value string)
- func (sp *SchedulerBaseAttr) SetPluginName(name string)
- type SchedulerJob
- type SchedulerPlugin
- type SchedulerPluginBase
- type SchedulerPluginNeed
- type Server
- type StaticParameters
- type SuperNode
- type SuperPodInfo
- type TaskDevInfo
- type TaskResetInfo
- type Tor
- type TorList
- func (tl *TorList) GetLogicTorsAndFullTorNum(jobUid api.JobID, taskColumn, taskRow, netSliceNum int) ([]*Tor, int)
- func (tl *TorList) GetNSLBVersion() string
- func (tl *TorList) GetServerMaps() map[string]*Server
- func (tl *TorList) GetSharedTorNum() int
- func (tl *TorList) GetTorIpMap() map[string]string
- func (tl *TorList) GetTorMaps() map[string]*Tor
- func (tl *TorList) MarkTorListByJobV1(nodes map[string]*api.NodeInfo, jobUid api.JobID, taskNum int)
- func (tl *TorList) MarkTorListByJobV2(nodes map[string]*api.NodeInfo, jobUid api.JobID)
- func (tl *TorList) RecoveryGlobalTor(tors []*Tor)
- func (tl *TorList) SetTorFreeServerCountAndGetFullTor(jobUid api.JobID) int
- type TorShare
- type UnscheduledReason
- type VChip
- type VNode
- type VolcanoFrame
Constants ¶
const ( // TorNodeCMName the Name of tor info configmap TorNodeCMName = "basic-tor-node-cm" TorShareCMName = "tor-share-cm" // TorInfoCMKey the key of tor info in configmap TorInfoCMKey = "tor_info" // TorLevelCMKey the key of tor level in configmap TorLevelCMKey = "tor_level" // SingleLayer the single layer switch value of tor level in configmap SingleLayer = "single_layer" // TorAffinityKey the key of tor affinity TorAffinityKey = "tor-affinity" // GlobalTorInfoKey the key of tor share info in configmap GlobalTorInfoKey = "global-tor-info" // NormalSchema the value of normal tor affinity NormalSchema = "normal-schema" // NSLB2Version nslb 2.0 version NSLB2Version = "2.0" // PodRankIndexKey rank index key PodRankIndexKey = "hccl/rankIndex" // ReplicaSetType replicaset type ReplicaSetType = "ReplicaSet" // PodGroupScheduleKey podgroup schedule the enable key PodGroupScheduleKey = "podgroup-sched-enable" // PodGroupScheduleValue podgroup schedule the enable value PodGroupScheduleValue = "true" )
const ( // ChipTypeB1 chip type 910B1 ChipTypeB1 = util.ChipKind + "B1" // ChipTypeB2C chip type 910B2C ChipTypeB2C = util.ChipKind + "B2C" // ChipTypeB2 chip type 910 B2 ChipTypeB2 = util.ChipKind + "B2" // ChipTypeB3 chip type 910B3 ChipTypeB3 = util.ChipKind + "B3" // ChipTypeB4 chip type 910B4 ChipTypeB4 = util.ChipKind + "B4" )
const ( // VNPUTempVir06 vir06_1c_16g VNPUTempVir06 = "vir06_1c_16g" // VNPUTempVir03 vir03_1c_8g VNPUTempVir03 = "vir03_1c_8g" // VNPUTempVir12 vir12_3c_32g VNPUTempVir12 = "vir12_3c_32g" )
the temp of 910B1/910B2C
const ( // VNPUTempVir05 vir05_1c_16g VNPUTempVir05 = "vir05_1c_16g" // VNPUTempVir10 vir10_3c_32g VNPUTempVir10 = "vir10_3c_32g" )
the temp of 910B3
const ( // VNPUB4TempVir05 vir05_1c_8g VNPUB4TempVir05 = "vir05_1c_8g" // VNPUB4TempVir10C3NM vir10_3c_16g_nm VNPUB4TempVir10C3NM = "vir10_3c_16g_nm" // VNPUB4TempVir10C4M vir10_4c_16g_m VNPUB4TempVir10C4M = "vir10_4c_16g_m" // VNPUB4TempVir10 vir10_3c_16g VNPUB4TempVir10 = "vir10_3c_16g" )
the temp of 910B4
const ( // GraceExitValue grace exit value GraceExitValue = 1 // DefaultExitValue default exit value DefaultExitValue = 0 )
const ( // DefaultGraceOverTime time interval for grace delete DefaultGraceOverTime = 900 // GraceOverTimeKey for GraceOverTime config by user GraceOverTimeKey = "grace-over-time" )
const ( // PluginName the HuaWei NPU 's plugin name. PluginName = "NPU" // FormatIncorrectError format incorrect error FormatIncorrectError = "format incorrect" // AscendVNPULevel vnpu level AscendVNPULevel = "vnpu-level" // AscendVNPULevelLow low AscendVNPULevelLow = "low" // AscendVNPULevelHigh high AscendVNPULevelHigh = "high" // AscendVNPUDVPP dvpp enable AscendVNPUDVPP = "vnpu-dvpp" // AscendDVPPEnabledOff off AscendDVPPEnabledOff = "no" // AscendDVPPEnabledNull null AscendDVPPEnabledNull = "null" // AscendDVPPEnabledOn on AscendDVPPEnabledOn = "yes" // AscendNDVPPValue value AscendNDVPPValue = "ndvpp" // AscendDVPPValue value AscendDVPPValue = "dvpp" // VNPUTempVir01 vir01 VNPUTempVir01 = "vir01" // VNPUTempVir02 vir02 VNPUTempVir02 = "vir02" // VNPUTempVir02C1 vir02_1c VNPUTempVir02C1 = "vir02_1c" // VNPUTempVir04 vir04 VNPUTempVir04 = "vir04" // VNPUTempVir04C3 vir04_3c VNPUTempVir04C3 = "vir04_3c" // VNPUTempVir04C3NDVPP vir04_3c_ndvpp VNPUTempVir04C3NDVPP = "vir04_3c_ndvpp" // VNPUTempVir04C4cDVPP vir04_4c_dvpp VNPUTempVir04C4cDVPP = "vir04_4c_dvpp" // VNPUTempVir08 vir08 only 910 VNPUTempVir08 = "vir08" // VNPUTempVir16 vir16 only 910 VNPUTempVir16 = "vir16" // ResetInfoCMNamePrefix for reset configmap name prefix ResetInfoCMNamePrefix = "reset-config-" // ResetInfoCMDataKey for reset configmap data key ResetInfoCMDataKey = "reset.json" // ResetInfoTypeKey for reset configmap type key ResetInfoTypeKey = "restartType" // PodRescheduleRestartType for hot reset restart type PodRescheduleRestartType = "podReschedule" )
Variables ¶
This section is empty.
Functions ¶
func GetJobInfoAllocatedTaskNum ¶
GetJobInfoAllocatedTaskNum get job allocated task num
func GetJobNPUTasks ¶
GetJobNPUTasks get NPUTask from jobInfo.
func GetPhysicCardNameFromVChip ¶
GetPhysicCardNameFromVChip get cardName from whole Ascend310P-0/Ascend310P-1c-400-3_0
Types ¶
type ClusterCache ¶
type ClusterCache struct { Jobs map[api.JobID]SchedulerJob Nodes map[string]NPUNode Tors *TorList SuperPodInfo *SuperPodInfo }
ClusterCache cluster env cache some cluster date needed when job scheduling, if add other cluster data, should add in this struct
type CommonNode ¶
type CommonNode struct { Name string Capability map[v1.ResourceName]float64 Allocate map[v1.ResourceName]float64 Idle map[v1.ResourceName]float64 Tasks map[api.TaskID]*api.TaskInfo BaseDeviceInfo string // node annotation and device info + switch info + node info Annotation map[string]string Label map[string]string Address string SuperPodID int32 // contains filtered or unexported fields }
CommonNode common npu node properties
type ConfigParameters ¶
type ConfigParameters struct { StaticParameters DynamicParameters }
ConfigParameters some volcano scheduler parameters
type DevFaultInfo ¶
type DevFaultInfo struct { LogicId int32 Status string Policy string InitialPolicy string ErrorCode []int64 ErrorCodeHex string }
DevFaultInfo is the fault info of device
type DynamicParameters ¶
type DynamicParameters struct { PresetVirtualDevice bool GraceDeleteTime int64 SuperPodSize int ReservePodSize int }
DynamicParameters volcano scheduler dynamic parameters
type FaultHandler ¶
type FaultHandler interface { Execute(*ScheduleEnv, *framework.Session) error CheckNodeNPUByTask(*api.TaskInfo, *NPUNode) error ScoreBestNPUNodes(*api.TaskInfo, map[string]float64) UseAnnotation(*api.TaskInfo) PreStopAction(*ScheduleEnv) error }
FaultHandler fault handler for job
type JobScheduleInfoRecorder ¶
type JobScheduleInfoRecorder struct { // PodScheduleFlag key is job uid, value is job schedule type, true is pod scheduling, false is job scheduling PodScheduleFlag map[api.JobID]bool // ResetCMSetFlag flag to record rescheduling job has been set reset cm ResetCMSetFlag map[api.JobID]struct{} // PendingMessage record different job pending reason and unschedulable nodes PendingMessage map[api.JobID]PendingReason // ServerListRecordFlag flag to record tor affinity job has been record server list to logs ServerListRecordFlag map[api.JobID]struct{} }
JobScheduleInfoRecorder some info need recorded in job scheduling
func NewJobScheduleInfoRecorder ¶
func NewJobScheduleInfoRecorder() JobScheduleInfoRecorder
NewJobScheduleInfoRecorder new default JobScheduleInfoRecorder
type NPUNode ¶
type NPUNode struct { CommonNode VNode }
NPUNode the plugin define node info.
func (NPUNode) GetChipKindFromNpuNode ¶
GetChipKindFromNpuNode input huawei-Ascend910 return Ascend910/Ascend310p/Ascend310
type NodeJobInfo ¶
NodeJobInfo node job info
type OwnerInfo ¶
type OwnerInfo struct { v1.OwnerReference Annotations map[string]string Replicas *int32 }
OwnerInfo the owner info of job
type PendingReason ¶
PendingReason pod pending reason type. key is pending reason, value is node name
type PolicyBuilder ¶
type PolicyBuilder = func() SchedulerPluginNeed
PolicyBuilder PolicyBuilder plugin management
type ScheduleCache ¶
type ScheduleCache struct { // special, name, value Names, Namespaces map[string]string Data map[string]map[string]string }
ScheduleCache the plugin defined caches saving cm data
type ScheduleEnv ¶
type ScheduleEnv struct { JobScheduleInfoRecorder ClusterCache FrameAttr VolcanoFrame OutputCache ScheduleCache }
ScheduleEnv for job scheduler context.
type ScheduleHandler ¶
type ScheduleHandler struct { NPUPlugins sets.String PolicyBuilder PolicyBuilder FaultHandle FaultHandler ScheduleEnv }
ScheduleHandler information for the current plugin
func (*ScheduleHandler) BatchNodeOrderFn ¶
func (sHandle *ScheduleHandler) BatchNodeOrderFn(task *api.TaskInfo, nodes []*api.NodeInfo) (map[string]float64, error)
BatchNodeOrderFn Score the selected nodes.
func (*ScheduleHandler) BeforeCloseHandler ¶
func (sHandle *ScheduleHandler) BeforeCloseHandler()
BeforeCloseHandler do the action before ssn close.
func (*ScheduleHandler) InitJobsFromSsn ¶
func (sHandle *ScheduleHandler) InitJobsFromSsn(ssn *framework.Session)
InitJobsFromSsn init all jobs in ssn.
func (*ScheduleHandler) InitNPUSession ¶
func (sHandle *ScheduleHandler) InitNPUSession(ssn *framework.Session) error
InitNPUSession init npu plugin and nodes.
func (*ScheduleHandler) InitNodesFromSsn ¶
func (sHandle *ScheduleHandler) InitNodesFromSsn(ssn *framework.Session)
InitNodesFromSsn init all nodes in ssn.
func (*ScheduleHandler) InitTorNodeInfo ¶
func (sHandle *ScheduleHandler) InitTorNodeInfo(ssn *framework.Session)
InitTorNodeInfo initializes Tor node information if the basic Tor node configmap exists
func (*ScheduleHandler) InitVolcanoFrameFromSsn ¶
func (sHandle *ScheduleHandler) InitVolcanoFrameFromSsn(ssn *framework.Session)
InitVolcanoFrameFromSsn init frame parameter from ssn.
func (*ScheduleHandler) JobValid ¶
func (sHandle *ScheduleHandler) JobValid(obj interface{}) *api.ValidateResult
JobValid the job valid, used by volcano frame.
func (ScheduleHandler) NPUAllocateFunc ¶
func (sHandle ScheduleHandler) NPUAllocateFunc(task *api.TaskInfo)
NPUAllocateFunc Allocate npu and called by volcano frame.
func (*ScheduleHandler) NPUDeallocateFunc ¶
func (sHandle *ScheduleHandler) NPUDeallocateFunc(task *api.TaskInfo)
NPUDeallocateFunc Free assigned npu, if allocate failed by volcano frame.
func (*ScheduleHandler) NodePredicate ¶
NodePredicate Predicate nodes.
func (ScheduleHandler) SetJobPendReasonByNodesCase ¶
func (sHandle ScheduleHandler) SetJobPendReasonByNodesCase(job *api.JobInfo)
SetJobPendReasonByNodesCase In nodes select case, set node failed and add failed reason.
func (*ScheduleHandler) SetJobPendingReason ¶
func (sHandle *ScheduleHandler) SetJobPendingReason(vcJob *api.JobInfo, reason interface{}) error
SetJobPendingReason set the pod and podGroup pending reason.
func (*ScheduleHandler) TaskOrderFn ¶
func (sHandle *ScheduleHandler) TaskOrderFn(InterfaceA interface{}, InterfaceB interface{}) int
TaskOrderFn Sort the selected tasks.
type SchedulerBaseAttr ¶
type SchedulerBaseAttr struct {
// contains filtered or unexported fields
}
SchedulerBaseAttr for all volcano-npu plugin.
func (SchedulerBaseAttr) GetAnnoName ¶
func (sp SchedulerBaseAttr) GetAnnoName() string
GetAnnoName get AnnoName.
func (SchedulerBaseAttr) GetAnnoPreVal ¶
func (sp SchedulerBaseAttr) GetAnnoPreVal() string
GetAnnoPreVal get AnnoPreVal.
func (SchedulerBaseAttr) GetPluginName ¶
func (sp SchedulerBaseAttr) GetPluginName() string
GetPluginName get PluginName.
func (*SchedulerBaseAttr) SetAnnoName ¶
func (sp *SchedulerBaseAttr) SetAnnoName(annoName string)
SetAnnoName set AnnoName.
func (*SchedulerBaseAttr) SetAnnoPreVal ¶
func (sp *SchedulerBaseAttr) SetAnnoPreVal(value string)
SetAnnoPreVal set AnnoPreVal.
func (*SchedulerBaseAttr) SetPluginName ¶
func (sp *SchedulerBaseAttr) SetPluginName(name string)
SetPluginName set PluginName.
type SchedulerJob ¶
type SchedulerJob struct { util.SchedulerJobAttr UnscheduledReason JobReadyTag *bool SuperPods map[string][]SuperNode Owner OwnerInfo // contains filtered or unexported fields }
SchedulerJob the plugin define job info
func (*SchedulerJob) UpdateJobPendingMessage ¶
func (sJob *SchedulerJob) UpdateJobPendingMessage(message, nodeName string)
UpdateJobPendingMessage update job pending message
type SchedulerPlugin ¶
type SchedulerPlugin interface { SchedulerPluginBase SchedulerPluginNeed }
SchedulerPlugin for volcano-npu plugin has function.
type SchedulerPluginBase ¶
type SchedulerPluginBase interface { GetPluginName() string SetPluginName(string) GetAnnoPreVal() string SetAnnoPreVal(string) GetAnnoName() string SetAnnoName(string) }
SchedulerPluginBase the frame plugin need implement.
type SchedulerPluginNeed ¶
type SchedulerPluginNeed interface { // ValidNPUJob Valid the job part of npu scheduler policy, if not, disallowed. ValidNPUJob() *api.ValidateResult CheckNodeNPUByTask(*api.TaskInfo, NPUNode) error ScoreBestNPUNodes(*api.TaskInfo, []*api.NodeInfo, map[string]float64) error UseAnnotation(*api.TaskInfo, NPUNode) *NPUNode ReleaseAnnotation(*api.TaskInfo, NPUNode) *NPUNode PreStartAction(ssn *framework.Session) error InitMyJobPlugin(util.SchedulerJobAttr, ScheduleEnv) error }
SchedulerPluginNeed The interface that the specific plug-in needs to implement.
type Server ¶
type Server struct { IsUsedByMulJob bool `json:"-"` NodeRank string `json:"-"` IP string `json:"server_ip"` Count int `json:"npu_count"` SliceId int `json:"slice_id"` Jobs sets.String CurrentJob *api.JobID Name string }
Server server info
type StaticParameters ¶
type StaticParameters struct { OnceInit *sync.Once UseClusterD bool SelfMaintainAvailCard bool NslbVersion string IsFirstSession *bool // scheduler first session message is unreliable ForceEnqueue bool }
StaticParameters volcano scheduler static parameters
type SuperNode ¶
SuperNode node with SuperPodID
type SuperPodInfo ¶
type SuperPodInfo struct { SuperPodReschdInfo map[api.JobID]map[string][]SuperNode // cache super pod re-schd info SuperPodFaultTaskNodes map[api.JobID][]string // cache fault task nodes info SuperPodMapFaultTaskNodes map[api.JobID]map[string]string // cache task and nodes for stage2 }
SuperPodInfo cache super pod info for pod rescheduling
func NewSuperPodInfo ¶
func NewSuperPodInfo() *SuperPodInfo
NewSuperPodInfo new empty super pod info
type TaskDevInfo ¶
type TaskDevInfo struct { RankId int DevFaultInfo }
TaskDevInfo is the device info of a task
type TaskResetInfo ¶
type TaskResetInfo struct { RankList []*TaskDevInfo UpdateTime int64 RetryTime int FaultFlushing bool GracefulExit int RestartFaultProcess bool }
TaskResetInfo record task reset device information
type Tor ¶
type Tor struct { FreeServerCount int IsHealthy int Id int `json:"tor_id"` IP string `json:"tor_ip"` Servers []*Server `json:"server"` Jobs map[api.JobID]SchedulerJob }
Tor tor info include server
func (*Tor) HasAcrossJob ¶
HasAcrossJob whether has across job
type TorList ¶
type TorList struct { TorLevel string `json:"-"` Version string `json:"version"` TorCount int `json:"tor_count"` Tors []*Tor `json:"server_list"` // contains filtered or unexported fields }
TorList tor info about nodes
func (*TorList) GetLogicTorsAndFullTorNum ¶
func (tl *TorList) GetLogicTorsAndFullTorNum(jobUid api.JobID, taskColumn, taskRow, netSliceNum int) ([]*Tor, int)
GetLogicTorsAndFullTorNum get logic tor list by global tor list
func (*TorList) GetNSLBVersion ¶
GetNSLBVersion get nslb version
func (*TorList) GetServerMaps ¶
GetServerMaps return server maps
func (*TorList) GetSharedTorNum ¶
GetSharedTorNum get shared tor num
func (*TorList) GetTorIpMap ¶
GetTorIpMap return tor ip map
func (*TorList) GetTorMaps ¶
GetTorMaps return tor maps
func (*TorList) MarkTorListByJobV1 ¶
func (tl *TorList) MarkTorListByJobV1(nodes map[string]*api.NodeInfo, jobUid api.JobID, taskNum int)
MarkTorListByJobV1 mark the global tor list by node list a job can be scheduled
func (*TorList) MarkTorListByJobV2 ¶
MarkTorListByJobV2 mark the global tor list by node list a job can be scheduled
func (*TorList) RecoveryGlobalTor ¶
RecoveryGlobalTor recovery global tor in cache
type UnscheduledReason ¶
type UnscheduledReason struct { Reason PendingReason *sync.Mutex }
UnscheduledReason the message of pod pending
type VChip ¶
type VChip struct { PodMap map[string]*v1.Pod ID []string // Name Ascend910-0 Name string // Kind Ascend910/Ascend310/Ascend310P Kind string IsDual bool Unstable bool CoreNum int SegmentFlag bool TotalRes util.VResource UsedRes util.VResource FreeRes util.VResource }
VChip vnpu chip class
type VNode ¶
type VNode struct { // Chips map chipID to VChip class Chips map[int]*VChip // ChipKind Ascend910/310/310p ChipKind string // UnhealthyChipIds the card unhealthy chip ids in this node UnhealthyChipIds map[int]struct{} // ServerType Ascend310p-10-dual cardType-cardCoreNum-duo ServerType string // TotalChipNum num of total chips, get from capacity TotalChipNum int // AiCorePerChip num of aicore on each chip AiCorePerChip int // FreeChipNum num of free chips get from device-info FreeChipNum int // TotalRes total resource on node TotalRes util.VResource // ValidVNode node init success ValidVNode bool // Chip type 910B1/910B2C/910B3/910B4 ChipType string }
VNode vnpu node class
func (VNode) GetNodeTopForWholeCard ¶
GetNodeTopForWholeCard get node top for whole card
func (*VNode) IsResourceWholeCard ¶
IsResourceWholeCard judge if resource is whole card by node total resource
func (*VNode) NewVChip ¶
NewVChip create new vChip
type VolcanoFrame ¶
type VolcanoFrame struct { UID types.UID KubeClient kubernetes.Interface VJobTemplate map[string]map[string]util.VResource ConfigParameters // contains filtered or unexported fields }
VolcanoFrame passed in by the volcano frame.
Source Files
¶
- const.go
- device_info.go
- factory.go
- job.go
- node.go
- plugin.go
- task.go
- tor.go
- type.go
- vnode.go