Fixed import alias prefix.
Changed the prefix to import aliases to be 'elek' instead of 'elec'.
This commit is contained in:
parent
b06bdeba59
commit
8e87bcb439
8 changed files with 115 additions and 115 deletions
|
@ -12,7 +12,7 @@ import (
|
|||
"github.com/mesos/mesos-go/api/v0/mesosutil"
|
||||
sched "github.com/mesos/mesos-go/api/v0/scheduler"
|
||||
"gitlab.com/spdf/elektron/def"
|
||||
elecLogDef "gitlab.com/spdf/elektron/logging/def"
|
||||
elekLogDef "gitlab.com/spdf/elektron/logging/def"
|
||||
"gitlab.com/spdf/elektron/utilities"
|
||||
"gitlab.com/spdf/elektron/utilities/schedUtils"
|
||||
)
|
||||
|
@ -51,7 +51,7 @@ type BaseScheduler struct {
|
|||
schedTrace *log.Logger
|
||||
|
||||
// Send the type of the message to be logged
|
||||
logMsgType chan elecLogDef.LogMessageType
|
||||
logMsgType chan elekLogDef.LogMessageType
|
||||
// Send the message to be logged
|
||||
logMsg chan string
|
||||
|
||||
|
@ -234,7 +234,7 @@ func (s *BaseScheduler) StatusUpdate(driver sched.SchedulerDriver, status *mesos
|
|||
}
|
||||
}
|
||||
|
||||
func (s *BaseScheduler) Log(lmt elecLogDef.LogMessageType, msg string) {
|
||||
func (s *BaseScheduler) Log(lmt elekLogDef.LogMessageType, msg string) {
|
||||
s.mutex.Lock()
|
||||
s.logMsgType <- lmt
|
||||
s.logMsg <- msg
|
||||
|
@ -242,8 +242,8 @@ func (s *BaseScheduler) Log(lmt elecLogDef.LogMessageType, msg string) {
|
|||
}
|
||||
|
||||
func (s *BaseScheduler) LogTaskStarting(ts *def.Task, offer *mesos.Offer) {
|
||||
lmt := elecLogDef.GENERAL
|
||||
msgColor := elecLogDef.LogMessageColors[lmt]
|
||||
lmt := elekLogDef.GENERAL
|
||||
msgColor := elekLogDef.LogMessageColors[lmt]
|
||||
var msg string
|
||||
if ts == nil {
|
||||
msg = msgColor.Sprintf("TASKS STARTING... host = [%s]", offer.GetHostname())
|
||||
|
@ -255,38 +255,38 @@ func (s *BaseScheduler) LogTaskStarting(ts *def.Task, offer *mesos.Offer) {
|
|||
}
|
||||
|
||||
func (s *BaseScheduler) LogTaskWattsConsideration(ts def.Task, host string, wattsToConsider float64) {
|
||||
lmt := elecLogDef.GENERAL
|
||||
msgColor := elecLogDef.LogMessageColors[lmt]
|
||||
lmt := elekLogDef.GENERAL
|
||||
msgColor := elekLogDef.LogMessageColors[lmt]
|
||||
msg := msgColor.Sprintf("Watts considered for task[%s] and host[%s] = %f Watts",
|
||||
ts.Name, host, wattsToConsider)
|
||||
s.Log(lmt, msg)
|
||||
}
|
||||
|
||||
func (s *BaseScheduler) LogOffersReceived(offers []*mesos.Offer) {
|
||||
lmt := elecLogDef.GENERAL
|
||||
msgColor := elecLogDef.LogMessageColors[lmt]
|
||||
lmt := elekLogDef.GENERAL
|
||||
msgColor := elekLogDef.LogMessageColors[lmt]
|
||||
msg := msgColor.Sprintf("Received %d resource offers", len(offers))
|
||||
s.Log(lmt, msg)
|
||||
}
|
||||
|
||||
func (s *BaseScheduler) LogNoPendingTasksDeclineOffers(offer *mesos.Offer) {
|
||||
lmt := elecLogDef.WARNING
|
||||
msgColor := elecLogDef.LogMessageColors[lmt]
|
||||
lmt := elekLogDef.WARNING
|
||||
msgColor := elekLogDef.LogMessageColors[lmt]
|
||||
msg := msgColor.Sprintf("DECLINING OFFER for host[%s]... "+
|
||||
"No tasks left to schedule", offer.GetHostname())
|
||||
s.Log(lmt, msg)
|
||||
}
|
||||
|
||||
func (s *BaseScheduler) LogNumberOfRunningTasks() {
|
||||
lmt := elecLogDef.GENERAL
|
||||
msgColor := elecLogDef.LogMessageColors[lmt]
|
||||
lmt := elekLogDef.GENERAL
|
||||
msgColor := elekLogDef.LogMessageColors[lmt]
|
||||
msg := msgColor.Sprintf("Number of tasks still Running = %d", s.tasksRunning)
|
||||
s.Log(lmt, msg)
|
||||
}
|
||||
|
||||
func (s *BaseScheduler) LogCoLocatedTasks(slaveID string) {
|
||||
lmt := elecLogDef.GENERAL
|
||||
msgColor := elecLogDef.LogMessageColors[lmt]
|
||||
lmt := elekLogDef.GENERAL
|
||||
msgColor := elekLogDef.LogMessageColors[lmt]
|
||||
buffer := bytes.Buffer{}
|
||||
buffer.WriteString(fmt.Sprintln("Colocated with:"))
|
||||
s.TasksRunningMutex.Lock()
|
||||
|
@ -300,20 +300,20 @@ func (s *BaseScheduler) LogCoLocatedTasks(slaveID string) {
|
|||
|
||||
func (s *BaseScheduler) LogSchedTrace(taskToSchedule *mesos.TaskInfo, offer *mesos.Offer) {
|
||||
msg := fmt.Sprint(offer.GetHostname() + ":" + taskToSchedule.GetTaskId().GetValue())
|
||||
s.Log(elecLogDef.SCHED_TRACE, msg)
|
||||
s.Log(elekLogDef.SCHED_TRACE, msg)
|
||||
}
|
||||
|
||||
func (s *BaseScheduler) LogTerminateScheduler() {
|
||||
lmt := elecLogDef.GENERAL
|
||||
msgColor := elecLogDef.LogMessageColors[lmt]
|
||||
lmt := elekLogDef.GENERAL
|
||||
msgColor := elekLogDef.LogMessageColors[lmt]
|
||||
msg := msgColor.Sprint("Done scheduling all tasks!")
|
||||
s.Log(lmt, msg)
|
||||
}
|
||||
|
||||
func (s *BaseScheduler) LogInsufficientResourcesDeclineOffer(offer *mesos.Offer,
|
||||
offerResources ...interface{}) {
|
||||
lmt := elecLogDef.WARNING
|
||||
msgColor := elecLogDef.LogMessageColors[lmt]
|
||||
lmt := elekLogDef.WARNING
|
||||
msgColor := elekLogDef.LogMessageColors[lmt]
|
||||
buffer := bytes.Buffer{}
|
||||
buffer.WriteString(fmt.Sprintln("DECLINING OFFER... Offer has insufficient resources to launch a task"))
|
||||
buffer.WriteString(fmt.Sprintf("Offer Resources <CPU: %f, RAM: %f, Watts: %f>", offerResources...))
|
||||
|
@ -322,91 +322,91 @@ func (s *BaseScheduler) LogInsufficientResourcesDeclineOffer(offer *mesos.Offer,
|
|||
}
|
||||
|
||||
func (s *BaseScheduler) LogOfferRescinded(offerID *mesos.OfferID) {
|
||||
lmt := elecLogDef.ERROR
|
||||
msgColor := elecLogDef.LogMessageColors[lmt]
|
||||
lmt := elekLogDef.ERROR
|
||||
msgColor := elekLogDef.LogMessageColors[lmt]
|
||||
msg := msgColor.Sprintf("OFFER RESCINDED: OfferID = %s", offerID)
|
||||
s.Log(lmt, msg)
|
||||
}
|
||||
|
||||
func (s *BaseScheduler) LogSlaveLost(slaveID *mesos.SlaveID) {
|
||||
lmt := elecLogDef.ERROR
|
||||
msgColor := elecLogDef.LogMessageColors[lmt]
|
||||
lmt := elekLogDef.ERROR
|
||||
msgColor := elekLogDef.LogMessageColors[lmt]
|
||||
msg := msgColor.Sprintf("SLAVE LOST: SlaveID = %s", slaveID)
|
||||
s.Log(lmt, msg)
|
||||
}
|
||||
|
||||
func (s *BaseScheduler) LogExecutorLost(executorID *mesos.ExecutorID, slaveID *mesos.SlaveID) {
|
||||
lmt := elecLogDef.ERROR
|
||||
msgColor := elecLogDef.LogMessageColors[lmt]
|
||||
lmt := elekLogDef.ERROR
|
||||
msgColor := elekLogDef.LogMessageColors[lmt]
|
||||
msg := msgColor.Sprintf("EXECUTOR LOST: ExecutorID = %s, SlaveID = %s", executorID, slaveID)
|
||||
s.Log(lmt, msg)
|
||||
}
|
||||
|
||||
func (s *BaseScheduler) LogFrameworkMessage(executorID *mesos.ExecutorID,
|
||||
slaveID *mesos.SlaveID, message string) {
|
||||
lmt := elecLogDef.GENERAL
|
||||
msgColor := elecLogDef.LogMessageColors[lmt]
|
||||
lmt := elekLogDef.GENERAL
|
||||
msgColor := elekLogDef.LogMessageColors[lmt]
|
||||
msg := msgColor.Sprintf("Received Framework message from executor [%s]: %s", executorID, message)
|
||||
s.Log(lmt, msg)
|
||||
}
|
||||
|
||||
func (s *BaseScheduler) LogMesosError(err string) {
|
||||
lmt := elecLogDef.ERROR
|
||||
msgColor := elecLogDef.LogMessageColors[lmt]
|
||||
lmt := elekLogDef.ERROR
|
||||
msgColor := elekLogDef.LogMessageColors[lmt]
|
||||
msg := msgColor.Sprintf("MESOS ERROR: %s", err)
|
||||
s.Log(lmt, msg)
|
||||
}
|
||||
|
||||
func (s *BaseScheduler) LogElectronError(err error) {
|
||||
lmt := elecLogDef.ERROR
|
||||
msgColor := elecLogDef.LogMessageColors[lmt]
|
||||
lmt := elekLogDef.ERROR
|
||||
msgColor := elekLogDef.LogMessageColors[lmt]
|
||||
msg := msgColor.Sprintf("ELECTRON ERROR: %v", err)
|
||||
s.Log(lmt, msg)
|
||||
}
|
||||
|
||||
func (s *BaseScheduler) LogFrameworkRegistered(frameworkID *mesos.FrameworkID,
|
||||
masterInfo *mesos.MasterInfo) {
|
||||
lmt := elecLogDef.SUCCESS
|
||||
msgColor := elecLogDef.LogMessageColors[lmt]
|
||||
lmt := elekLogDef.SUCCESS
|
||||
msgColor := elekLogDef.LogMessageColors[lmt]
|
||||
msg := msgColor.Sprintf("FRAMEWORK REGISTERED! frameworkID = %s, master = %s",
|
||||
frameworkID, masterInfo)
|
||||
s.Log(lmt, msg)
|
||||
}
|
||||
|
||||
func (s *BaseScheduler) LogFrameworkReregistered(masterInfo *mesos.MasterInfo) {
|
||||
lmt := elecLogDef.GENERAL
|
||||
msgColor := elecLogDef.LogMessageColors[lmt]
|
||||
lmt := elekLogDef.GENERAL
|
||||
msgColor := elekLogDef.LogMessageColors[lmt]
|
||||
msg := msgColor.Sprintf("Framework re-registered with master %s", masterInfo)
|
||||
s.Log(lmt, msg)
|
||||
}
|
||||
|
||||
func (s *BaseScheduler) LogDisconnected() {
|
||||
lmt := elecLogDef.WARNING
|
||||
msgColor := elecLogDef.LogMessageColors[lmt]
|
||||
lmt := elekLogDef.WARNING
|
||||
msgColor := elekLogDef.LogMessageColors[lmt]
|
||||
msg := msgColor.Sprint("Framework disconnected with master")
|
||||
s.Log(lmt, msg)
|
||||
}
|
||||
|
||||
func (s *BaseScheduler) LogTaskStatusUpdate(status *mesos.TaskStatus) {
|
||||
var lmt elecLogDef.LogMessageType
|
||||
var lmt elekLogDef.LogMessageType
|
||||
switch *status.State {
|
||||
case mesos.TaskState_TASK_ERROR, mesos.TaskState_TASK_FAILED,
|
||||
mesos.TaskState_TASK_KILLED, mesos.TaskState_TASK_LOST:
|
||||
lmt = elecLogDef.ERROR
|
||||
lmt = elekLogDef.ERROR
|
||||
case mesos.TaskState_TASK_FINISHED:
|
||||
lmt = elecLogDef.SUCCESS
|
||||
lmt = elekLogDef.SUCCESS
|
||||
default:
|
||||
lmt = elecLogDef.GENERAL
|
||||
lmt = elekLogDef.GENERAL
|
||||
}
|
||||
msgColor := elecLogDef.LogMessageColors[lmt]
|
||||
msg := elecLogDef.LogMessageColors[elecLogDef.GENERAL].Sprintf("Task Status received for task [%s] --> %s",
|
||||
msgColor := elekLogDef.LogMessageColors[lmt]
|
||||
msg := elekLogDef.LogMessageColors[elekLogDef.GENERAL].Sprintf("Task Status received for task [%s] --> %s",
|
||||
*status.TaskId.Value, msgColor.Sprint(NameFor(status.State)))
|
||||
s.Log(lmt, msg)
|
||||
}
|
||||
|
||||
func (s *BaseScheduler) LogSchedPolicySwitch(name string, nextPolicy SchedPolicyState) {
|
||||
logSPS := func() {
|
||||
s.Log(elecLogDef.SPS, name)
|
||||
s.Log(elekLogDef.SPS, name)
|
||||
}
|
||||
if s.hasReceivedResourceOffers && (s.curSchedPolicy != nextPolicy) {
|
||||
logSPS()
|
||||
|
@ -415,10 +415,10 @@ func (s *BaseScheduler) LogSchedPolicySwitch(name string, nextPolicy SchedPolicy
|
|||
}
|
||||
// Logging the size of the scheduling window and the scheduling policy
|
||||
// that is going to schedule the tasks in the scheduling window.
|
||||
s.Log(elecLogDef.SCHED_WINDOW, fmt.Sprintf("%d %s", s.schedWindowSize, name))
|
||||
s.Log(elekLogDef.SCHED_WINDOW, fmt.Sprintf("%d %s", s.schedWindowSize, name))
|
||||
}
|
||||
|
||||
func (s *BaseScheduler) LogClsfnAndTaskDistOverhead(overhead time.Duration) {
|
||||
// Logging the overhead in microseconds.
|
||||
s.Log(elecLogDef.CLSFN_TASKDIST_OVERHEAD, fmt.Sprintf("%f", float64(overhead.Nanoseconds())/1000.0))
|
||||
s.Log(elekLogDef.CLSFN_TASKDIST_OVERHEAD, fmt.Sprintf("%f", float64(overhead.Nanoseconds())/1000.0))
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ import (
|
|||
mesos "github.com/mesos/mesos-go/api/v0/mesosproto"
|
||||
sched "github.com/mesos/mesos-go/api/v0/scheduler"
|
||||
"gitlab.com/spdf/elektron/def"
|
||||
elecLogDef "gitlab.com/spdf/elektron/logging/def"
|
||||
elekLogDef "gitlab.com/spdf/elektron/logging/def"
|
||||
)
|
||||
|
||||
// Implements mesos scheduler.
|
||||
|
@ -21,7 +21,7 @@ type ElectronScheduler interface {
|
|||
// log message type, and the log message to the corresponding channels.
|
||||
|
||||
// Pass the logMessageType and the logMessage to the loggers for logging.
|
||||
Log(logMType elecLogDef.LogMessageType, logMsg string)
|
||||
Log(logMType elekLogDef.LogMessageType, logMsg string)
|
||||
// To be called when about to launch a task.
|
||||
// Log message indicating that a task is about to start executing.
|
||||
// Also, log the host on which the task is going to be launched.
|
||||
|
|
|
@ -6,7 +6,7 @@ import (
|
|||
"github.com/pkg/errors"
|
||||
"gitlab.com/spdf/elektron/constants"
|
||||
"gitlab.com/spdf/elektron/def"
|
||||
elecLogDef "gitlab.com/spdf/elektron/logging/def"
|
||||
elekLogDef "gitlab.com/spdf/elektron/logging/def"
|
||||
"gitlab.com/spdf/elektron/utilities"
|
||||
"gitlab.com/spdf/elektron/utilities/mesosUtils"
|
||||
)
|
||||
|
@ -14,10 +14,10 @@ import (
|
|||
func coLocated(tasks map[string]bool, s BaseScheduler) {
|
||||
|
||||
for task := range tasks {
|
||||
s.Log(elecLogDef.GENERAL, task)
|
||||
s.Log(elekLogDef.GENERAL, task)
|
||||
}
|
||||
|
||||
s.Log(elecLogDef.GENERAL, "---------------------")
|
||||
s.Log(elekLogDef.GENERAL, "---------------------")
|
||||
}
|
||||
|
||||
// Get the powerClass of the given hostname.
|
||||
|
@ -109,7 +109,7 @@ func WithPCPLog(pcpLog chan struct{}) schedulerOptions {
|
|||
}
|
||||
}
|
||||
|
||||
func WithLoggingChannels(lmt chan elecLogDef.LogMessageType, msg chan string) schedulerOptions {
|
||||
func WithLoggingChannels(lmt chan elekLogDef.LogMessageType, msg chan string) schedulerOptions {
|
||||
return func(s ElectronScheduler) error {
|
||||
s.(*BaseScheduler).logMsgType = lmt
|
||||
s.(*BaseScheduler).logMsg = msg
|
||||
|
@ -132,8 +132,8 @@ func WithSchedPolSwitchEnabled(enableSchedPolicySwitch bool, switchingCriteria s
|
|||
func WithNameOfFirstSchedPolToFix(nameOfFirstSchedPol string) schedulerOptions {
|
||||
return func(s ElectronScheduler) error {
|
||||
if nameOfFirstSchedPol == "" {
|
||||
lmt := elecLogDef.WARNING
|
||||
msgColor := elecLogDef.LogMessageColors[lmt]
|
||||
lmt := elekLogDef.WARNING
|
||||
msgColor := elekLogDef.LogMessageColors[lmt]
|
||||
msg := msgColor.Sprintf("First scheduling policy to deploy not mentioned. This is now going to be determined at runtime.")
|
||||
s.(*BaseScheduler).Log(lmt, msg)
|
||||
return nil
|
||||
|
@ -152,8 +152,8 @@ func WithFixedSchedulingWindow(toFixSchedWindow bool, fixedSchedWindowSize int)
|
|||
if fixedSchedWindowSize <= 0 {
|
||||
return errors.New("Invalid value of scheduling window size. Please provide a value > 0.")
|
||||
}
|
||||
lmt := elecLogDef.WARNING
|
||||
msgColor := elecLogDef.LogMessageColors[lmt]
|
||||
lmt := elekLogDef.WARNING
|
||||
msgColor := elekLogDef.LogMessageColors[lmt]
|
||||
msg := msgColor.Sprintf("Fixing the size of the scheduling window to %d...", fixedSchedWindowSize)
|
||||
s.(*BaseScheduler).Log(lmt, msg)
|
||||
s.(*BaseScheduler).toFixSchedWindow = toFixSchedWindow
|
||||
|
|
|
@ -8,7 +8,7 @@ import (
|
|||
mesos "github.com/mesos/mesos-go/api/v0/mesosproto"
|
||||
sched "github.com/mesos/mesos-go/api/v0/scheduler"
|
||||
"gitlab.com/spdf/elektron/def"
|
||||
elecLogDef "gitlab.com/spdf/elektron/logging/def"
|
||||
elekLogDef "gitlab.com/spdf/elektron/logging/def"
|
||||
)
|
||||
|
||||
type SchedPolicyContext interface {
|
||||
|
@ -71,7 +71,7 @@ func switchTaskDistBased(baseSchedRef *BaseScheduler) string {
|
|||
// Determine the distribution of tasks in the new scheduling window.
|
||||
taskDist, err := def.GetTaskDistributionInWindow(baseSchedRef.schedWindowSize, baseSchedRef.tasks)
|
||||
baseSchedRef.LogClsfnAndTaskDistOverhead(time.Now().Sub(startTime))
|
||||
baseSchedRef.Log(elecLogDef.GENERAL, fmt.Sprintf("Switching... TaskDistribution[%f]", taskDist))
|
||||
baseSchedRef.Log(elekLogDef.GENERAL, fmt.Sprintf("Switching... TaskDistribution[%f]", taskDist))
|
||||
if err != nil {
|
||||
// All the tasks in the window were only classified into 1 cluster.
|
||||
// Max-Min and Max-GreedyMins would work the same way as Bin-Packing for this situation.
|
||||
|
|
Reference in a new issue