[ https://issues.apache.org/jira/browse/MESOS-5184?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15238504#comment-15238504 ]
Jian Qiu commented on MESOS-5184: --------------------------------- [~vi...@twitter.com] I think the issue here is that we disallow some special characters in role, such as slash, however, the role is not validated when registering framework. > Mesos does not validate role info when framework registered with specified > role > ------------------------------------------------------------------------------- > > Key: MESOS-5184 > URL: https://issues.apache.org/jira/browse/MESOS-5184 > Project: Mesos > Issue Type: Bug > Components: general > Affects Versions: 0.28.0 > Reporter: Liqiang Lin > Fix For: 0.29.0 > > > When framework registered with specified role, Mesos does not validate the > role info. It will accept the subscription and send unreserved resources as > offer to the framework. > {code} > # cat register.json > { > "framework_id": {"value" : "test1"}, > "type":"SUBSCRIBE", > "subscribe":{ > "framework_info":{ > "user":"root", > "name":"test1", > "failover_timeout":60, > "role":"/test/test1", > "id":{"value":"test1"}, > "principal":"test1", > "capabilities":[{"type":"REVOCABLE_RESOURCES"}] > }, > "force":true > } > } > # curl -v http://192.168.56.110:5050/api/v1/scheduler -H "Content-type: > application/json" -X POST -d @register.json > * Hostname was NOT found in DNS cache > * Trying 192.168.56.110... > * Connected to 192.168.56.110 (192.168.56.110) port 5050 (#0) > > POST /api/v1/scheduler HTTP/1.1 > > User-Agent: curl/7.35.0 > > Host: 192.168.56.110:5050 > > Accept: */* > > Content-type: application/json > > Content-Length: 265 > > > * upload completely sent off: 265 out of 265 bytes > < HTTP/1.1 200 OK > < Date: Wed, 06 Apr 2016 21:34:18 GMT > < Transfer-Encoding: chunked > < Mesos-Stream-Id: 8b2c6740-b619-49c3-825a-e6ae780f4edc > < Content-Type: application/json > < > 69 > {"subscribed":{"framework_id":{"value":"test1"}},"type":"SUBSCRIBED"}20 > {"type":"HEARTBEAT"}1531 > {"offers":{"offers":[{"agent_id":{"value":"2cd5576e-6260-4262-a62c-b0dc45c86c45-S0"},"attributes":[{"name":"mesos_agent_type","text":{"value":"IBM_MESOS_EGO"},"type":"TEXT"},{"name":"hostname","text":{"value":"mesos2"},"type":"TEXT"}],"framework_id":{"value":"test1"},"hostname":"mesos2","id":{"value":"5b84aad8-dd60-40b3-84c2-93be6b7aa81c-O0"},"resources":[{"name":"disk","role":"*","scalar":{"value":20576.0},"type":"SCALAR"},{"name":"ports","ranges":{"range":[{"begin":31000,"end":32000}]},"role":"*","type":"RANGES"},{"name":"mem","role":"*","scalar":{"value":3952.0},"type":"SCALAR"},{"name":"cpus","role":"*","scalar":{"value":4.0},"type":"SCALAR"}],"url":{"address":{"hostname":"mesos2","ip":"192.168.56.110","port":5051},"path":"\/slave(1)","scheme":"http"}},{"agent_id":{"value":"2cd5576e-6260-4262-a62c-b0dc45c86c45-S1"},"attributes":[{"name":"mesos_agent_type","text":{"value":"IBM_MESOS_EGO"},"type":"TEXT"},{"name":"hostname","text":{"value":"mesos1"},"type":"TEXT"}],"framework_id":{"v > alue":"test1"},"hostname":"mesos1","id":{"value":"5b84aad8-dd60-40b3-84c2-93be6b7aa81c-O1"},"resources":[{"name":"disk","role":"*","scalar":{"value":21468.0},"type":"SCALAR"},{"name":"ports","ranges":{"range":[{"begin":31000,"end":32000}]},"role":"*","type":"RANGES"},{"name":"mem","role":"*","scalar":{"value":3952.0},"type":"SCALAR"},{"name":"cpus","role":"*","scalar":{"value":4.0},"type":"SCALAR"}],"url":{"address":{"hostname":"mesos1","ip":"192.168.56.111","port":5051},"path":"\/slave(1)","scheme":"http"}}]},"type":"OFFERS"}20 > {"type":"HEARTBEAT"}20 > {code} > As you see, the role under which framework register is "/test/test1", which > is an invalid role according to > [#MESOS-2210|https://issues.apache.org/jira/browse/MESOS-2210] > And Mesos master log > {code} > I0407 05:34:18.132333 20672 master.cpp:2107] Received subscription request > for HTTP framework 'test1' > I0407 05:34:18.133515 20672 master.cpp:2198] Subscribing framework 'test1' > with checkpointing disabled and capabilities [ REVOCABLE_RESOURCES ] > I0407 05:34:18.135027 20674 hierarchical.cpp:264] Added framework test1 > I0407 05:34:18.138746 20672 master.cpp:5659] Sending 2 offers to framework > test1 (test1) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)