----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/41681/ -----------------------------------------------------------
(Updated Jan. 18, 2016, 2:09 p.m.) Review request for mesos, Adam B, Neil Conway, and Qian Zhang. Bugs: MESOS-4214 https://issues.apache.org/jira/browse/MESOS-4214 Repository: mesos Description (updated) ------- Introduce HTTP endpoint /weights for updating weight. Diffs ----- include/mesos/authorizer/authorizer.hpp 5ee3c7afadd131802c93febbb6b4dbad069c2d81 include/mesos/authorizer/authorizer.proto 84727e66dd14be9a25705ab1141e92eee72fae50 src/CMakeLists.txt 39a23df3227a4f524ea0d408dc894fa5bbab7d10 src/Makefile.am d23e35001078a86775bd9b76baa207ecb9dab7e1 src/authorizer/local/authorizer.hpp c7321c276d566eca6a91f45c546468bea1b0da15 src/authorizer/local/authorizer.cpp c1db9c2131ea8fbf835278203a240f108c6372c5 src/master/http.cpp 34a70ee50553492fc8c3947497ab5922f4379d72 src/master/master.hpp 3a7e18232323a1c051bcc97915484b1195fffe58 src/master/master.cpp 9ee56277c8a472be9e683d5db505becfb5f7c422 src/master/registry.proto 9958f9c2bdb785390fca2f292b65d5a9310434d5 src/master/weights_handler.cpp PRE-CREATION src/tests/mesos.hpp 3d9ebc6c9dc3cd1be02dc3771fbd847386907fac src/tests/mesos.cpp 365ebe8335c37bfdb983a5424d4c995fa9b76a22 Diff: https://reviews.apache.org/r/41681/diff/ Testing ------- Make & Make check successfully! $ (./mesos-master.sh --ip=127.0.0.1 --work_dir=/tmp/mesos-master --weights="role1=4.2,role2=3.1" --authenticate_http --credentials=/opt/credentials.json >> /tmp/mesos-master.log 2>&1 &) $ curl http://localhost:5050/roles { "roles": [ { "frameworks": [ ], "name": "*", "resources": { "cpus": 0, "disk": 0, "mem": 0 }, "weight": 1 }, { "frameworks": [ ], "name": "role1", "resources": { "cpus": 0, "disk": 0, "mem": 0 }, "weight": 4.2 }, { "frameworks": [ ], "name": "role2", "resources": { "cpus": 0, "disk": 0, "mem": 0 }, "weight": 3.1 } ] } - Test update: $ curl --user framework1:secret_string1 --data weights="[{\"weight\":1.8,\"role\":\"role1\"},{\"weight\":1.0,\"role\":\"role2\"},{\"weight\":3.4,\"role\":\"role3\"}]" -X PUT http://127.0.0.1:5050/weights $ curl http://localhost:5050/roles { "roles": [ { "frameworks": [ ], "name": "*", "resources": { "cpus": 0, "disk": 0, "mem": 0 }, "weight": 1 }, { "frameworks": [ ], "name": "role1", "resources": { "cpus": 0, "disk": 0, "mem": 0 }, "weight": 1.8 }, { "frameworks": [ ], "name": "role3", "resources": { "cpus": 0, "disk": 0, "mem": 0 }, "weight": 3.4 } ] } - Test recovuery: $ ps -ef | grep mesos-master 501 56292 1 0 6:18PM ttys001 0:00.31 /Users/yqwyq/Desktop/mesos/build/src/.libs/mesos-master --ip=127.0.0.1 --work_dir=/tmp/mesos-master --weights=role1=4.2,role2=3.1 --authenticate_http --credentials=/opt/credentials.json $ kill -9 56292 $ (./mesos-master.sh --ip=127.0.0.1 --work_dir=/tmp/mesos-master --weights="role1=4.2,role2=3.1,role6=9.0" --authenticate_http --credentials=/opt/credentials.json >> /tmp/mesos-master.log 2>&1 &) $ curl http://localhost:5050/roles { "roles": [ { "frameworks": [ ], "name": "*", "resources": { "cpus": 0, "disk": 0, "mem": 0 }, "weight": 1 }, { "frameworks": [ ], "name": "role1", "resources": { "cpus": 0, "disk": 0, "mem": 0 }, "weight": 1.8 }, { "frameworks": [ ], "name": "role3", "resources": { "cpus": 0, "disk": 0, "mem": 0 }, "weight": 3.4 } ] } Thanks, Yongqiao Wang