Documentation ¶
Index ¶
- Constants
- type AcquireArgs
- type AddManualMigrateArgs
- type BalanceTasksStat
- type Config
- type DiskDropTasksStat
- type DiskMigratingStats
- type DiskMigratingStatsArgs
- type DiskRepairTasksStat
- type IInspector
- type IManualMigrator
- type IMigrator
- type IScheduler
- type ISchedulerStatus
- type IVolumeUpdater
- type ManualMigrateTasksStat
- type MigrateTaskDetail
- type MigrateTaskDetailArgs
- type MigrateTasksStat
- type OperateTaskArgs
- type PerMinStats
- type RunnerStat
- type TaskRenewalArgs
- type TaskRenewalRet
- type TaskReportArgs
- type TasksStat
- type UpdateVolumeArgs
- type VolumeInspectTasksStat
Constants ¶
View Source
const ( PathStats = "/stats" PathStatsLeader = "/stats/leader" PathStatsDiskMigrating = "/stats/disk/migrating" PathTaskAcquire = "/task/acquire" PathTaskReclaim = "/task/reclaim" PathTaskCancel = "/task/cancel" PathTaskComplete = "/task/complete" PathTaskReport = "/task/report" PathTaskRenewal = "/task/renewal" PathInspectComplete = "/inspect/complete" PathInspectAcquire = "/inspect/acquire" PathManualMigrateTaskAdd = "/manual/migrate/task/add" PathTaskDetail = "/task/detail" PathTaskDetailURI = PathTaskDetail + "/:type/:id" // "/task/detail/:type/:id" PathUpdateVolume = "/update/vol" )
defined http server path.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AcquireArgs ¶
type AcquireArgs struct {
IDC string `json:"idc"`
}
type AddManualMigrateArgs ¶
type AddManualMigrateArgs struct { Vuid proto.Vuid `json:"vuid"` DirectDownload bool `json:"direct_download"` }
func (*AddManualMigrateArgs) Valid ¶
func (args *AddManualMigrateArgs) Valid() bool
type BalanceTasksStat ¶
type BalanceTasksStat struct { Enable bool `json:"enable"` MigrateTasksStat }
type Config ¶
type Config struct { HostRetry int `json:"host_retry"` HostSyncIntervalMs int64 `json:"host_sync_interval_ms"` rpc.Config }
Config scheduler config.
type DiskDropTasksStat ¶
type DiskMigratingStats ¶
type DiskMigratingStatsArgs ¶
type DiskRepairTasksStat ¶
type IInspector ¶
type IInspector interface { AcquireInspectTask(ctx context.Context) (ret *proto.VolumeInspectTask, err error) CompleteInspectTask(ctx context.Context, args *proto.VolumeInspectRet) (err error) }
IInspector volume inspect task.
type IManualMigrator ¶
type IManualMigrator interface {
AddManualMigrateTask(ctx context.Context, args *AddManualMigrateArgs) (err error)
}
IManualMigrator add manual migrate task.
type IMigrator ¶
type IMigrator interface { AcquireTask(ctx context.Context, args *AcquireArgs) (ret *proto.MigrateTask, err error) RenewalTask(ctx context.Context, args *TaskRenewalArgs) (ret *TaskRenewalRet, err error) ReportTask(ctx context.Context, args *TaskReportArgs) (err error) ReclaimTask(ctx context.Context, args *OperateTaskArgs) (err error) CancelTask(ctx context.Context, args *OperateTaskArgs) (err error) CompleteTask(ctx context.Context, args *OperateTaskArgs) (err error) }
IMigrator scheduler migrate task.
type IScheduler ¶
type IScheduler interface { IMigrator IInspector ISchedulerStatus IManualMigrator IVolumeUpdater }
IScheduler scheduler api interface.
func New ¶
func New(cfg *Config, service cmapi.APIService, clusterID proto.ClusterID) IScheduler
New returns scheduler client.
type ISchedulerStatus ¶
type ISchedulerStatus interface { DetailMigrateTask(ctx context.Context, args *MigrateTaskDetailArgs) (detail MigrateTaskDetail, err error) DiskMigratingStats(ctx context.Context, args *DiskMigratingStatsArgs) (ret *DiskMigratingStats, err error) Stats(ctx context.Context, host string) (ret TasksStat, err error) LeaderStats(ctx context.Context) (ret TasksStat, err error) }
ISchedulerStatus scheduler status.
type IVolumeUpdater ¶
type IVolumeUpdater interface {
UpdateVolume(ctx context.Context, host string, vid proto.Vid) (err error)
}
IVolumeUpdater volume updater.
func NewVolumeUpdater ¶
func NewVolumeUpdater(cfg *Config) IVolumeUpdater
NewVolumeUpdater returns volume updater client.
type ManualMigrateTasksStat ¶
type ManualMigrateTasksStat struct {
MigrateTasksStat
}
type MigrateTaskDetail ¶
type MigrateTaskDetail struct { Task proto.MigrateTask `json:"task"` Stat proto.TaskStatistics `json:"stat"` }
MigrateTaskDetail migrate task detail.
type MigrateTaskDetailArgs ¶
MigrateTaskDetailArgs migrate task detail args.
type MigrateTasksStat ¶
type MigrateTasksStat struct { PreparingCnt int `json:"preparing_cnt"` WorkerDoingCnt int `json:"worker_doing_cnt"` FinishingCnt int `json:"finishing_cnt"` StatsPerMin PerMinStats `json:"stats_per_min"` }
type OperateTaskArgs ¶
type OperateTaskArgs struct { IDC string `json:"idc"` TaskID string `json:"task_id"` TaskType proto.TaskType `json:"task_type"` Src []proto.VunitLocation `json:"src"` Dest proto.VunitLocation `json:"dest"` Reason string `json:"reason"` }
OperateTaskArgs for task action.
type PerMinStats ¶
type RunnerStat ¶
type RunnerStat struct { Enable bool `json:"enable"` SuccessPerMin string `json:"success_per_min"` FailedPerMin string `json:"failed_per_min"` TotalErrCnt uint64 `json:"total_err_cnt"` ErrStats []string `json:"err_stats"` }
RunnerStat shard repair and blob delete stat
type TaskRenewalArgs ¶
type TaskRenewalRet ¶
type TaskReportArgs ¶
type TasksStat ¶
type TasksStat struct { DiskRepair *DiskRepairTasksStat `json:"disk_repair,omitempty"` DiskDrop *DiskDropTasksStat `json:"disk_drop,omitempty"` Balance *BalanceTasksStat `json:"balance,omitempty"` ManualMigrate *ManualMigrateTasksStat `json:"manual_migrate,omitempty"` VolumeInspect *VolumeInspectTasksStat `json:"volume_inspect,omitempty"` ShardRepair *RunnerStat `json:"shard_repair"` BlobDelete *RunnerStat `json:"blob_delete"` }
type UpdateVolumeArgs ¶
UpdateVolumeArgs argument of volume to update.
type VolumeInspectTasksStat ¶
Click to show internal directories.
Click to hide internal directories.