From reviews-return-53719-apmail-mesos-reviews-archive=mesos.apache.org@mesos.apache.org Fri Jan 13 15:50:53 2017 Return-Path: X-Original-To: apmail-mesos-reviews-archive@minotaur.apache.org Delivered-To: apmail-mesos-reviews-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 0161E19620 for ; Fri, 13 Jan 2017 15:50:53 +0000 (UTC) Received: (qmail 34089 invoked by uid 500); 13 Jan 2017 15:50:52 -0000 Delivered-To: apmail-mesos-reviews-archive@mesos.apache.org Received: (qmail 34059 invoked by uid 500); 13 Jan 2017 15:50:52 -0000 Mailing-List: contact reviews-help@mesos.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: reviews@mesos.apache.org Delivered-To: mailing list reviews@mesos.apache.org Received: (qmail 34031 invoked by uid 99); 13 Jan 2017 15:50:52 -0000 Received: from reviews-vm.apache.org (HELO reviews.apache.org) (140.211.11.40) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 13 Jan 2017 15:50:52 +0000 Received: from reviews.apache.org (localhost [127.0.0.1]) by reviews.apache.org (Postfix) with ESMTP id 3AEDF2F97DB; Fri, 13 Jan 2017 15:50:52 +0000 (UTC) Content-Type: multipart/alternative; boundary="===============3514007507357228936==" MIME-Version: 1.0 Subject: Re: Review Request 55461: Made resource reservation validation multi-role aware. From: Benjamin Bannier To: Benjamin Mahler , Jay Guo , Guangya Liu Cc: Benjamin Bannier , mesos Date: Fri, 13 Jan 2017 15:50:52 -0000 Message-ID: <20170113155052.1677.77528@reviews.apache.org> X-ReviewBoard-URL: https://reviews.apache.org/ Auto-Submitted: auto-generated Sender: Benjamin Bannier X-ReviewGroup: mesos X-Auto-Response-Suppress: DR, RN, OOF, AutoReply X-ReviewRequest-URL: https://reviews.apache.org/r/55461/ X-Sender: Benjamin Bannier References: <20170113081505.1677.64071@reviews.apache.org> In-Reply-To: <20170113081505.1677.64071@reviews.apache.org> Reply-To: Benjamin Bannier X-ReviewRequest-Repository: mesos --===============3514007507357228936== MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit > On Jan. 13, 2017, 9:15 a.m., Jay Guo wrote: > > src/master/master.cpp, lines 3944-3950 > > > > > > I think we explicitly disallow empyt role field? https://github.com/apache/mesos/blob/master/src/common/roles.cpp#L67 > > Also, should the case `framework->info.has_role() == false && framework->info.role() != "*"` be invalid and caught upon subscription? Multi-role frameworks would use the `roles` field, in which case the `role` field would not be set. We need to distinguish here whether a framework uses `role` or `roles`. The check can be simplified to `framework->info.role() != "*"` though, independently of what we assume about this field upstream. I made that change. Does that address your comment? - Benjamin ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/55461/#review161488 ----------------------------------------------------------- On Jan. 13, 2017, 4:50 p.m., Benjamin Bannier wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/55461/ > ----------------------------------------------------------- > > (Updated Jan. 13, 2017, 4:50 p.m.) > > > Review request for mesos, Benjamin Mahler, Jay Guo, and Guangya Liu. > > > Bugs: MESOS-6730 > https://issues.apache.org/jira/browse/MESOS-6730 > > > Repository: mesos > > > Description > ------- > > This updates the resource reservation validation for frameworks which > can have multiple roles. During a deprecation period 'FrameworkInfo' > will have fields for both 'role' and 'roles', however the validation > function works with just an optional set of roles. Here an empty set > captures the previous semantics of either having an empty 'role' field > or 'role' set as '*'. This forces the callers to properly construct a > set of framework roles from the available information. An optional set > is used in order to accommodate callers which have no information > about the framework's roles, and ultimately disables validation taking > that information into account. > > > Diffs > ----- > > src/master/master.cpp 1746a88953dbdc148d98881bcf7027b62ad6b040 > src/master/validation.hpp 57e81779ff7444904c2ad7bad33aaf9167b98d05 > src/master/validation.cpp 96aa36585ded4bd7cf98526f710ccbc4f23b1f0f > src/tests/master_validation_tests.cpp e5d55e03648cb218d42adc594d6fa7d40ea9bcbb > > Diff: https://reviews.apache.org/r/55461/diff/ > > > Testing > ------- > > make check > > > Thanks, > > Benjamin Bannier > > --===============3514007507357228936==--