You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by bm...@apache.org on 2015/07/17 01:30:47 UTC
[3/6] mesos git commit: Implemented the RESCIND Event handler in the
scheduler driver.
Implemented the RESCIND Event handler in the scheduler driver.
Review: https://reviews.apache.org/r/36495
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/3f44d69c
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/3f44d69c
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/3f44d69c
Branch: refs/heads/master
Commit: 3f44d69c7c9646d604fa4741701183e22d30d0a3
Parents: ae6ccdf
Author: Benjamin Mahler <be...@gmail.com>
Authored: Tue Jun 23 17:26:56 2015 -0700
Committer: Benjamin Mahler <be...@gmail.com>
Committed: Thu Jul 16 16:11:44 2015 -0700
----------------------------------------------------------------------
src/sched/sched.cpp | 4 +++-
src/tests/scheduler_event_call_tests.cpp | 34 +++++++++++++++++++++++++++
2 files changed, 37 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/3f44d69c/src/sched/sched.cpp
----------------------------------------------------------------------
diff --git a/src/sched/sched.cpp b/src/sched/sched.cpp
index c2dbd7f..0265a44 100644
--- a/src/sched/sched.cpp
+++ b/src/sched/sched.cpp
@@ -466,7 +466,9 @@ protected:
break;
}
- drop(event, "Unimplemented");
+ // TODO(bmahler): Rename 'rescindOffer' to 'rescind'
+ // to match the Event naming scheme.
+ rescindOffer(from, event.rescind().offer_id());
break;
}
http://git-wip-us.apache.org/repos/asf/mesos/blob/3f44d69c/src/tests/scheduler_event_call_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/scheduler_event_call_tests.cpp b/src/tests/scheduler_event_call_tests.cpp
index 33e8f0e..a24b13e 100644
--- a/src/tests/scheduler_event_call_tests.cpp
+++ b/src/tests/scheduler_event_call_tests.cpp
@@ -56,6 +56,40 @@ namespace tests {
class SchedulerDriverEventTest : public MesosTest {};
+// Ensures that the driver can handle the RESCIND event.
+TEST_F(SchedulerDriverEventTest, Rescind)
+{
+ Try<PID<Master>> master = StartMaster();
+ ASSERT_SOME(master);
+
+ MockScheduler sched;
+ MesosSchedulerDriver driver(
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+
+ EXPECT_CALL(sched, registered(&driver, _, _));
+
+ Future<Message> frameworkRegisteredMessage =
+ FUTURE_MESSAGE(Eq(FrameworkRegisteredMessage().GetTypeName()), _, _);
+
+ driver.start();
+
+ AWAIT_READY(frameworkRegisteredMessage);
+ UPID frameworkPid = frameworkRegisteredMessage.get().to;
+
+ Event event;
+ event.set_type(Event::RESCIND);
+ event.mutable_rescind()->mutable_offer_id()->set_value("O");
+
+ Future<Nothing> offerRescinded;
+ EXPECT_CALL(sched, offerRescinded(&driver, event.rescind().offer_id()))
+ .WillOnce(FutureSatisfy(&offerRescinded));
+
+ process::post(master.get(), frameworkPid, event);
+
+ AWAIT_READY(offerRescinded);
+}
+
+
// Ensures that the driver can handle the MESSAGE event.
TEST_F(SchedulerDriverEventTest, Message)
{