types

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Dec 17, 2020 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ClusterRequestStatusPending means that the request is in queue
	ClusterRequestStatusPending = "PENDING"
	// ClusterRequestStatusReady means that the request is met(get expected resources) but haven't run workloads
	ClusterRequestStatusReady = "READY"
	// ClusterRequestStatusRunning means that the request is running some workloads now
	ClusterRequestStatusRunning = "RUNNING"
	// ClusterRequestStatusDataCleanPending ...
	ClusterRequestStatusDataCleanPending = "CLEANING-PENDING"
	// ClusterRequestStatusDataCleaning ...
	ClusterRequestStatusDataCleaning = "CLEANING"
	// ClusterRequestStatusDataCleaningFail ...
	ClusterRequestStatusDataCleaningFail = "CLEANING-FAIL"
	// ClusterRequestStatusDone means that the request is finished and resources
	ClusterRequestStatusDone = "DONE"

	// ClusterTopoStatusReady ...
	ClusterTopoStatusReady = "READY"
	// ClusterTopoStatusOnline ...
	ClusterTopoStatusOnline = "ONLINE"

	// WorkloadStatusReady ...
	WorkloadStatusReady = "READY"
	// WorkloadStatusRunning ...
	WorkloadStatusRunning = "RUNNING"
	// WorkloadStatusDone ...
	WorkloadStatusDone = "DONE"
	// WorkloadStatusFail ...
	WorkloadStatusFail = "FAIL"
)
View Source
const (
	// ResourceStatusOffline ...
	ResourceStatusOffline = "OFFLINE"
	// ResourceStatusReady ...
	ResourceStatusReady = "READY"
	// ResourceStatusBinding ...
	ResourceStatusBinding = "BINDING"
	// ResourceRequestStatusIdle ...
	ResourceRequestStatusIdle = "IDLE"
	// ResourceRequestStatusPending ...
	ResourceRequestStatusPending = "PENDING"
	// ResourceRequestStatusReady ...
	ResourceRequestStatusReady = "READY"
	// ResourceRequestStatusDisable ...
	ResourceRequestStatusDisable = "DISABLE"
)
View Source
const (
	// WorkloadTypeStandard is default value
	WorkloadTypeStandard = "standard"
	// WorkloadTypePR compares with baseline
	WorkloadTypePR = "PR"
	// WorkloadTypeDataImporter runs as a importer
	WorkloadTypeDataImporter = "importer"
)

Variables

This section is empty.

Functions

func BuildClusterMap

func BuildClusterMap(resources []*Resource, rris []*ResourceRequestItem) (
	rriItemID2Resource map[uint]*Resource, component2Resources map[string][]*Resource,
)

BuildClusterMap receives resources and resource request items then builds two maps. rriItemID2Resource maps resource request item id to resource component2Resources maps component name to resources

Types

type Args

type Args []string

Args is used to encapsulate the docker container instance args

func (*Args) Scan

func (j *Args) Scan(value interface{}) error

Scan ...

func (Args) Value

func (j Args) Value() (driver.Value, error)

Value ...

type Artifacts

type Artifacts struct {
	gorm.Model
	CRID uint   `gorm:"column:cr_id" json:"cr_id"`
	UUID string `gorm:"column:uuid" json:"uuid"`
}

Artifacts ... 1. prometheus/grafana archive data 2. TiDB/TiKV/PD and workloads logs

type ClusterRequest

type ClusterRequest struct {
	gorm.Model
	Name        string `gorm:"column:name;type:varchar(255);not null" json:"name"`
	Config      string `gorm:"column:config;type:text" json:"config"`
	Version     string `gorm:"column:version;type:varchar(255);not null" json:"version"`
	PDVersion   string `gorm:"column:pd_version;type:varchar(255)" json:"pd_version"`
	TiDBVersion string `gorm:"column:tidb_version;type:varchar(255)" json:"tidb_version"`
	TiKVVersion string `gorm:"column:tikv_version;type:varchar(255)" json:"tikv_version"`
	RRID        uint   `gorm:"column:rr_id;not null" json:"rr_id"`
	Status      string `gorm:"column:status;type:varchar(255);not null" json:"status"`
}

ClusterRequest ...

func (*ClusterRequest) Baseline

func (cr *ClusterRequest) Baseline() *ClusterRequest

Baseline ...

type ClusterRequestTopology

type ClusterRequestTopology struct {
	gorm.Model
	Component  string `gorm:"column:component;type:varchar(255);not null" json:"component"`
	DeployPath string `gorm:"column:deploy_path;type:varchar(255);not null" json:"deploy_path"`
	CRID       uint   `gorm:"column:cr_id;not null" json:"cr_id"`
	RRIItemID  uint   `gorm:"column:rri_item_id;not null" json:"rri_item_id"`
	// READY
	// ONLINE
	Status string `gorm:"column:status;not null" json:"status"`
}

ClusterRequestTopology defines which component is installed on a Resource.

type Envs

type Envs map[string]string

Envs is map[string]string

func (*Envs) Clone

func (e *Envs) Clone() Envs

Clone ...

