You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by vi...@apache.org on 2015/09/19 01:17:03 UTC
[5/6] mesos git commit: Added Python Support for QuiesceOffers.
Added Python Support for QuiesceOffers.
Review: https://reviews.apache.org/r/38121
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/dd3fbe81
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/dd3fbe81
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/dd3fbe81
Branch: refs/heads/master
Commit: dd3fbe815b0edb74fec4101776af2830f47f90d5
Parents: 9c20b5d
Author: Guangya Liu <gy...@gmail.com>
Authored: Fri Sep 18 16:15:55 2015 -0700
Committer: Vinod Kone <vi...@gmail.com>
Committed: Fri Sep 18 16:15:55 2015 -0700
----------------------------------------------------------------------
.../interface/src/mesos/interface/__init__.py | 6 ++++++
.../mesos/native/mesos_scheduler_driver_impl.cpp | 17 +++++++++++++++++
.../mesos/native/mesos_scheduler_driver_impl.hpp | 3 +++
3 files changed, 26 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/dd3fbe81/src/python/interface/src/mesos/interface/__init__.py
----------------------------------------------------------------------
diff --git a/src/python/interface/src/mesos/interface/__init__.py b/src/python/interface/src/mesos/interface/__init__.py
index 686abb2..cd60ead 100644
--- a/src/python/interface/src/mesos/interface/__init__.py
+++ b/src/python/interface/src/mesos/interface/__init__.py
@@ -230,6 +230,12 @@ class SchedulerDriver(object):
those filtered slaves.
"""
+ def quiesceOffers(self):
+ """
+ Inform Mesos master to stop sending offers to the framework. The
+ scheduler should call reviveOffers() to resume getting offers.
+ """
+
def acknowledgeStatusUpdate(self, status):
"""
Acknowledges the status update. This should only be called
http://git-wip-us.apache.org/repos/asf/mesos/blob/dd3fbe81/src/python/native/src/mesos/native/mesos_scheduler_driver_impl.cpp
----------------------------------------------------------------------
diff --git a/src/python/native/src/mesos/native/mesos_scheduler_driver_impl.cpp b/src/python/native/src/mesos/native/mesos_scheduler_driver_impl.cpp
index 609dfa3..10208b1 100644
--- a/src/python/native/src/mesos/native/mesos_scheduler_driver_impl.cpp
+++ b/src/python/native/src/mesos/native/mesos_scheduler_driver_impl.cpp
@@ -143,6 +143,11 @@ PyMethodDef MesosSchedulerDriverImpl_methods[] = {
METH_NOARGS,
"Remove all filters and ask Mesos for new offers"
},
+ { "quiesceOffers",
+ (PyCFunction) MesosSchedulerDriverImpl_quiesceOffers,
+ METH_NOARGS,
+ "Set quiescent attribute as true for the Framework"
+ },
{ "acknowledgeStatusUpdate",
(PyCFunction) MesosSchedulerDriverImpl_acknowledgeStatusUpdate,
METH_VARARGS,
@@ -654,6 +659,18 @@ PyObject* MesosSchedulerDriverImpl_reviveOffers(MesosSchedulerDriverImpl* self)
}
+PyObject* MesosSchedulerDriverImpl_quiesceOffers(MesosSchedulerDriverImpl* self)
+{
+ if (self->driver == NULL) {
+ PyErr_Format(PyExc_Exception, "MesosSchedulerDriverImpl.driver is NULL");
+ return NULL;
+ }
+
+ Status status = self->driver->quiesceOffers();
+ return PyInt_FromLong(status); // Sets exception if creating long fails.
+}
+
+
PyObject* MesosSchedulerDriverImpl_acknowledgeStatusUpdate(
MesosSchedulerDriverImpl* self,
PyObject* args)
http://git-wip-us.apache.org/repos/asf/mesos/blob/dd3fbe81/src/python/native/src/mesos/native/mesos_scheduler_driver_impl.hpp
----------------------------------------------------------------------
diff --git a/src/python/native/src/mesos/native/mesos_scheduler_driver_impl.hpp b/src/python/native/src/mesos/native/mesos_scheduler_driver_impl.hpp
index b1ad8e5..04e3190 100644
--- a/src/python/native/src/mesos/native/mesos_scheduler_driver_impl.hpp
+++ b/src/python/native/src/mesos/native/mesos_scheduler_driver_impl.hpp
@@ -115,6 +115,9 @@ PyObject* MesosSchedulerDriverImpl_declineOffer(
PyObject* MesosSchedulerDriverImpl_reviveOffers(MesosSchedulerDriverImpl* self);
+PyObject* MesosSchedulerDriverImpl_quiesceOffers(
+ MesosSchedulerDriverImpl* self);
+
PyObject* MesosSchedulerDriverImpl_acknowledgeStatusUpdate(
MesosSchedulerDriverImpl* self,
PyObject* args);