You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aurora.apache.org by "Erb, Stephan" <St...@blue-yonder.com> on 2015/03/30 16:28:20 UTC
Pass slave-ip to user process
Hi everyone,
we are running our Mesos slaves on hosts with multiple network interfaces and would like to specifically bind started services to the ip used to start the Mesos slave (as specified via --ip).
Mesos seems to export this ip via the LIBPROCESS_IP environment variable. However thermos is explicitly overwriting the environment [1].
As a workaround, we are reading a global config in /etc, but with progressing disk isolation in Mesos this does not seem like a good long term solution.
Any ideas how to properly solve this problem in Aurora?
Regards,
Stephan
[1] https://github.com/apache/aurora/blob/master/src/main/python/apache/thermos/core/process.py#L341
Re: Pass slave-ip to user process
Posted by "Erb, Stephan" <St...@blue-yonder.com>.
Done :-)
https://issues.apache.org/jira/browse/AURORA-1261
________________________________________
From: Zameer Manji <zm...@apache.org>
Sent: Tuesday, April 7, 2015 10:19 PM
To: dev@aurora.apache.org
Subject: Re: Pass slave-ip to user process
Variables like {{mesos.hostname}} and {{mesos.ip}} seem like reasonable
variables. Please file a ticket requesting these.
On Tue, Apr 7, 2015 at 1:11 PM, Erb, Stephan <St...@blue-yonder.com>
wrote:
> Hi,
>
> you are right, network interface handling should probably be done in
> Mesos. However, I thought Aurora could simply expose the information it
> already has about the slave, for example in form of new thermos variables
> such as {{mesos.hostname}} and {{mesos.ip}}.
>
> For now, we will stick to our workaround with a config file in /etc. It
> will do the trick for the foreseeable future.
>
> Best Regards,
> Stephan
> ________________________________________
> From: Zameer Manji <zm...@apache.org>
> Sent: Saturday, April 4, 2015 12:10 AM
> To: dev@aurora.apache.org
> Subject: Re: Pass slave-ip to user process
>
> Hey,
>
> I don't think there is a way to solve this problem currently in Aurora. I
> think a problem of this nature would be better solved by the Mesos devs.
> Ideally through FS isolation or containerization method operators can
> select which network interface is available to user applications.
>
> I think the next step would be to file a MESOS ticket and see what the
> developers there think.
>
> On Mon, Mar 30, 2015 at 7:28 AM, Erb, Stephan <Stephan.Erb@blue-yonder.com
> >
> wrote:
>
> > Hi everyone,
> >
> > we are running our Mesos slaves on hosts with multiple network interfaces
> > and would like to specifically bind started services to the ip used to
> > start the Mesos slave (as specified via --ip).
> >
> > Mesos seems to export this ip via the LIBPROCESS_IP environment variable.
> > However thermos is explicitly overwriting the environment [1].
> >
> > As a workaround, we are reading a global config in /etc, but with
> > progressing disk isolation in Mesos this does not seem like a good long
> > term solution.
> >
> > Any ideas how to properly solve this problem in Aurora?
> >
> > Regards,
> > Stephan
> >
> > [1]
> >
> https://github.com/apache/aurora/blob/master/src/main/python/apache/thermos/core/process.py#L341
> >
> > --
> > Zameer Manji
> >
> >
> > <
> https://github.com/apache/aurora/blob/master/src/main/python/apache/thermos/core/process.py#L341
> >
>
> --
> Zameer Manji
>
>
Re: Pass slave-ip to user process
Posted by Zameer Manji <zm...@apache.org>.
Variables like {{mesos.hostname}} and {{mesos.ip}} seem like reasonable
variables. Please file a ticket requesting these.
On Tue, Apr 7, 2015 at 1:11 PM, Erb, Stephan <St...@blue-yonder.com>
wrote:
> Hi,
>
> you are right, network interface handling should probably be done in
> Mesos. However, I thought Aurora could simply expose the information it
> already has about the slave, for example in form of new thermos variables
> such as {{mesos.hostname}} and {{mesos.ip}}.
>
> For now, we will stick to our workaround with a config file in /etc. It
> will do the trick for the foreseeable future.
>
> Best Regards,
> Stephan
> ________________________________________
> From: Zameer Manji <zm...@apache.org>
> Sent: Saturday, April 4, 2015 12:10 AM
> To: dev@aurora.apache.org
> Subject: Re: Pass slave-ip to user process
>
> Hey,
>
> I don't think there is a way to solve this problem currently in Aurora. I
> think a problem of this nature would be better solved by the Mesos devs.
> Ideally through FS isolation or containerization method operators can
> select which network interface is available to user applications.
>
> I think the next step would be to file a MESOS ticket and see what the
> developers there think.
>
> On Mon, Mar 30, 2015 at 7:28 AM, Erb, Stephan <Stephan.Erb@blue-yonder.com
> >
> wrote:
>
> > Hi everyone,
> >
> > we are running our Mesos slaves on hosts with multiple network interfaces
> > and would like to specifically bind started services to the ip used to
> > start the Mesos slave (as specified via --ip).
> >
> > Mesos seems to export this ip via the LIBPROCESS_IP environment variable.
> > However thermos is explicitly overwriting the environment [1].
> >
> > As a workaround, we are reading a global config in /etc, but with
> > progressing disk isolation in Mesos this does not seem like a good long
> > term solution.
> >
> > Any ideas how to properly solve this problem in Aurora?
> >
> > Regards,
> > Stephan
> >
> > [1]
> >
> https://github.com/apache/aurora/blob/master/src/main/python/apache/thermos/core/process.py#L341
> >
> > --
> > Zameer Manji
> >
> >
> > <
> https://github.com/apache/aurora/blob/master/src/main/python/apache/thermos/core/process.py#L341
> >
>
> --
> Zameer Manji
>
>
Re: Pass slave-ip to user process
Posted by "Erb, Stephan" <St...@blue-yonder.com>.
Hi,
you are right, network interface handling should probably be done in Mesos. However, I thought Aurora could simply expose the information it already has about the slave, for example in form of new thermos variables such as {{mesos.hostname}} and {{mesos.ip}}.
For now, we will stick to our workaround with a config file in /etc. It will do the trick for the foreseeable future.
Best Regards,
Stephan
________________________________________
From: Zameer Manji <zm...@apache.org>
Sent: Saturday, April 4, 2015 12:10 AM
To: dev@aurora.apache.org
Subject: Re: Pass slave-ip to user process
Hey,
I don't think there is a way to solve this problem currently in Aurora. I
think a problem of this nature would be better solved by the Mesos devs.
Ideally through FS isolation or containerization method operators can
select which network interface is available to user applications.
I think the next step would be to file a MESOS ticket and see what the
developers there think.
On Mon, Mar 30, 2015 at 7:28 AM, Erb, Stephan <St...@blue-yonder.com>
wrote:
> Hi everyone,
>
> we are running our Mesos slaves on hosts with multiple network interfaces
> and would like to specifically bind started services to the ip used to
> start the Mesos slave (as specified via --ip).
>
> Mesos seems to export this ip via the LIBPROCESS_IP environment variable.
> However thermos is explicitly overwriting the environment [1].
>
> As a workaround, we are reading a global config in /etc, but with
> progressing disk isolation in Mesos this does not seem like a good long
> term solution.
>
> Any ideas how to properly solve this problem in Aurora?
>
> Regards,
> Stephan
>
> [1]
> https://github.com/apache/aurora/blob/master/src/main/python/apache/thermos/core/process.py#L341
>
> --
> Zameer Manji
>
>
> <https://github.com/apache/aurora/blob/master/src/main/python/apache/thermos/core/process.py#L341>
Re: Pass slave-ip to user process
Posted by Zameer Manji <zm...@apache.org>.
Hey,
I don't think there is a way to solve this problem currently in Aurora. I
think a problem of this nature would be better solved by the Mesos devs.
Ideally through FS isolation or containerization method operators can
select which network interface is available to user applications.
I think the next step would be to file a MESOS ticket and see what the
developers there think.
On Mon, Mar 30, 2015 at 7:28 AM, Erb, Stephan <St...@blue-yonder.com>
wrote:
> Hi everyone,
>
> we are running our Mesos slaves on hosts with multiple network interfaces
> and would like to specifically bind started services to the ip used to
> start the Mesos slave (as specified via --ip).
>
> Mesos seems to export this ip via the LIBPROCESS_IP environment variable.
> However thermos is explicitly overwriting the environment [1].
>
> As a workaround, we are reading a global config in /etc, but with
> progressing disk isolation in Mesos this does not seem like a good long
> term solution.
>
> Any ideas how to properly solve this problem in Aurora?
>
> Regards,
> Stephan
>
> [1]
> https://github.com/apache/aurora/blob/master/src/main/python/apache/thermos/core/process.py#L341
>
> --
> Zameer Manji
>
>
> <https://github.com/apache/aurora/blob/master/src/main/python/apache/thermos/core/process.py#L341>