func (*Envs) Scan

func (e *Envs) Scan(value interface{}) error

Scan ...

func (Envs) Value

func (e Envs) Value() (driver.Value, error)

Value ...

type RequestIDList

type RequestIDList []uint

RequestIDList alias []uint

func (RequestIDList) Exist

func (r RequestIDList) Exist(id uint) bool

Exist ...

func (RequestIDList) IsEmpty

func (r RequestIDList) IsEmpty() bool

IsEmpty ...

func (RequestIDList) IsFirst

func (r RequestIDList) IsFirst(id uint) bool

IsFirst ...

type Resource

type Resource struct {
	gorm.Model
	IP           string `gorm:"column:ip;type:varchar(20);unique;not null" json:"ip"`
	Username     string `gorm:"column:username;type:varchar(50);not null" json:"username"`
	InstanceType string `gorm:"column:instance_type;type:varchar(100);not null" json:"instance_type"`
	Status       string `gorm:"column:status;type:varchar(255);not null" json:"status"`
	RRID         uint   `gorm:"column:rr_id" json:"rr_id"`
}

Resource means (physical- or vm-)machine

type ResourceRequest

type ResourceRequest struct {
	gorm.Model
	Name   string `gorm:"column:name;type:varchar(255);unique;not null"`
	Status string `gorm:"column:status;type:varchar(255);not null"`
	CRID   uint   `gorm:"column:cr_id"`
}

ResourceRequest ...

type ResourceRequestItem

type ResourceRequestItem struct {
	gorm.Model
	ItemID       uint   `gorm:"column:item_id;not null" json:"item_id"`
	InstanceType string `gorm:"column:instance_type;type:varchar(100);not null" json:"instance_type"`
	RRID         uint   `gorm:"column:rr_id;not null" json:"rr_id"`
	RID          uint   `gorm:"column:r_id" json:"r_id"`
	Static       bool   `gorm:"column:static" json:"static"`
	Components   string `gorm:"column:components" json:"components"` // Components records which *_servers are serving on this machine
}

ResourceRequestItem ...

type ResourceRequestItemWithIP

type ResourceRequestItemWithIP struct {
	gorm.Model
	ItemID       uint   `gorm:"column:item_id;not null" json:"item_id"`
	InstanceType string `gorm:"column:instance_type;type:varchar(100);not null" json:"instance_type"`
	RRID         uint   `gorm:"column:rr_id;not null" json:"rr_id"`
	RID          uint   `gorm:"column:r_id" json:"r_id"`
	Components   string `gorm:"column:components" json:"components"`
	IP           string `json:"ip"`
}

ResourceRequestItemWithIP aggregates ResourceRequestItem with the ip field

type ResourceRequestQueue

type ResourceRequestQueue struct {
	ResourceID         uint   `gorm:"column:r_id;unique;not null" json:"r_id"`
	PendingRequestList string `gorm:"column:pending_request_list;type:text" json:"pending_request_list"`
}

ResourceRequestQueue records the request queue of each resource

func (*ResourceRequestQueue) PendingRequestIDList

func (r *ResourceRequestQueue) PendingRequestIDList() (list RequestIDList)

PendingRequestIDList gets pending resource request id list

func (*ResourceRequestQueue) PopPendingRequestID

func (r *ResourceRequestQueue) PopPendingRequestID() uint

PopPendingRequestID ...

func (*ResourceRequestQueue) PushPendingRequestID

func (r *ResourceRequestQueue) PushPendingRequestID(id uint)

PushPendingRequestID ...

type WorkloadReport

type WorkloadReport struct {
	gorm.Model
	CRID      uint    `gorm:"column:cr_id;not null" json:"cr_id"`
	Data      string  `gorm:"column:result;type:longtext;not null" json:"data"`
	PlainText *string `gorm:"column:plaintext;type:longtext" json:"plaintext,omitempty"`
}

WorkloadReport means workload report

type WorkloadRequest

type WorkloadRequest struct {
	gorm.Model
	Type        string  `gorm:"column:type;type:varchar(255)" json:"type,omitempty"`
	RestorePath *string `gorm:"column:restore_path;type:varchar(1024)" json:"restore_path,omitempty"`
	BackupPath  *string `gorm:"column:backup_path;type:varchar(1024)" json:"backup_path,omitempty"`
	DockerImage string  `gorm:"column:docker_image;type:varchar(255);not null" json:"docker_image"`
	Cmd         *string `gorm:"column:cmd;type:varchar(255)" json:"cmd"`
	ArtifactDir *string `gorm:"column:artifact_dir;type:varchar(255)" json:"artifact_dir"`
	Args        Args    `gorm:"column:args;type:varchar(1024)" json:"args"`
	Envs        Envs    `gorm:"column:envs;type:text" json:"envs"`
	Status      string  `gorm:"column:status;not null" json:"status"`
	CRID        uint    `gorm:"column:cr_id;not null" json:"cr_id"`
	RRIItemID   uint    `gorm:"column:rri_item_id;not null" json:"rri_item_id"`
}

WorkloadRequest means workload requests

Jump to

Keyboard shortcuts

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