From ddcdf6a7989ba44ea43e5728c640e8523c04ed38 Mon Sep 17 00:00:00 2001 From: "Dr. Stefan Schimanski" Date: Wed, 4 Nov 2015 12:17:49 +0100 Subject: [PATCH] Remove Offers() dependency from ErrorHandler by moving out BreakChan factory --- contrib/mesos/docs/scheduler.monopic | Bin 10792 -> 10490 bytes .../components/errorhandler/errorhandler.go | 23 ++----- .../pkg/scheduler/components/scheduler.go | 20 +++++- contrib/mesos/pkg/scheduler/doc.go | 64 +++++++++--------- 4 files changed, 55 insertions(+), 52 deletions(-) diff --git a/contrib/mesos/docs/scheduler.monopic b/contrib/mesos/docs/scheduler.monopic index 253b74c07848e0b48f2b8ebab28db4b41af1858a..0601d5d1d203518e83e051155e27282c30b0fcf2 100644 GIT binary patch literal 10490 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 literal 10792 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 NodeName│ -// │ ││ │◀──│ │ │ │──▶│ │ │ │ -// │ ┌─────┐││ ┌─────┐ │ │ ┌─────┐ │ │ ┌─────┐ │ │ ┌─────┐ │ │┌─────┐ │ -// └───────────────┤sched├┘└────┤sched├─────┘ └──────┤sched├───▲──┘ └───┤sched├───┘ └────┤sched├──────┘ └┤sched├────────────────────┘ -// ├-│││-┴──────┴--││-┴────────────────┴--│--┴───┼──────────┴--│--┴────────────┴-│││-┴──────────┴-│││-┴─────┐ ┌──────────────────────┐ -// │ │││ ││ │ │ │ │││ │││ │ │ │ -// │ ││└───────────▼┼─────────────────────▼──────┼─────────────▼─────────────────▼┼┼──────────────┘││ │ │ A ──────────▶ B │ -// │ │└─────────────┼────────────────────────────┼─────────────┼──────────────────▼┼───────────────┘│ │ │ │ -// │ │ │ │ │ │└──────────┐ │ │ │ A has a reference │ -// │ │ │ │ │ │ │ │ │ │ on B and calls B │ -// │ │ │ ╲ │ │ │ ╱ │ │ │ ┌─▼─────▼──────┐│ │ │ -// │ │ │ ╲ └┐ │ ┌┘ ╱ │ │ │ │PodScheduler()││ └──────────────────────┘ -// │ │ │ ╲ │ │ │ ╱ │ │ │ └─┼─────┬──────┘│ -// │ │ │ ╲ └┐ │ ┌┘ ╱ │ │ │ ┌─┼─────▼───────┴────────────────┐ -// │┌▼────────────┐┌▼──────────┐┌─▼─▼─▼─▼─▼─┐┌───┴────────┐┌───▼───┐ ┌────▼───┐ │ │ podScheduler │ -// ││LaunchTask(t)││KillTask(t)││sync.Mutex ││reconcile(t)││Tasks()│ │Offers()│ │ │ (e.g. fcfsPodScheduler) │ -// │└──────┬──────┘└─────┬─────┘└───────────┘└────────▲───┘└───┬───┘ └────┬───┘ │ │ │ -// │ │ │ │ │ │ │ │scheduleOne(pod, offers ...) │ -// │ │ └──────────────────┐ │ ┌───▼────────────┐ │ │ │ ┌──────────────────────────┤ -// │ └──────────────────────────────┐ │ │ │podtask.Registry│ │ │ │ │ allocationStrategy │ -// │ │ │ │ └────────────────┘ │ │ └───┼────▶ - FitPredicate │ -// │ │ │ │ │ │ │ - Procurement │ -// │Scheduler │ └──────┐ │ │ └─────┴─────────┬────────────────┘ -// └──────────────────────────────────────┼────────┼─┬│----┬──────────────────────┼─────────────────────────┘ -// ┌──────────────────────────────────────┼────────┼─┤sched├──────────────────────┼─────────────────────────┐ -// │Framework │ │ └─────┘ ┌────▼───┐ │ -// │ ┌──────▼──────┐┌▼──────────┐ │Offers()│ │ -// │ │LaunchTask(t)││KillTask(t)│ └────┬───┘ │ +// ││ │ │ ┌────────────────────┼─────────────────┐ +// ┌───────────────────┼┼──────────────────────────────────────┐ │ ┌───────────────────┼────┼───────────┐ │ │ +// ┌───────────▼──────────┐┌───────┴┴───────┐ ┌───────────────────┐ ┌──┴─┴─┴──────┐ ┌────────┴────┴───┐ ┌────▼────────▼─────────────┐ │ +// │Binder (task launcher)││Deleter │ │PodReconciler │ │SchedulerLoop│ │ ErrorHandler │ │SchedulerAlgorithm │ │ +// │- Bind(binding) ││- DeleteOne(pod)│ │- Reconcile(pod) │ │- Run() │ │- Error(pod, err)│ │- Schedule(pod) -> NodeName│ │ +// │ ││ │◀──│ │ │ │──▶│ │ │ │ │ +// │ ┌─────┐││ ┌─────┐ │ │ ┌─────┐ │ │ ┌─────┐ │ │ ┌─────┐ │ │┌─────┐ │ │ +// └───────────────┤sched├┘└────┤sched├─────┘ └──────┤sched├───▲──┘ └───┤sched├───┘ └────┤sched├──────┘ └┤sched├──────────────┬─────┘ │ +// ├-│││-┴──────┴--││-┴────────────────┴--│--┴───┼──────────┴--│--┴────────────┴-│---┴──────────┴-│││-┤ ┌────────────▼─────────▼─────────┐ +// │ │││ ││ │ │ │ │ │││ │ │ podScheduler │ +// │ ││└───────────▼┼─────────────────────▼──────┼─────────────▼─────────────────▼────────────────┘││ │ │ (e.g. fcfsPodScheduler) │ +// │ │└─────────────┼────────────────────────────┼─────────────┼──────────────────▼────────────────┘│ │ │ │ +// │ │ │ │ │ │ │ │ │ scheduleOne(pod, offers ...) │ +// │ │ │ │ │ │ │ │ │ ┌──────────────────────────┤ +// │ │ │ ╲ │ │ │ ╱ │ │ │ ▼ │ │ │ allocationStrategy │ +// │ │ │ ╲ └┐ │ ┌┘ ╱ │ │ │ │ │ │ - FitPredicate │ +// │ │ │ ╲ │ │ │ ╱ │ │ │ │ │ │ - Procurement │ +// │ │ │ ╲ └┐ │ ┌┘ ╱ │ │ │ │ └─────┴──────────────────────────┘ +// │┌▼────────────┐┌▼──────────┐┌─▼─▼─▼─▼─▼─┐┌───┴────────┐┌───▼───┐ ┌────▼───┐ │ +// ││LaunchTask(t)││KillTask(t)││sync.Mutex ││reconcile(t)││Tasks()│ │Offers()│ │ +// │└──────┬──────┘└─────┬─────┘└───────────┘└────────▲───┘└───┬───┘ └────┬───┘ │ +// │ │ │ │ │ │ │ +// │ │ └──────────────────┐ │ ┌───▼────────────┐ │ │ +// │ └──────────────────────────────┐ │ │ │podtask.Registry│ │ │ +// │ │ │ │ └────────────────┘ │ │ ┌──────────────────────┐ +// │ │ │ │ │ │ │ │ +// │Scheduler │ └──────┐ │ │ │ │ A ──────────▶ B │ +// └──────────────────────────────────────┼────────┼─┬│----┬──────────────────────┼───────────────────┘ │ │ +// ┌──────────────────────────────────────┼────────┼─┤sched├──────────────────────┼─────────────────────────┐ │ A has a reference │ +// │Framework │ │ └─────┘ ┌────▼───┐ │ │ on B and calls B │ +// │ ┌──────▼──────┐┌▼──────────┐ │Offers()│ │ │ │ +// │ │LaunchTask(t)││KillTask(t)│ └────┬───┘ │ └──────────────────────┘ // │ └─────────┬───┘└──────┬────┘ ┌────────▼───────┐ │ // │implements: mesos-go/scheduler.Scheduler └───────────▼ │offers.Registry │ │ // │ │ └────────────────┘ │