Hi Stephan,

Thank you for your reply. Knowing this, I will simply write a script to 
automatize the update & commit of our images and it should suffice for now.

May I suggest a patch to 
http://aurora.apache.org/documentation/latest/features/containers/ mentioning 
Mesos dependencies though ?

Best regards,
Adrian

> Le 17 mai 2016 à 17:35, Erb, Stephan <[email protected]> a écrit :
> 
> Hi Adrian,
> 
> your analysis and solution is correct. As of today, the Aurora executor runs 
> within the container. It is using a native mesos library in order to 
> communicate with the agent, and therefore requires you to ship Python2.7 + 
> all Mesos dependencies in each container.
> 
> Without doubt, this is not an optimal solution. We are therefore 
> investigating alternatives: https://issues.apache.org/jira/browse/AURORA-1690 
> <https://issues.apache.org/jira/browse/AURORA-1690>​ 
> 
> Best Regards,
> Stephan
> From: Adrian Fraisse <[email protected]>
> Sent: Tuesday, May 17, 2016 17:08
> To: [email protected]
> Subject: Mesos executor dependencies using docker images
>  
> Hello fellow Aurora enthusiasts,
> 
> I am struggling with the docker containerizer. Jobs launched using docker 
> containers end up failing, because Thermos cannot find Mesos's required 
> dependencies, such as libcurl, libsasl, libsvn… See trace below, with 
> libsasl2 : 
> 
> Traceback (most recent call last):
>   File "apache/aurora/executor/bin/thermos_executor_main.py", line 45, in 
> <module>
>     from mesos.native import MesosExecutorDriver
>   File 
> "/root/.pex/install/mesos.native-0.27.2-py2.7-linux-x86_64.egg.6c53d177e078864264dbb5af282e84d7c2cdc3a8/mesos.native-0.27.2-py2.7-linux-x86_64.egg/mesos/native/__init__.py",
>  line 17, in <module>
>     from ._mesos import MesosExecutorDriverImpl
> ImportError: libsasl2.so.2: cannot open shared object file: No such file or 
> directory
> 
>  
> Having stumbled upon the issue quite a lot, I found a way to fix it : having 
> the required dependencies installed on the containers I need to run. It’s 
> annoying and feels kinda dirty though. I dug into Mesos documentation and 
> found this athttp://mesos.apache.org/documentation/latest/container-image/ 
> <http://mesos.apache.org/documentation/latest/container-image/> : 
> For a general purpose executor (e.g., thermos) of a framework (e.g., Aurora), 
> requiring it and all its dependencies to be present in all possible container 
> images that a user might use is not trivial.
> 
> Therefore, my question is : do I need to add Mesos’s dependencies to each and 
> every docker image I want to run (and is this best practice) or am I doing 
> something terribly wrong ?
> 
> Thanks for your support !
> 
> Adrian  

Reply via email to