----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/44450/ -----------------------------------------------------------
Review request for mesos and Adam B. Bugs: MESOS-4881 https://issues.apache.org/jira/browse/MESOS-4881 Repository: mesos Description ------- Rescind all outstanding offers to satisfy weights update. Diffs ----- src/master/master.hpp ea26670e6c6c67314406fded510e8fdd46053dc8 src/master/weights_handler.cpp PRE-CREATION Diff: https://reviews.apache.org/r/44450/diff/ Testing ------- Make && Make check. Manual test steps: - Start Mesos master: $ ./bin/mesos-master.sh --ip=127.0.0.1 --work_dir=/tmp/mesos-master - Start Mesos slave: $ ./bin/mesos-slave.sh --master=127.0.0.1:5050 - Register a framwork with `curl` $ curl -v http://127.0.0.1:5050/api/v1/scheduler -H "Content-type: application/json" -X POST -d @subscribe.json $ cat subscribe.json { "type" : "SUBSCRIBE", "subscribe" : { "framework_info" : { "user" : "root", "name" : "comsumer c1 HTTP Framework", "role" : "mesos", "principal":"wyq" }, "force" : true } } And this framework will receive an offer: {"subscribed":{"framework_id":{"value":"7de42f40-2ddd-44a1-a4ff-4af932d25e02-0000"}},"type":"SUBSCRIBED"}20 {"type":"HEARTBEAT"}680 {"offers":{"offers":[{"agent_id":{"value":"7de42f40-2ddd-44a1-a4ff-4af932d25e02-S0"},"framework_id":{"value":"7de42f40-2ddd-44a1-a4ff-4af932d25e02-0000"},"hostname":"192.168.1.5","id":{"value":"7de42f40-2ddd-44a1-a4ff-4af932d25e02-O0"},"resources":[{"name":"cpus","role":"*","scalar":{"value":8.0},"type":"SCALAR"},{"name":"mem","role":"*","scalar":{"value":15360.0},"type":"SCALAR"},{"name":"disk","role":"*","scalar":{"value":470832.0},"type":"SCALAR"},{"name":"ports","ranges":{"range":[{"begin":31000,"end":32000}]},"role":"*","type":"RANGES"}],"url":{"address":{"hostname":"192.168.1.5","ip":"192.168.1.5","port":5051},"path":"\/slave(1)","scheme":"http"}}]},"type":"OFFERS"}20 {"type":"HEARTBEAT"}20 - Update the weight of role `mesos` $ curl --data "[{\"weight\":1.8,\"role\":\"mesos\"}]" -X PUT http://127.0.0.1:5050/weights Receive an rescind offer, and a new offer received: {"rescind":{"offer_id":{"value":"7de42f40-2ddd-44a1-a4ff-4af932d25e02-O0"}},"type":"RESCIND"}680 {"offers":{"offers":[{"agent_id":{"value":"7de42f40-2ddd-44a1-a4ff-4af932d25e02-S0"},"framework_id":{"value":"7de42f40-2ddd-44a1-a4ff-4af932d25e02-0000"},"hostname":"192.168.1.5","id":{"value":"7de42f40-2ddd-44a1-a4ff-4af932d25e02-O1"},"resources":[{"name":"cpus","role":"*","scalar":{"value":8.0},"type":"SCALAR"},{"name":"mem","role":"*","scalar":{"value":15360.0},"type":"SCALAR"},{"name":"disk","role":"*","scalar":{"value":470832.0},"type":"SCALAR"},{"name":"ports","ranges":{"range":[{"begin":31000,"end":32000}]},"role":"*","type":"RANGES"}],"url":{"address":{"hostname":"192.168.1.5","ip":"192.168.1.5","port":5051},"path":"\/slave(1)","scheme":"http"}}]},"type":"OFFERS"}20 {"type":"HEARTBEAT"}20 - Update the weight of role `mesos1` $ curl --data "[{\"weight\":2.8,\"role\":\"mesos1\"}]" -X PUT http://127.0.0.1:5050/weights - The outstanding offer will not be rescinded. (TODO) I will add couple of tests for this patch in another JIRA. Thanks, Yongqiao Wang