Return-Path: X-Original-To: apmail-aurora-dev-archive@minotaur.apache.org Delivered-To: apmail-aurora-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 9361B18A62 for ; Fri, 1 Apr 2016 00:39:44 +0000 (UTC) Received: (qmail 25460 invoked by uid 500); 1 Apr 2016 00:39:38 -0000 Delivered-To: apmail-aurora-dev-archive@aurora.apache.org Received: (qmail 25415 invoked by uid 500); 1 Apr 2016 00:39:38 -0000 Mailing-List: contact dev-help@aurora.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@aurora.apache.org Delivered-To: mailing list dev@aurora.apache.org Received: (qmail 25221 invoked by uid 99); 1 Apr 2016 00:39:38 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 01 Apr 2016 00:39:38 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 90FAE1804D3 for ; Fri, 1 Apr 2016 00:39:37 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.179 X-Spam-Level: * X-Spam-Status: No, score=1.179 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd3-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx2-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id MV0tFD9unxst for ; Fri, 1 Apr 2016 00:39:34 +0000 (UTC) Received: from mail-ig0-f173.google.com (mail-ig0-f173.google.com [209.85.213.173]) by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with ESMTPS id A1D9F5F47C for ; Fri, 1 Apr 2016 00:39:33 +0000 (UTC) Received: by mail-ig0-f173.google.com with SMTP id ma7so4511382igc.0 for ; Thu, 31 Mar 2016 17:39:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=NUx8y+2wcLTAX5bWbhMQ5yE0RzWULe+4Gr/m0np59t0=; b=EtX8cAHRUxB4EmmYA/WgHFQxjZgHJrR1jMzGeC+qFCSfyfVWb0nUxbkTgYnrGzez4j V/a8cZPOIjn7FgQtaOddyfHWdGa9xlSSsauRiy9OAkz+1fJ5Pt0m5sbgqCfuEFiyearg MmSMleYbIm4s+vDnF2L5HkayKApNEKRk+N4uQFfFeuh5WUL4s8vcgmNC3fj8ipF/QO2P JQ2z8Zu7BSV4YKrCM6Uv9Jrd1FC/mQKbHSSBdpPPgqP72ianOPvvPcOeCv5qoBZrXcrE ocxvt6UqM2ouxVU1ySWeZyDBJMGAlJelzK2fIucjkqIRFdcpqJWllX4dfATXzV0HaSES w7dw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=NUx8y+2wcLTAX5bWbhMQ5yE0RzWULe+4Gr/m0np59t0=; b=WHxWC98se08gLrKxhjs6ScB5xaS3BS0zzJFVASXToZQ90SJJw4zteBmo31HmTsD+JV jjqGqnC2uQGnuzRiZftmQpbBBpO4cOTglpEpCFeW508wGOJNJzKx7YCMpT9pafJFlYB6 c67hlE36VeJ0LwnIwA2h1FTR92Jy0qTIAVd/BF4mbtELkd1TxXAc580E7Acid38bEqOC sCmt9nD9buDpyNp6EoX14JAk8IiN+ucvWYJByIeArr8PW4cKQykyekFT1glty7KVS9Hb 1e1sTSZraRaEVqlqO2mzKz3/ND21PuoA4WRXY8XEI1SGb0iNH5HdoRs/+ksZ3t/Ih1mx H+mw== X-Gm-Message-State: AD7BkJJVNCdV+LrlmaLbEp4UtlmQ8scYMJzZX7ItudUDaGsHkgzq8WKSKijUyHtX6sxCorTzzLHn8mb24nuuTg== X-Received: by 10.50.66.141 with SMTP id f13mr562316igt.60.1459471172683; Thu, 31 Mar 2016 17:39:32 -0700 (PDT) MIME-Version: 1.0 References: <1457341237638.42001@blue-yonder.com> <1458938520469.43572@blue-yonder.com> <1459416731342.74564@blue-yonder.com> In-Reply-To: From: "benley@gmail.com" Date: Fri, 01 Apr 2016 00:39:23 +0000 Message-ID: Subject: Re: Populate DiscoveryInfo in Mesos To: dev@aurora.apache.org Content-Type: multipart/alternative; boundary=047d7bdc0dd2ced0e1052f619c9f --047d7bdc0dd2ced0e1052f619c9f Content-Type: text/plain; charset=UTF-8 FYI, Aurora already populates the "executor source" field (not sure exactly what that corresponds to in mesos.proto) with exactly the data you would want to send to mesos-dns: rolename.environment.jobname.[tasknumber] for each task. Maybe you would need to invert the order of the fields, but that's pretty much the right thing. On Thu, Mar 31, 2016 at 12:53 PM Zhitao Li wrote: > Hi Stephan, > > I like your proposal, but I think they all require some changes on Mesos > DNS to support this level of customization. I've filed a github issue to > mesos-dns to describe > what I want. > > I've updated my patch to include unit test and command flag switch, and > it's ready for review now. > > On Thu, Mar 31, 2016 at 2:32 AM, Erb, Stephan > > wrote: > > > If I understand your example correctly, the underling jobkey used to > > generate "vagranttesthttp-exampled.twitterscheduler.mesos" was > > "vagrant/test/http-exampled" and what we actually put into the > > DiscoveryInfo is "vagrant.test.http-exampled". > > > > So how about: > > * we inject inverse names . So for example: > > "http-exampled.test.vagrant" > > * we teach mesos-DNS that it should not silently drop dots in our names > > > > That should provide us with hierarchical, collision free DNS names such > as > > "http-exampled.test.vagrant.twitterscheduler.mesos". > > > > Bonus points if we get "twitterscheduler" replaced by the actual cluster > > name. > > > > ________________________________________ > > From: Zhitao Li > > Sent: Thursday, March 31, 2016 01:08 > > To: dev@aurora.apache.org > > Subject: Re: Populate DiscoveryInfo in Mesos > > > > On Wed, Mar 30, 2016 at 3:58 PM, Joshua Cohen wrote: > > > > > Job names are not unique though, what would happen if multiple jobs had > > the > > > same name (either across roles or across environments in the same > role)? > > > > > > > Good point. They would conflict with each other, and I guess in that case > > Mesos DNS should not be used with the cluster. > > > > An alternative is {role}-{job name}, although there are still ways to > > create conflict in such case (e.g. "role-dumy/test/job" and > > "role/test/dummy-job" generates the same name). > > > > I think the correct long term approach is to allow some way to configure > > this information by task or job. I'm a bit hesitant to include new thrift > > structures for this experiment, and maybe the idea of "TaskInfoDecorator" > > (see my previous posts) would be more flexible? > > > > > > > > > > On Wed, Mar 30, 2016 at 5:33 PM, Zhitao Li > > wrote: > > > > > > > Stephan, > > > > > > > > So I've managed to run the official Mesos DNS docker container > > > > under the Aurora > > > vagrant > > > > environment and get some SRV/A recorded pulled from Mesos master from > > > > Aurora. > > > > > > > > Because Mesos DNS uses 'name' field if set with some string > > manipulation, > > > > for the job 'vagrant/test/http_example_docker', my prototype > generates > > > > these DNS records: > > > > > > > > A record: vagranttesthttp-exampled.twitterscheduler.mesos > > > > SRV record: _vagranttesthttp-exampled._tcp.twitterscheduler.mesos. > > > > > > > > If we want to make current prototype useful for Mesos DNS, I suggest > we > > > > change the name field to job name, which would generate record like: > > > > A: http_example_docker.twitterscheduler.mesos > > > > SRV: _http_example_docker._tcp.twitterscheduler.slave.mesos > > > > > > > > I'll update my patch after getting some signal from you. Thanks. > > > > > > > > On Fri, Mar 25, 2016 at 1:49 PM, Zhitao Li > > > wrote: > > > > > > > > > Hi Stephan, > > > > > > > > > > Thanks for looking at that prototype patch. > > > > > > > > > > I'll update the patch with the review comments, and probably add a > > > global > > > > > flag of "populate_discovery_info" to toggle this behavior. > > > > > > > > > > About the optional fields: I think it'll be hard to come up a good > > set > > > of > > > > > rules applicable to all orgs using Aurora + Mesos, because cluster > > > > > management and service discovery stack could differ from org to > org. > > > > > > > > > > In a recent Mesos work group, some experience folks (Jie Yu and Ben > > > > > Mahler) mentioned some ideas of *TaskInfoDecorator, *which is some > > > > > optional and configurable plugin on Aurora scheduler side to allow > > > > operator > > > > > to set additional fields before sending the message to Mesos. I > like > > > such > > > > > idea because it would enable Aurora users to experiment faster. Do > > you > > > > > think this is an interesting idea worth pursuing? > > > > > > > > > > > > > > > On Fri, Mar 25, 2016 at 1:42 PM, Erb, Stephan < > > > > Stephan.Erb@blue-yonder.com > > > > > > wrote: > > > > > > > > > >> I had a closer look at the Mesos documentation, and a design > > document > > > > >> might be unnecessary. Most of the values are optional. We can > > > therefore > > > > >> leave them out until we have a proper usecase for them. > > > > >> > > > > >> I left a couple of comments in the review request. > > > > >> ________________________________________ > > > > >> From: Zhitao Li > > > > >> Sent: Tuesday, March 22, 2016 21:15 > > > > >> To: dev@aurora.apache.org > > > > >> Subject: Re: Populate DiscoveryInfo in Mesos > > > > >> > > > > >> Hi Stephan, > > > > >> > > > > >> Sorry for the delay on follow up on this. I took a quick look at > > > Aurora > > > > >> code, and it's actually quite easy to pipe this information to > Mesos > > > > (see > > > > >> https://reviews.apache.org/r/45177/ for quick prototype). > > > > >> > > > > >> I'll take a stab to see how I can get Mesos-DNS to work with this > > > > >> prototype. > > > > >> > > > > >> IMO, if this is something the community is interested, the main > > > > questions > > > > >> would be 1) how various fields would be mapped in different Aurora > > > > usages, > > > > >> and 2) to which level should opt-in/opt-out configured for > > populating > > > > such > > > > >> information. > > > > >> > > > > >> I actually don't have too much insights on how these usage > > conventions > > > > >> would be set (through command line of scheduler or job > > configuration?) > > > > >> > > > > >> Do you think a design doc is the best action here, or a more > > involved > > > > >> questionnaire about which fields would be useful for community, or > > > what > > > > >> value they should take? > > > > >> > > > > >> On Mon, Mar 7, 2016 at 1:00 AM, Erb, Stephan < > > > > Stephan.Erb@blue-yonder.com > > > > >> > > > > > >> wrote: > > > > >> > > > > >> > That sounds like a good idea! Great. > > > > >> > > > > > >> > If you go ahead with this, please be so kind and start by > posting > > a > > > > >> short > > > > >> > design document here on mailinglist (similar to those here > > > > >> > > > > https://github.com/apache/aurora/blob/master/docs/design-documents.md > > > > , > > > > >> > but probably shorter). > > > > >> > > > > > >> > This will allow us to split the discussion of the design from > > > > discussing > > > > >> > the actual implementation. I believe this is necessary, as the > > > > >> > DiscoveryInfo protocol is quite flexible ( > > > > >> > > > > > >> > > > > > > > > > > http://mesos.apache.org/documentation/latest/app-framework-development-guide/ > > > > >> > ). > > > > >> > > > > > >> > Thanks, > > > > >> > Stephan > > > > >> > > > > > >> > > > > > >> > ________________________________________ > > > > >> > From: Zhitao Li > > > > >> > Sent: Monday, March 7, 2016 00:05 > > > > >> > To: dev@aurora.apache.org > > > > >> > Subject: Populate DiscoveryInfo in Mesos > > > > >> > > > > > >> > Hi, > > > > >> > > > > > >> > It seems like Aurora does not populate the "discovery" field in > > > either > > > > >> > TaskInfo or ExecutorInfo in mesos.proto > > > > >> > < > > > > >> > > > > > >> > > > > > > > > > > https://github.com/apache/mesos/blob/master/include/mesos/mesos.proto#L438 > > > > >> > > > > > > >> > . > > > > >> > > > > > >> > I'm considering adding this to support retrieving port map in > > Mesos > > > > >> > directly. This would enable us to discovery this information > > > directly > > > > >> from > > > > >> > Mesos side, and also enables us to build one universal service > > > > discovery > > > > >> > solution for multiple frameworks including Aurora. > > > > >> > > > > > >> > If no objection, I'll create a JIRA ticket for this task. > > > > >> > > > > > >> > Thanks. > > > > >> > -- > > > > >> > Cheers, > > > > >> > > > > > >> > Zhitao Li > > > > >> > > > > > >> > > > > >> > > > > >> > > > > >> -- > > > > >> Cheers, > > > > >> > > > > >> Zhitao Li > > > > >> > > > > > > > > > > > > > > > > > > > > -- > > > > > Cheers, > > > > > > > > > > Zhitao Li > > > > > > > > > > > > > > > > > > > > > -- > > > > Cheers, > > > > > > > > Zhitao Li > > > > > > > > > > > > > > > -- > > Cheers, > > > > Zhitao Li > > > > > > -- > Cheers, > > Zhitao Li > --047d7bdc0dd2ced0e1052f619c9f--