> On Nov. 25, 2016, 5:17 a.m., Qian Zhang wrote: > > src/common/roles.cpp, lines 112-118 > > <https://reviews.apache.org/r/54062/diff/1/?file=1570158#file1570158line112> > > > > What if the `MULTI_ROLE` capability is provided, but > > `frameworkInfo.roles` is empty? So in this case framework will be > > considered to subscribe to `"*"` role? > > > > And based on the description in MESOS-6629, only one of > > FrameworkInfo.role and FrameworkInfo.roles **MUST** be set at a time. But > > it seems in your code here, both FrameworkInfo.role and FrameworkInfo.roles > > can be unset at a time and can pass the validation in this method, however > > I think that should be an invalid case.
I think if `MULTI_ROLE` is provided, but none of `role` and `roles` is set, the framework should be considered to subscribe with `"*"`. It similiar to single role framework subscribing with empty `role`. Maybe we need some inputs from BenB... - Jay ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/54062/#review156877 ----------------------------------------------------------- On Nov. 25, 2016, 6:45 a.m., Jay Guo wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/54062/ > ----------------------------------------------------------- > > (Updated Nov. 25, 2016, 6:45 a.m.) > > > Review request for mesos, Guangya Liu and Qiang Zhang. > > > Bugs: MESOS-6629 > https://issues.apache.org/jira/browse/MESOS-6629 > > > Repository: mesos > > > Description > ------- > > We need to do necessary validation for the conflicts of role, roles > and MULTI_ROLE capability. It complies with following matrix: > > -- MULTI_ROLE is NOT set - > |-------|---------| > |Roles |No Roles | > |-------|-------|---------| > |Role | Error | None | > |-------|-------|---------| > |No Role| Error | None | > |-------|-------|---------| > > --- MULTI_ROLE is set ---- > |-------|---------| > |Roles |No Roles | > |-------|-------|---------| > |Role | Error | Error | > |-------|-------|---------| > |No Role| None | None | > |-------|-------|---------| > > Two test cases are added, one is for validateRoles method and another > ensures that the master rejects subscription when provided invalid > roles. > > > Diffs > ----- > > src/master/master.cpp e03a2e8025943825a2902102c43dc0eb66bacb6a > src/master/validation.hpp b8389460f34b3531f2b6ff93f18f496c01e1a079 > src/master/validation.cpp 42d9b4a8784c2a161b74d7b46619cc22272e14e3 > src/tests/master_validation_tests.cpp > f893067859425967654401f3226149268b51cf57 > > Diff: https://reviews.apache.org/r/54062/diff/ > > > Testing > ------- > > make check > > > Thanks, > > Jay Guo > >
