Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
1.0.0, 1.1.0
-
Mesosphere Sprint 44, Mesosphere Sprint 45, Mesosphere Sprint 46
-
3
Description
The master does not validate that resources from a reservation request have the same role the framework is registered with. As a result, frameworks may reserve resources for arbitrary roles.
I've modified the role in the ReserveThenUnreserve test to "yoyo" and observed the following in the test's log:
I0908 18:35:43.379122 2138112 master.cpp:3362] Processing ACCEPT call for offers: [ dfaf67e6-7c1c-4988-b427-c49842cb7bb7-O0 ] on agent dfaf67e6-7c1c-4988-b427-c49842cb7bb7-S0 at slave(1)@10.200.181.237:60116 (alexr.railnet.train) for framework dfaf67e6-7c1c-4988-b427-c49842cb7bb7-0000 (default) at scheduler-ca12a660-9f08-49de-be4e-d452aa3aa6da@10.200.181.237:60116 I0908 18:35:43.379170 2138112 master.cpp:3022] Authorizing principal 'test-principal' to reserve resources 'cpus(yoyo, test-principal):1; mem(yoyo, test-principal):512' I0908 18:35:43.379678 2138112 master.cpp:3642] Applying RESERVE operation for resources cpus(yoyo, test-principal):1; mem(yoyo, test-principal):512 from framework dfaf67e6-7c1c-4988-b427-c49842cb7bb7-0000 (default) at scheduler-ca12a660-9f08-49de-be4e-d452aa3aa6da@10.200.181.237:60116 to agent dfaf67e6-7c1c-4988-b427-c49842cb7bb7-S0 at slave(1)@10.200.181.237:60116 (alexr.railnet.train) I0908 18:35:43.379767 2138112 master.cpp:7341] Sending checkpointed resources cpus(yoyo, test-principal):1; mem(yoyo, test-principal):512 to agent dfaf67e6-7c1c-4988-b427-c49842cb7bb7-S0 at slave(1)@10.200.181.237:60116 (alexr.railnet.train) I0908 18:35:43.380273 3211264 slave.cpp:2497] Updated checkpointed resources from to cpus(yoyo, test-principal):1; mem(yoyo, test-principal):512 I0908 18:35:43.380574 2674688 hierarchical.cpp:760] Updated allocation of framework dfaf67e6-7c1c-4988-b427-c49842cb7bb7-0000 on agent dfaf67e6-7c1c-4988-b427-c49842cb7bb7-S0 from cpus(*):1; mem(*):512; disk(*):470841; ports(*):[31000-32000] to ports(*):[31000-32000]; cpus(yoyo, test-principal):1; disk(*):470841; mem(yoyo, test-principal):512 with RESERVE operation