Documentation ¶
Index ¶
- Constants
- Variables
- func GetProjectIDWithScene(projectID, scene string) string
- type APIResponse
- type BcsAgentAttribute
- type BcsClusterAgentInfo
- type BcsClusterResource
- type BcsContainerStatus
- type BcsPodIndex
- type BcsPodStatus
- type BcsReplicaControllerStatus
- type CMakeArgs
- type Ccache
- type ClientStatusType
- type CommandType
- type ContainerPort
- type ContainerStatus
- type DistccClientInfo
- type DistccServerInfo
- type DistccServerSets
- type ExtraVars
- type FBAgentAttribute
- type FBClusterAgentInfo
- type FBClusterResource
- type FbSummaryInfo
- type HeartBeat
- type HeartBeatType
- type Image
- type MesosValueRanges
- type MesosValueScalar
- type MesosValueSet
- type MesosValueText
- type MesosValueType
- type ObjectMeta
- type PodStatus
- type ReplicaControllerStatus
- type ResourceItem
- type ResourceRequirements
- type ServerErrCode
- type ServerInfo
- type ServerStatusType
- type WorkerImage
Constants ¶
const ( ClientExtraKeyCompileResult string = "compileresult" ClientExtraKeyCmd string = "cmd" ClientExtraKeyRunDir string = "run_dir" ClientExtraKeyStartTime string = "start_time" ClientExtraKeyEndTime string = "end_time" )
const ( LabelKeyMode = "mode" LabelValueModeP2P = "p2p" LabelKeyP2PUserNumber = "p2p_user_number" LabelKeyP2PProcessStartTime = "p2p_process_start_time" LabelKeyP2PSpecifiedIP = "p2p_specified_ip" LabelKeySupportAbsPath = "support_abs_path" LabelKeyVersion = "version" LabelKeyUser = "user" )
for new feature
const (
ClientHeartBeatTickTime = 5 * time.Second
)
const (
ProjectIDBlockSep = "_"
)
Variables ¶
var AllServerStatusList = []ServerStatusType{ ServerStatusStaging, ServerStatusStarting, ServerStatusRunning, ServerStatusFailed, ServerStatusFinish, }
Functions ¶
func GetProjectIDWithScene ¶
GetProjectIDWithScene return the real projectID If scene is empty, just return projectID which is given else, return the string made up with both projectID and scene
Types ¶
type APIResponse ¶
type APIResponse struct { Code int `json:"code"` Message string `json:"message"` Data interface{} `json:"data"` }
APIResponse define the api response body data.
type BcsAgentAttribute ¶
type BcsAgentAttribute struct { Name string `json:"name,omitempty"` Type MesosValueType `json:"type,omitempty"` Scalar *MesosValueScalar `json:"scalar,omitempty"` Ranges []*MesosValueRanges `json:"ranges,omitempty"` Set *MesosValueSet `json:"set,omitempty"` Text *MesosValueText `json:"text,omitempty"` }
BcsAgentAttribute define the bcs single agent's attributes.
type BcsClusterAgentInfo ¶
type BcsClusterAgentInfo struct { HostName string `json:"hostname"` IP string `json:"ip"` DiskTotal float64 `json:"disktotal"` MemTotal float64 `json:"memtotal"` CPUTotal float64 `json:"cputotal"` DiskUsed float64 `json:"diskused"` MemUsed float64 `json:"memused"` CPUUsed float64 `json:"cpuused"` Disabled bool `json:"disabled"` HostAttributes []*BcsAgentAttribute `json:"host_attributes"` Attributes []*BcsAgentAttribute `json:"attributes"` RegisteredTime int64 `json:"registered_time"` ReRegisteredTime int64 `json:"reregistered_time"` }
BcsClusterAgentInfo describe the bcs single agent resource report status.
type BcsClusterResource ¶
type BcsClusterResource struct { DiskTotal float64 `json:"disktotal"` MemTotal float64 `json:"memtotal"` CPUTotal float64 `json:"cputotal"` DiskUsed float64 `json:"diskused"` MemUsed float64 `json:"memused"` CPUUsed float64 `json:"cpuused"` Agents []BcsClusterAgentInfo `json:"agents"` }
BcsClusterResource describe the bcs cluster resource report status.
type BcsContainerStatus ¶
type BcsContainerStatus struct { Name string `json:"name"` ContainerID string `json:"containerID"` RestartCount int32 `json:"restartCount, omitempty"` Status ContainerStatus `json:"status, omitempty"` LastStatus ContainerStatus `json:"lastStatus, omitempty"` TerminateExitCode int `json:"exitcode, omitempty"` Image string `json:"image"` Message string `json:"message, omitempty"` StartTime time.Time `json:"startTime,omitempty"` LastUpdateTime time.Time `json:"lastUpdateTime,omitempty"` FinishTime time.Time `json:"finishTime,omitempty"` Ports []ContainerPort `json:"containerPort,omitempty"` Command string `json:"command,omitempty"` Args []string `json:"args,omitempty"` Network string `json:"networkMode,omitempty"` Labels map[string]string `json:"labels,omitempty"` Resources ResourceRequirements `json:"resources,omitempty"` Env map[string]string `json:"env,omitempty"` }
BcsContainerStatus define container status
type BcsPodIndex ¶
type BcsPodIndex struct {
Name string `json:"name"`
}
BcsPodIndex describe the pod name data in application status.
type BcsPodStatus ¶
type BcsPodStatus struct { ObjectMeta `json:"metadata"` RcName string `json:"rcname, omitempty"` Status PodStatus `json:"status, omitempty"` LastStatus PodStatus `json:"lastStatus, omitempty"` HostIP string `json:"hostIP, omitempty"` HostName string `json:"hostName"` PodIP string `json:"podIP, omitempty"` Message string `json:"message, omitempty"` StartTime time.Time `json:"startTime, omitempty"` LastUpdateTime time.Time `json:"lastUpdateTime, omitempty"` ReportTime time.Time `json:"reportTime, omitempty"` ContainerStatuses []*BcsContainerStatus `json:"containerStatuses, omitempty"` BcsMessage string `json:"bcsMessage, omitempty"` }
BcsPodStatus define pod status
type BcsReplicaControllerStatus ¶
type BcsReplicaControllerStatus struct { ObjectMeta `json:"metadata"` CreateTime time.Time `json:"createTime"` LastUpdateTime time.Time `json:"lastUpdateTime,omitempty"` ReportTime time.Time `json:"reportTime,omitempty"` Status ReplicaControllerStatus `json:"status"` LastStatus ReplicaControllerStatus `json:"lastStatus,omitempty"` Message string `json:"message, omitempty"` Pods []*BcsPodIndex `json:"pods"` // Instance is the number of requested instance Instance int `json:"instance"` // BuildedInstance is the number of actual instance BuildedInstance int `json:"buildedInstance"` // RunningInstance is the number of running status instance RunningInstance int `json:"runningInstance"` }
BcsReplicaControllerStatus define ReplicaController status
type CMakeArgs ¶
type CMakeArgs struct {
Args string `json:"args"`
}
CMakeArgs describe the args of cmake command return from server
type Ccache ¶
type Ccache struct { CacheDir string `json:"cache_dir"` PrimaryConfig string `json:"primary_config"` SecondaryConfig string `json:"secondary_config"` DirectHit int `json:"cache_direct_hit"` PreprocessedHit int `json:"cache_preprocessed_hit"` CacheMiss int `json:"cache_miss"` CalledForLink int `json:"called_for_link"` CalledForPreProcessing int `json:"called_for_processing"` UnsupportedSourceLanguage int `json:"unsupported_source_language"` NoInputFile int `json:"no_input_file"` FilesInCache int `json:"files_in_cache"` CacheSize string `json:"cache_size"` MaxCacheSize string `json:"max_cache_size"` }
Ccache describe the ccache stats info
type ClientStatusType ¶
type ClientStatusType string
const ( ClientStatusSuccess ClientStatusType = "success" ClientStatusFailed ClientStatusType = "failed" )
type CommandType ¶
type CommandType string
const ( CommandMake CommandType = "make" CommandCmake CommandType = "cmake" CommandBazel CommandType = "bazel" CommandBlade CommandType = "blade" CommandNinja CommandType = "ninja" CommandFBuild CommandType = "FBuild.exe" )
type ContainerPort ¶
type ContainerPort struct { //each named port in a pod must have a unique name. Name string `json:"name"` HostPort int `json:"hostPort,omitempty"` ContainerPort int `json:"containerPort"` HostIP string `json:"hostIP,omitempty"` Protocol string `json:"protocol"` }
ContainerPort represents a network port in a single container
type ContainerStatus ¶
type ContainerStatus string
ContainerStatus define the bcs container status.
const ( ContainerStaging ContainerStatus = "Staging" ContainerStarting ContainerStatus = "Starting" ContainerRunning ContainerStatus = "Running" ContainerKilling ContainerStatus = "Killing" ContainerKilled ContainerStatus = "Killed" ContainerFinish ContainerStatus = "Finish" ContainerFailed ContainerStatus = "Failed" ContainerError ContainerStatus = "Error" )
There are the valid statuses of container
type DistccClientInfo ¶
type DistccClientInfo struct { TaskID string `json:"task_id"` Status ClientStatusType `json:"status"` //only StatusFailed & StatusFinish Ccache *Ccache `json:"ccache"` Message string `json:"message"` //if status=StatusFailed, them it is failed message Extra map[string]string `json:"envs"` // fb summary FbSummary FbSummaryInfo }
DistccClientInfo define distcc client information
type DistccServerInfo ¶
type DistccServerInfo struct { TaskID string `json:"task_id"` Hosts string `json:"hosts"` Cmds string `json:"cmds"` GccVersion string `json:"gcc_version"` Envs map[string]string `json:"envs"` UnsetEnvs []string `json:"unset_envs"` Status ServerStatusType `json:"status"` Message string `json:"message"` //if status=StatusFailed, them it is failed message QueueNumber int `json:"queue_number"` //current queue number of the task CCacheEnabled bool `json:"ccache_enabled"` //whether open ccache // compiler settings CCCompiler string `json:"cc_compiler"` CXXCompiler string `json:"cxx_compiler"` JobServer uint `json:"job_server"` DistccHosts string `json:"distcc_hosts"` }
distcc server info
type DistccServerSets ¶
type DistccServerSets struct { ProjectId string `json:"project_id"` BuildId string `json:"build_id"` ClientIp string `json:"client_ip"` User string `json:"user"` Message string `json:"message"` ClientCPU int `json:"client_cpu"` ClientVersion string `json:"client_version"` GccVersion string `json:"gcc_version"` City string `json:"city"` RunDir string `json:"run_dir"` Params string `json:"params"` //自定义参数 CCacheEnabled *bool `json:"ccache_enabled"` // command define the target to be called, such as make, bazel, /data/custom/make etc. Command string `json:"command,omitempty"` CommandType CommandType `json:"command_type,omitempty"` // extra_vars includes the extra params need by client ExtraVars ExtraVars `json:"extra_vars,omitempty"` }
DistccServerSets define apply for distcc server information
type ExtraVars ¶
type ExtraVars struct { // bazelrc define the bazelrc file path BazelRC string `json:"bazelrc"` MaxJobs int `json:"max_jobs,omitempty"` }
ExtraVars describe the extra settings in DistccServerSets
type FBAgentAttribute ¶
FBAgentAttribute describe the fastbuild single node labels
type FBClusterAgentInfo ¶
type FBClusterAgentInfo struct { HostName string `json:"hostname"` IP string `json:"ip"` DiskTotal float64 `json:"disktotal"` MemTotal float64 `json:"memtotal"` CPUTotal float64 `json:"cputotal"` DiskUsed float64 `json:"diskused"` MemUsed float64 `json:"memused"` CPUUsed float64 `json:"cpuused"` Disabled bool `json:"disabled"` Attributes []FBAgentAttribute `json:"attributes"` }
FBClusterAgentInfo describe the fastbuild single node resource
type FBClusterResource ¶
type FBClusterResource struct { DiskTotal float64 `json:"disktotal"` MemTotal float64 `json:"memtotal"` CPUTotal float64 `json:"cputotal"` DiskUsed float64 `json:"diskused"` MemUsed float64 `json:"memused"` CPUUsed float64 `json:"cpuused"` Agents []FBClusterAgentInfo `json:"agents"` }
FBClusterResource describe the fastbuild cluster resource
type FbSummaryInfo ¶
type FbSummaryInfo struct { LibraryBuilt int `json:"library_built"` LibraryCacheHit int `json:"library_cache_hit"` LibraryCPUTime float32 `json:"library_cpu_time"` ObjectBuilt int `json:"object_built"` ObjectCacheHit int `json:"object_cache_hit"` ObjectCPUTime float32 `json:"object_cpu_time"` ExeBuilt int `json:"exe_built"` ExeCacheHit int `json:"exe_cache_hit"` ExeCPUTime float32 `json:"exe_cpu_time"` CacheHits int `json:"cache_hits"` CacheMisses int `json:"cache_misses"` CacheStores int `json:"cache_stores"` RealCompileTime float32 `json:"real_compile_time"` LocalCompileTime float32 `json:"local_compile_time"` RemoteCompileTime float32 `json:"remote_compile_time"` }
FbSummaryInfo describe the summary information in fastbuild
type HeartBeat ¶
type HeartBeat struct { TaskID string `json:"task_id"` Type HeartBeatType `json:"type"` }
client & server heartbeat mechanism
type HeartBeatType ¶
type HeartBeatType string
const ( HeartBeatPing HeartBeatType = "ping" HeartBeatPong HeartBeatType = "pong" )
type Image ¶
type Image struct { Name string `json:"param_name"` Value string `json:"param_value"` ProjectWhitelist []string `json:"visual_range"` }
Image define a worker iamge on devops
type MesosValueRanges ¶
MesosValueRanges range value type.
type MesosValueScalar ¶
type MesosValueScalar struct {
Value float64 `json:"value"`
}
MesosValueScalar scalar value type.
type MesosValueSet ¶
type MesosValueSet struct {
Item []string `json:"item"`
}
MesosValueSet set value type.
type MesosValueText ¶
type MesosValueText struct {
Value string `json:"value"`
}
MesosValueText text value type.
type MesosValueType ¶
type MesosValueType int32
type ObjectMeta ¶
type ObjectMeta struct { Name string `json:"name"` NameSpace string `json:"namespace"` CreationTimestamp time.Time `json:"creationTimestamp,omitempty"` Labels map[string]string `json:"labels,omitempty"` Annotations map[string]string `json:"annotations,omitempty"` ClusterName string `json:"clusterName,omitempty"` }
ObjectMeta define the bcs resource meta data.
type ReplicaControllerStatus ¶
type ReplicaControllerStatus string
ReplicaControllerStatus define the bcs application status.
const ( RCStaging ReplicaControllerStatus = "Staging" RCDeploying ReplicaControllerStatus = "Deploying" RCRunning ReplicaControllerStatus = "Running" RCOperating ReplicaControllerStatus = "Operating" RCFinish ReplicaControllerStatus = "Finish" RCError ReplicaControllerStatus = "Error" )
type ResourceItem ¶
type ResourceItem struct { CPU string `json:"cpu,omitempty"` Mem string `json:"memory,omitempty"` Storage string `json:"storage,omitempty"` }
ResourceItem define the resource.
type ResourceRequirements ¶
type ResourceRequirements struct { Limits ResourceItem `json:"limits,omitempty"` Requests ResourceItem `json:"requests,omitempty"` }
ResourceRequirements describes the compute resource requirement
type ServerErrCode ¶
type ServerErrCode int
const ( ServerErrOK ServerErrCode = iota ServerErrInvalidParam ServerErrRequestResourceFailed ServerErrRequestTaskInfoFailed ServerErrUpdateHeartbeatFailed ServerErrReleaseResourceFailed ServerErrPreProcessFailed ServerErrRedirectFailed ServerErrEncodeJSONFailed ServerErrListTaskFailed ServerErrListProjectFailed ServerErrListWhiteListFailed ServerErrListGccFailed ServerErrUpdateProjectFailed ServerErrUpdateWhiteListFailed ServerErrUpdateGccFailed ServerErrDeleteProjectFailed ServerErrDeleteWhiteListFailed ServerErrDeleteGccFailed ServerErrOperatorNoSpecific ServerErrGetServersFailed ServerErrGetCMakeArgsFailed ServerErrServerInternalError ServerErrReportResourceError ServerErrListWorkerFailed ServerErrUpdateWorkerFailed ServerErrDeleteWorkerFailed ServerErrListWorkStatsFailed ServerErrListVersionFailed ServerErrSummaryFailed ServerErrSummaryByUserFailed )
func (ServerErrCode) String ¶
func (sec ServerErrCode) String() string
String return the string of ServerErrCode
type ServerInfo ¶
type ServerInfo struct { IP string `json:"ip"` Port uint `json:"port"` MetricPort uint `json:"metric_port"` ResourcePort uint `json:"resource_port"` HostName string `json:"hostname"` Scheme string `json:"scheme"` //http, https Version string `json:"version"` Cluster string `json:"cluster"` Pid int `json:"pid"` }
ServerInfo base server information
type ServerStatusType ¶
type ServerStatusType string
const ( ServerStatusStaging ServerStatusType = "staging" ServerStatusStarting ServerStatusType = "starting" ServerStatusRunning ServerStatusType = "running" ServerStatusFailed ServerStatusType = "failed" ServerStatusFinish ServerStatusType = "finish" )
type WorkerImage ¶
WorkerImage define a worker iamge on devops