This is an automated email from the ASF dual-hosted git repository. bmahler pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mesos.git
commit 72ca397be231d8564442f0ad8289bc22dac94eed Author: Andrei Sekretenko <[email protected]> AuthorDate: Wed Jul 24 11:02:15 2019 -0400 Added unsuppressing via `updateFramework()` to python example framework. This patch ensures that the list of suppressed roles is passed through the `updateFramework()` of python V0 bindings. Now the framework subscribes with all roles suppressed and after that issues UPDATE_FRAMEWORK call to unsuppress offers. Review: https://reviews.apache.org/r/71084/ --- src/examples/python/test_framework.py | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/examples/python/test_framework.py b/src/examples/python/test_framework.py index 27bc052..38ddacf 100755 --- a/src/examples/python/test_framework.py +++ b/src/examples/python/test_framework.py @@ -30,9 +30,10 @@ TASK_CPUS = 1 TASK_MEM = 128 class TestScheduler(mesos.interface.Scheduler): - def __init__(self, implicitAcknowledgements, executor): + def __init__(self, implicitAcknowledgements, executor, framework): self.implicitAcknowledgements = implicitAcknowledgements self.executor = executor + self.framework = framework self.taskData = {} self.tasksLaunched = 0 self.tasksFinished = 0 @@ -41,6 +42,8 @@ class TestScheduler(mesos.interface.Scheduler): def registered(self, driver, frameworkId, masterInfo): print "Registered with framework ID %s" % frameworkId.value + self.framework.id.CopyFrom(frameworkId) + driver.updateFramework(framework, []) def resourceOffers(self, driver, offers): for offer in offers: @@ -167,6 +170,7 @@ if __name__ == "__main__": framework.user = "" # Have Mesos fill in the current user. framework.name = "Test Framework (Python)" framework.checkpoint = True + framework.role = "*" implicitAcknowledgements = 1 if os.getenv("MESOS_EXPLICIT_ACKNOWLEDGEMENTS"): @@ -188,20 +192,18 @@ if __name__ == "__main__": framework.principal = os.getenv("MESOS_EXAMPLE_PRINCIPAL") - driver = MesosSchedulerDriver( - TestScheduler(implicitAcknowledgements, executor), - framework, - sys.argv[1], - implicitAcknowledgements, - credential) else: framework.principal = "test-framework-python" - - driver = MesosSchedulerDriver( - TestScheduler(implicitAcknowledgements, executor), - framework, - sys.argv[1], - implicitAcknowledgements) + credential = None + + # Subscribe with all roles suppressed to test updateFramework() method + driver = MesosSchedulerDriver( + TestScheduler(implicitAcknowledgements, executor, framework), + framework, + sys.argv[1], + implicitAcknowledgements, + credential, + [framework.role]) status = 0 if driver.run() == mesos_pb2.DRIVER_STOPPED else 1
