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
