pkg/common/constants.go (66 lines of code) (raw):

// Copyright (c) 2019 Uber Technologies, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package common import ( "time" ) const ( // MesosMasterScheduler service name MesosMasterScheduler = "mesos-master-scheduler" // MesosMasterOperator service name MesosMasterOperator = "mesos-master-operator" // MesosMasterOperatorEndPoint is the path for Mesos Master endpoint MesosMasterOperatorEndPoint = "/api/v1" // PelotonEndpointPath is the path for Peloton mux endpoint PelotonEndpointPath = "/api/v1" // PelotonRole name to connect with Mesos Master PelotonRole = "peloton" // PelotonPrincipal name to connect with Mesos Master PelotonPrincipal = "peloton" // PelotonJobManager application name PelotonJobManager = "peloton-jobmgr" // PelotonResourceManager application name PelotonResourceManager = "peloton-resmgr" // PelotonHostManager application name PelotonHostManager = "peloton-hostmgr" // PelotonV1HostManager application name PelotonV1HostManager = "peloton-v1-hostmgr" // PelotonPlacement application name PelotonPlacement = "peloton-placement" // PelotonCLI application name PelotonCLI = "peloton-cli" // PelotonAuroraBridge application name PelotonAuroraBridge = "peloton-aurorabridge" // PelotonAPIServer application name PelotonAPIServer = "peloton-apiserver" // Cqos advisor application name QoSAdvisorService = "qosadvisorservice" // PlacementRole is the leadership election role for placement engine PlacementRole = "placement" // HostManagerRole is the leadership election role for hostmgr HostManagerRole = "hostmanager" // JobManagerRole is the leadership election role for jobmgr JobManagerRole = "jobmanager" // ResourceManagerRole is the leadership election role for resmgr ResourceManagerRole = "resourcemanager" // PelotonAuroraBridgeRole is the leadership election for peloton-aurora bridge PelotonAuroraBridgeRole = "aurora/scheduler" // DefaultLeaderElectionRoot is the default leader election root path DefaultLeaderElectionRoot = "/peloton" // CPU resource type CPU = "cpu" // GPU resource type GPU = "gpu" // MEMORY resource type MEMORY = "memory" // DISK resource type DISK = "disk" // RootResPoolID is the ID for Root node RootResPoolID = "root" // DBStmtLogField is used by storage code to log DB statements // It is also used by SecretsFormatter to redact DB statements // related to secret_info table DBStmtLogField = "db_stmt" // DBUqlLogField is used by storage code to log DB statements // It is also used by SecretsFormatter to redact DB statements // related to secret_info table DBUqlLogField = "db_uql" // DBArgsLogField is used by storage code to log DB statements // It is also used by SecretsFormatter to redact DB statements // related to secret_info table DBArgsLogField = "db_args" // StaleJobStateDurationThreshold is the duration after which we recalculate // the job state for a job which has been in the same active state for this // time duration StaleJobStateDurationThreshold = 100 * time.Hour // MesosCPU resource kind MesosCPU = "cpus" // MesosMem resource kind MesosMem = "mem" // MesosDisk resource kind MesosDisk = "disk" // MesosGPU resource kind MesosGPU = "gpus" // MesosPorts resource kind MesosPorts = "ports" // V0Api identifier string to determine if a job config API version V0Api = "v0" // V1AlphaApi identifier string to determine if a job config API version V1AlphaApi = "v1alpha" // SystemLabelKeyTemplate is the system label key template SystemLabelKeyTemplate = "%s.%s" // SystemLabelPrefix is the system label key name prefix SystemLabelPrefix = "peloton" // SystemLabelResourcePool is the system label key name for resource pool SystemLabelResourcePool = "resource_pool" // SystemLabelJobName is the system label key name for job name SystemLabelJobName = "job_name" // SystemLabelJobOwner is the system label key name for job owner SystemLabelJobOwner = "job_owner" // SystemLabelJobType is the system label key name for job type SystemLabelJobType = "job_type" // SystemLabelCluster is the system label key name for cluster SystemLabelCluster = "cluster" // ClusterEnvVar is the cluster environment variable ClusterEnvVar = "CLUSTER" // PelotonExclusiveAttributeName is the name of Mesos agent attribute // that indicates to Peloton that the agent will be used exclusively // for certain workloads only. PelotonExclusiveAttributeName = "peloton/exclusive" // PelotonExclusiveNodeLabel is the label of exclusive node PelotonExclusiveNodeLabel = PelotonExclusiveAttributeName // PelotonAuroraBridgeExecutorIDPrefix is the prefix for the executor ID // for tasks launched through thermos executor PelotonAuroraBridgeExecutorIDPrefix = "thermos-" // HostNameKey is the special label key for hostname. HostNameKey = "hostname" // DefaultTaskConfigID is used for storing, and retrieving, the default // task configuration, when no specific is available. DefaultTaskConfigID = -1 // AppLogField is the log field key for app name AppLogField = "app" // TaskThrottleMessage indicates that the task is throttled due to repeated failures. TaskThrottleMessage = "Task throttled due to failure" // DefaultHostPoolID is the ID of default host pool. DefaultHostPoolID = "default" // HostPoolKey is the key of host pool constraint. HostPoolKey = "host_pool" // BatchReservedHostPoolID is reserved batch host pool for // non-preemptible tasks BatchReservedHostPoolID = "batch_reserved" // SharedHostPoolID is shared host pool between stateless and // batch (preemptible) jobs SharedHostPoolID = "shared" // StatelessHostPoolID is reserved for stateless services StatelessHostPoolID = "stateless" ) const ( // ReservedProtobufFieldPrefix represents the field prefixes in protobuf generated // code that is private to generated code, and should not be used by peloton. ReservedProtobufFieldPrefix = "XXX_" )