MCPcopy Create free account
hub / github.com/apache/mesos / TestScheduler

Class TestScheduler

src/examples/java/TestFramework.java:35–201  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

33
34public class TestFramework {
35 static class TestScheduler implements Scheduler {
36 public TestScheduler(boolean implicitAcknowledgements,
37 ExecutorInfo executor,
38 FrameworkInfo framework,
39 int totalTasks) {
40 this.implicitAcknowledgements = implicitAcknowledgements;
41 this.executor = executor;
42 this.framework = framework;
43 this.totalTasks = totalTasks;
44 }
45
46 @Override
47 public void registered(SchedulerDriver driver,
48 FrameworkID frameworkId,
49 MasterInfo masterInfo) {
50 System.out.println("Registered! ID = " + frameworkId.getValue());
51
52 // Clear suppressed roles.
53 FrameworkInfo.Builder builder = framework.toBuilder();
54 builder.setId(frameworkId);
55 driver.updateFramework(
56 builder.build(),
57 new ArrayList<String>(),
58 OfferConstraints.getDefaultInstance());
59 }
60
61 @Override
62 public void reregistered(SchedulerDriver driver, MasterInfo masterInfo) {}
63
64 @Override
65 public void disconnected(SchedulerDriver driver) {}
66
67 @Override
68 public void resourceOffers(SchedulerDriver driver,
69 List<Offer> offers) {
70 double CPUS_PER_TASK = 1;
71 double MEM_PER_TASK = 128;
72
73 for (Offer offer : offers) {
74 Offer.Operation.Launch.Builder launch = Offer.Operation.Launch.newBuilder();
75 double offerCpus = 0;
76 double offerMem = 0;
77 for (Resource resource : offer.getResourcesList()) {
78 if (resource.getName().equals("cpus")) {
79 offerCpus += resource.getScalar().getValue();
80 } else if (resource.getName().equals("mem")) {
81 offerMem += resource.getScalar().getValue();
82 }
83 }
84
85 System.out.println(
86 "Received offer " + offer.getId().getValue() + " with cpus: " + offerCpus +
87 " and mem: " + offerMem);
88
89 double remainingCpus = offerCpus;
90 double remainingMem = offerMem;
91 while (launchedTasks < totalTasks &&
92 remainingCpus >= CPUS_PER_TASK &&

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected