Issues with Mesos, Marathon, Docker Integration

1,611 views
Skip to first unread message

Hugo Matinho

unread,
May 13, 2014, 7:40:55 AM5/13/14
to marathon-...@googlegroups.com
Hello guys i'm having a tough time integrating them together, marathon keeps looping in the staging state, any help would be kindly appreciated

the UI log states the following 

chmod: cannot access '/var/lib/mesos/executors/docker': No such file or directory
ocker.sock run --sig-proxy --rm --cidfile /tmp/deimos/mesos/d8a3443d-99e5-4af8-a295-3368ec35a9da/cid -w /tmp/mesos-sandbox -v /tmp/deimos/mesos/d8a3443d-99e5-4af8-a295-3368ec35a9da/fs:/tmp/mesos-sandbox -p 31418:31418 -c 1024 -m 250m -e MESOS_SLAVE_ID=2014-05-06-12:46:02-1845559306-5050-18497-40 -e 'MESOS_SLAVE_PID=slave(1)@10.0.1.88:5051' -e MESOS_FRAMEWORK_ID=201404151111-1845559306-5050-22929-0000 -e MESOS_EXECUTOR_ID=marathon-mongodb-service_0-1399981003781 -e MESOS_DIRECTORY=/tmp/mesos-sandbox libmesos/ubuntu:13.10 sh -c 'chmod ug+rx '"'"'/var/lib/mesos/executors/docker'"'"' && exec '"'"'/var/lib/mesos/executors/docker'"'"' docker.ad.ignidata.corporate:5000/mongodb'
12:36:39.881 deimos.state.await_cid() Awaiting CID file: /tmp/deimos/mesos/d8a3443d-99e5-4af8-a295-3368ec35a9da/cid
12:36:40.885 deimos.state.lock() request // wait EX (60s)
12:36:40.888 deimos.state.lock() success // wait EX (60s)
12:36:40.889 deimos.containerizer.launch() eid    = marathon-mongodb-service_0-1399981003781
12:36:40.890 deimos.containerizer.launch() mesos  = d8a3443d-99e5-4af8-a295-3368ec35a9da
12:36:40.891 deimos.containerizer.launch() docker = 7e8c24ab3f7138d86e30eb1395d58ac8804c194e28d5e931ea0021b7d0499579
12:36:40.892 deimos.containerizer.proto_out() ExternalStatus.message = 'launch: ok'
12:36:40.896 deimos.containerizer.launch() call // docker --host unix:///var/run/docker.sock wait 7e8c24ab3f7138d86e30eb1395d58ac8804c194e28d5e931ea0021b7d0499579
12:36:40.930 deimos.containerizer.launch() exit 1 // docker --host unix:///var/run/docker.sock wait 7e8c24ab3f7138d86e30eb1395d58ac8804c194e28d5e931ea0021b7d0499579
12:36:40.931 deimos.containerizer.launch() STDERR // Error: wait: no such container: 7e8c24ab3f7138d86e30eb1395d58ac8804c194e28d5e931ea0021b7d0499579
2014/05/13 12:36:40 Error: failed to wait one or more containers

12:36:40.933 deimos.cli() Command '['docker', '--host', u'unix:///var/run/docker.sock', 'wait', '7e8c24ab3f7138d86e30eb1395d58ac8804c194e28d5e931ea0021b7d0499579']' returned non-zero exit status 1



Syslog says the following


May 13 12:31:39 mesos-node-012 mesos-slave[2557]: I0513 12:31:39.811249  2575 slave.cpp:909] Launching task mongodb-service_0-1399980706227 for framework 201404151111-1845559306-5050-22929-0000
May 13 12:31:39 mesos-node-012 mesos-slave[2557]: I0513 12:31:39.814422  2576 external_containerizer.cpp:283] No container specified in task and no default given. The external containerizer will have to fill in defaults.
May 13 12:31:40 mesos-node-012 deimos[9923]: deimos.config.load_configuration() Loaded configuration from /etc/deimos.cfg
May 13 12:31:40 mesos-node-012 deimos[9923]: deimos.containerizer.wait() 990a98eb-c0fe-48a8-b214-fdad9654b6a6
May 13 12:31:40 mesos-node-012 deimos[9922]: deimos.config.load_configuration() Loaded configuration from /etc/deimos.cfg
May 13 12:31:40 mesos-node-012 deimos[9922]: deimos.containerizer.launch() 990a98eb-c0fe-48a8-b214-fdad9654b6a6 --mesos-executor /usr/local/libexec/mesos/mesos-executor
May 13 12:31:40 mesos-node-012 deimos[9922]: deimos.state.lock() request // launch EX (60s)
May 13 12:31:40 mesos-node-012 deimos[9922]: deimos.state.lock() success // launch EX (60s)
May 13 12:31:40 mesos-node-012 deimos[9922]: deimos.containerizer.launch() eid    = marathon-mongodb-service_0-1399980706227
May 13 12:31:40 mesos-node-012 deimos[9922]: deimos.containerizer.launch() mesos  = 990a98eb-c0fe-48a8-b214-fdad9654b6a6
May 13 12:31:40 mesos-node-012 deimos[9922]: deimos.containerizer.launch() image  = libmesos/ubuntu:13.10
May 13 12:31:40 mesos-node-012 mesos-slave[2557]: I0513 12:31:40.258944  2576 external_containerizer.cpp:993] External containerizer exited 0 and had no output, which requests the default implementation
May 13 12:31:42 mesos-node-012 deimos[9922]: deimos.docker.run() Port pairings (Mesos, Docker) // [(31404, None)]
May 13 12:31:42 mesos-node-012 deimos[9922]: deimos.containerizer.launch() call // docker --host unix:///var/run/docker.sock run --sig-proxy --rm --cidfile /tmp/deimos/mesos/990a98eb-c0fe-48a8-b214-fdad9654b6a6/cid -w /tmp/mesos-sandbox -v /tmp/deimos/mesos/990a98eb-c0fe-48a8-b214-fdad9654b6a6/fs:/tmp/mesos-sandbox -p 31404:31404 -c 1024 -m 250m -e MESOS_SLAVE_ID=2014-05-06-12:46:02-1845559306-5050-18497-40 -e 'MESOS_SLAVE_PID=slave(1)@10.0.1.88:5051' -e MESOS_FRAMEWORK_ID=201404151111-1845559306-5050-22929-0000 -e MESOS_EXECUTOR_ID=marathon-mongodb-service_0-1399980706227 -e MESOS_DIRECTORY=/tmp/mesos-sandbox libmesos/ubuntu:13.10 sh -c 'chmod ug+rx '"'"'/var/lib/mesos/executors/docker'"'"' && exec '"'"'/var/lib/mesos/executors/docker'"'"' docker.ad.ignidata.corporate:5000/mongodb'
May 13 12:31:42 mesos-node-012 deimos[9922]: deimos.state.await_cid() Awaiting CID file: /tmp/deimos/mesos/990a98eb-c0fe-48a8-b214-fdad9654b6a6/cid
May 13 12:31:42 mesos-node-012 kernel: [ 3382.970633] netlink: 1 bytes leftover after parsing attributes.
May 13 12:31:42 mesos-node-012 kernel: [ 3382.995036] device veth71ff entered promiscuous mode
May 13 12:31:42 mesos-node-012 kernel: [ 3382.999381] IPv6: ADDRCONF(NETDEV_UP): veth71ff: link is not ready
May 13 12:31:42 mesos-node-012 kernel: [ 3383.016368] IPv6: ADDRCONF(NETDEV_CHANGE): veth71ff: link becomes ready
May 13 12:31:42 mesos-node-012 kernel: [ 3383.016405] docker0: port 1(veth71ff) entered forwarding state
May 13 12:31:42 mesos-node-012 kernel: [ 3383.016414] docker0: port 1(veth71ff) entered forwarding state
May 13 12:31:42 mesos-node-012 kernel: [ 3383.090308] docker0: port 1(veth71ff) entered disabled state
May 13 12:31:42 mesos-node-012 kernel: [ 3383.090707] device veth71ff left promiscuous mode
May 13 12:31:42 mesos-node-012 kernel: [ 3383.090710] docker0: port 1(veth71ff) entered disabled state
May 13 12:31:43 mesos-node-012 deimos[9922]: deimos.state.lock() request // wait EX (60s)
May 13 12:31:43 mesos-node-012 deimos[9922]: deimos.state.lock() success // wait EX (60s)
May 13 12:31:43 mesos-node-012 deimos[9922]: deimos.containerizer.launch() eid    = marathon-mongodb-service_0-1399980706227
May 13 12:31:43 mesos-node-012 deimos[9922]: deimos.containerizer.launch() mesos  = 990a98eb-c0fe-48a8-b214-fdad9654b6a6
May 13 12:31:43 mesos-node-012 deimos[9922]: deimos.containerizer.launch() docker = d5f3f2188abebe2ae4a436c3062b2ca71f58e707e593ff45aa99be574878eb2d
May 13 12:31:43 mesos-node-012 mesos-slave[2557]: I0513 12:31:43.308624  2572 slave.cpp:2340] Monitoring executor 'marathon-mongodb-service_0-1399980706227' of framework '201404151111-1845559306-5050-22929-0000' in container '990a98eb-c0fe-48a8-b214-fdad9654b6a6'
May 13 12:31:43 mesos-node-012 mesos-slave[2557]: I0513 12:31:43.309093  2572 slave.cpp:1087] Queuing task 'mongodb-service_0-1399980706227' for executor marathon-mongodb-service_0-1399980706227 of framework '201404151111-1845559306-5050-22929-0000
May 13 12:31:43 mesos-node-012 deimos[9922]: deimos.containerizer.launch() exit 1 // docker --host unix:///var/run/docker.sock wait d5f3f2188abebe2ae4a436c3062b2ca71f58e707e593ff45aa99be574878eb2d
May 13 12:31:43 mesos-node-012 deimos[9922]: deimos.containerizer.launch() STDERR // Error: wait: no such container: d5f3f2188abebe2ae4a436c3062b2ca71f58e707e593ff45aa99be574878eb2d#0122014/05/13 12:31:43 Error: failed to wait one or more containers
May 13 12:31:43 mesos-node-012 deimos[9922]: deimos.cli() Command '['docker', '--host', u'unix:///var/run/docker.sock', 'wait', 'd5f3f2188abebe2ae4a436c3062b2ca71f58e707e593ff45aa99be574878eb2d']' returned non-zero exit status 1
May 13 12:31:44 mesos-node-012 mesos-slave[2557]: I0513 12:31:44.262336  2576 external_containerizer.cpp:840] Container '990a98eb-c0fe-48a8-b214-fdad9654b6a6' has terminated with exit-code: 1024
May 13 12:31:44 mesos-node-012 mesos-slave[2557]: I0513 12:31:44.262769  2576 slave.cpp:2398] Executor 'marathon-mongodb-service_0-1399980706227' of framework 201404151111-1845559306-5050-22929-0000 has exited with status 4
May 13 12:31:44 mesos-node-012 mesos-slave[2557]: I0513 12:31:44.265326  2576 slave.cpp:2022] Handling status update TASK_LOST (UUID: 9412b6a9-134f-4518-8a93-f3aacfb86d68) for task mongodb-service_0-1399980706227 of framework 201404151111-1845559306-5050-22929-0000 from @0.0.0.0:0

Jason Dusek

unread,
May 13, 2014, 12:55:17 PM5/13/14
to Hugo Matinho, marathon-...@googlegroups.com
Hugo,

It seems you like you are using both Deimos and the Mesos-Docker executor, because I see this error:


  chmod: cannot access '/var/lib/mesos/executors/docker': No such file or directory

However, you should only need Deimos...no need to specify the Mesos-Docker executor.

It looks like you need custom index support, so you can specify an image URL like this:

  docker:///docker.ad.ignidata.corporate:5000/mongodb

I suppose I will have to add support for that soon...let me see what I can figure out.





--
You received this message because you are subscribed to the Google Groups "marathon-framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to marathon-framew...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Hugo Matinho

unread,
May 13, 2014, 1:12:32 PM5/13/14
to marathon-...@googlegroups.com, Hugo Matinho
Hi Jason, thanks,
indeed I was using both :) 
i tried without specifiying the executor but got an issue with an enum_type_wrapper
so as i understand there's still no support available for a private docker repo :) / image url ?



Traceback (most recent call last):
Traceback (most recent call last):
  File "/usr/local/bin/deimos", line 9, in <module>
    load_entry_point('deimos==0.2.3', 'console_scripts', 'deimos')()
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources.py", line 356, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources.py", line 2431, in load_entry_point
    return ep.load()
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources.py", line 2147, in load
    ['__name__'])
  File "/usr/local/lib/python2.7/dist-packages/deimos/__init__.py", line 11, in <module>
    import deimos.containerizer
  File "/usr/local/lib/python2.7/dist-packages/deimos/containerizer.py", line 17, in <module>
  File "/usr/local/bin/deimos", line 9, in <module>
        load_entry_point('deimos==0.2.3', 'console_scripts', 'deimos')()
except: import deimos.mesos_pb2 as protos
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources.py", line 356, in load_entry_point
  File "/usr/local/lib/python2.7/dist-packages/deimos/mesos_pb2.py", line 4, in <module>
        from google.protobuf.internal import enum_type_wrapper
ImportError: cannot import name enum_type_wrapper
return get_distribution(dist).load_entry_point(group, name)
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources.py", line 2431, in load_entry_point
    return ep.load()
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources.py", line 2147, in load
    ['__name__'])
  File "/usr/local/lib/python2.7/dist-packages/deimos/__init__.py", line 11, in <module>
    import deimos.containerizer
  File "/usr/local/lib/python2.7/dist-packages/deimos/containerizer.py", line 17, in <module>
    except: import deimos.mesos_pb2 as protos
  File "/usr/local/lib/python2.7/dist-packages/deimos/mesos_pb2.py", line 4, in <module>
    from google.protobuf.internal import enum_type_wrapper
ImportError: cannot import name enum_type_wrapper

To unsubscribe from this group and stop receiving emails from it, send an email to marathon-framework+unsub...@googlegroups.com.

Jason Dusek

unread,
May 13, 2014, 1:56:37 PM5/13/14
to Hugo Matinho, marathon-...@googlegroups.com
I've made a small change to support private registries:

  https://github.com/mesosphere/deimos/tree/wip-private-registries

Just a one line change...not sure if this will really work.

As for the enum_type_wrapper error, this looks like it might be a version mismatch between your installation of the Python Protobuf bindings and the one we used to build Deimos. Which version of the Protobuf Egg do you have installed?



To unsubscribe from this group and stop receiving emails from it, send an email to marathon-framew...@googlegroups.com.

Hugo Matinho

unread,
May 13, 2014, 4:15:27 PM5/13/14
to marathon-...@googlegroups.com, Hugo Matinho
Protobuff Egg we are using is 2.5.0
though we are "following" the gist on this link

https://gist.github.com/solidsnack/10944095

Hugo Matinho

unread,
May 14, 2014, 11:01:35 AM5/14/14
to marathon-...@googlegroups.com, Hugo Matinho
New Day, new error :) but we're getting there ...
Yesterday the protobuff egg was 2.5.0 but ubuntu 13.10 comes installed with protobuf 2.4.1 so we had to update it with the new version, it was linking to the 2.4.1 that's was why we were getting those enum_type_wrapper errors

sh: 1: docker:///docker.ad.ignidata.corporate:5000/mongodb: not found
///var/run/docker.sock run --sig-proxy --rm --cidfile /tmp/deimos/mesos/9b46162c-37d1-4a76-97d9-0ed707701982/cid -w /tmp/mesos-sandbox -v /tmp/deimos/mesos/9b46162c-37d1-4a76-97d9-0ed707701982/fs:/tmp/mesos-sandbox -p 31739:31739 -c 1024 -m 250m -e PORT=31739 -e PORT0=31739 -e PORTS=31739 ubuntu:13.10 sh -c docker:///docker.ad.ignidata.corporate:5000/mongodb
02:36:40.481 deimos.state.await_cid() Awaiting CID file: /tmp/deimos/mesos/9b46162c-37d1-4a76-97d9-0ed707701982/cid
02:36:41.485 deimos.state.lock() request // wait EX (60s)
02:36:41.487 deimos.state.lock() success // wait EX (60s)
02:36:41.489 deimos.containerizer.launch() eid    = mongodb_app_108_0-1400031397673
02:36:41.489 deimos.containerizer.launch() mesos  = 9b46162c-37d1-4a76-97d9-0ed707701982
02:36:41.490 deimos.containerizer.launch() docker = 4e8d0c6186f9cf5e03cccb53442c1f0eea35e3b83b187121a7c42e942ba11868
02:36:41.492 deimos.containerizer.proto_out() ExternalStatus.message = 'launch: ok'
02:36:41.495 deimos.containerizer.launch() call // /usr/local/libexec/mesos/mesos-executor /usr/local/bin/deimos wait --docker 4e8d0c6186f9cf5e03cccb53442c1f0eea35e3b83b187121a7c42e942ba11868
02:36:41.502 deimos.containerizer.launch() call // docker --host unix:///var/run/docker.sock wait 4e8d0c6186f9cf5e03cccb53442c1f0eea35e3b83b187121a7c42e942ba11868
02:36:41.554 deimos.containerizer.launch() exit 1 // docker --host unix:///var/run/docker.sock wait 4e8d0c6186f9cf5e03cccb53442c1f0eea35e3b83b187121a7c42e942ba11868
02:36:41.555 deimos.containerizer.launch() STDERR // Error: wait: no such container: 4e8d0c6186f9cf5e03cccb53442c1f0eea35e3b83b187121a7c42e942ba11868
2014/05/14 02:36:41 Error: failed to wait one or more containers

Jason Dusek

unread,
May 14, 2014, 11:55:31 AM5/14/14
to Hugo Matinho, marathon-...@googlegroups.com
On 14 May 2014 15:01, Hugo Matinho <hugo...@gmail.com> wrote:
> sh: 1: docker:///docker.ad.ignidata.corporate:5000/mongodb: not found

The host:port should come between the second and third slashes:

  docker://docker.ad.ignidata.corporate:5000/mongodb

Per the RFC:

    The authority component is preceded by a double slash ("//") and is
    terminated by the next slash ("/")

    http://tools.ietf.org/html/rfc3986#section-3.2

--
Jason Dusek

Hugo Matinho

unread,
May 14, 2014, 1:18:46 PM5/14/14
to marathon-...@googlegroups.com
Ok, problem seems to be on the private registry :) thanks for the help
18:01:40.418 deimos.config.load_configuration() Loaded configuration from /etc/deimos.cfg
18:01:40.422 deimos.config.load_configuration() Loaded configuration from /etc/deimos.cfg
18:01:40.422 deimos.config.load_configuration() Found: deimos.config.Docker(host=[u'unix:///var/run/docker.sock'])
18:01:40.422 deimos.config.load_configuration() Found: deimos.config.Docker(host=[u'unix:///var/run/docker.sock'])
18:01:40.423 deimos.config.load_configuration() Found: deimos.config.State(root='/tmp/deimos')
18:01:40.423 deimos.config.load_configuration() Found: deimos.config.State(root='/tmp/deimos')
18:01:40.423 deimos.config.load_configuration() Found: deimos.config.Containers(image=deimos.config.Image(ignore=False, default='docker:///ubuntu'), options=deimos.config.Options(ignore=False, default=[], append=[]))
18:01:40.423 deimos.config.load_configuration() Found: deimos.config.Containers(image=deimos.config.Image(ignore=False, default='docker:///ubuntu'), options=deimos.config.Options(ignore=False, default=[], append=[]))
18:01:40.424 deimos.config.load_configuration() Found: deimos.config.Log(syslog=20, console=10)
18:01:40.424 deimos.config.load_configuration() Found: deimos.config.Log(syslog=20, console=10)
18:01:40.424 deimos.config.load_configuration() Found: deimos.config.DockerIndex(account_libmesos='libmesos', index='interior-node:2222', account=None)
18:01:40.424 deimos.config.load_configuration() Found: deimos.config.DockerIndex(account_libmesos='libmesos', index='interior-node:2222', account=None)
18:01:40.425 deimos.usage.self() rss = 0.336M  user = 0.078  sys = 0.022
18:01:40.425 deimos.usage.self() rss = 0.336M  user = 0.086  sys = 0.019
18:01:40.425 deimos.usage.children() rss = 0.000M  user = 0.000  sys = 0.000
18:01:40.425 deimos.usage.children() rss = 0.000M  user = 0.000  sys = 0.000
18:01:40.426 deimos.containerizer.wait() 68cc265c-27d1-4948-b72e-a79785809859
18:01:40.426 deimos.containerizer.launch() 68cc265c-27d1-4948-b72e-a79785809859 --mesos-executor /usr/local/libexec/mesos/mesos-executor
18:01:40.426 deimos.usage.self() rss = 0.336M  user = 0.079  sys = 0.023
18:01:40.427 deimos.usage.children() rss = 0.000M  user = 0.000  sys = 0.000
18:01:40.430 deimos.state.lock() request // launch EX (60s)
18:01:40.430 deimos.state.lock() success // launch EX (60s)
18:01:40.431 deimos.containerizer.launch() name: "app_19_0-1400086900295"
18:01:40.432 deimos.containerizer.launch() task_id {
18:01:40.432 deimos.containerizer.launch()   value: "app_19_0-1400086900295"
18:01:40.432 deimos.containerizer.launch() }
18:01:40.435 deimos.containerizer.launch() slave_id {
18:01:40.436 deimos.containerizer.launch()   value: "20140513-232722-1845559306-5050-1113-20"
18:01:40.436 deimos.containerizer.launch() }
18:01:40.436 deimos.containerizer.launch() resources {
18:01:40.436 deimos.containerizer.launch()   name: "cpus"
18:01:40.436 deimos.containerizer.launch()   type: SCALAR
18:01:40.437 deimos.containerizer.launch()   scalar {
18:01:40.437 deimos.containerizer.launch()     value: 1.0
18:01:40.437 deimos.containerizer.launch()   }
18:01:40.437 deimos.containerizer.launch()   role: "*"
18:01:40.438 deimos.containerizer.launch() }
18:01:40.438 deimos.containerizer.launch() resources {
18:01:40.438 deimos.containerizer.launch()   name: "mem"
18:01:40.438 deimos.containerizer.launch()   type: SCALAR
18:01:40.438 deimos.containerizer.launch()   scalar {
18:01:40.439 deimos.containerizer.launch()     value: 256.0
18:01:40.441 deimos.containerizer.launch()   }
18:01:40.441 deimos.containerizer.launch()   role: "*"
18:01:40.442 deimos.containerizer.launch() }
18:01:40.442 deimos.containerizer.launch() resources {
18:01:40.442 deimos.containerizer.launch()   name: "ports"
18:01:40.442 deimos.containerizer.launch()   type: RANGES
18:01:40.442 deimos.containerizer.launch()   ranges {
18:01:40.443 deimos.containerizer.launch()     range {
18:01:40.443 deimos.containerizer.launch()       begin: 31508
18:01:40.443 deimos.containerizer.launch()       end: 31508
18:01:40.443 deimos.containerizer.launch()     }
18:01:40.444 deimos.containerizer.launch()   }
18:01:40.444 deimos.containerizer.launch()   role: "*"
18:01:40.444 deimos.containerizer.launch() }
18:01:40.444 deimos.containerizer.launch() command {
18:01:40.445 deimos.containerizer.launch()   environment {
18:01:40.445 deimos.containerizer.launch()     variables {
18:01:40.445 deimos.containerizer.launch()       name: "PORT"
18:01:40.445 deimos.containerizer.launch()       value: "31508"
18:01:40.445 deimos.containerizer.launch()     }
18:01:40.446 deimos.containerizer.launch()     variables {
18:01:40.446 deimos.containerizer.launch()       name: "PORT0"
18:01:40.446 deimos.containerizer.launch()       value: "31508"
18:01:40.446 deimos.containerizer.launch()     }
18:01:40.447 deimos.containerizer.launch()     variables {
18:01:40.447 deimos.containerizer.launch()       name: "PORTS"
18:01:40.447 deimos.containerizer.launch()       value: "31508"
18:01:40.447 deimos.containerizer.launch()     }
18:01:40.447 deimos.containerizer.launch()   }
18:01:40.448 deimos.containerizer.launch()   value: "docker://docker.ad.ignidata.corporate:5000/mongodb"
18:01:40.448 deimos.containerizer.launch() }
18:01:40.448 deimos.containerizer.launch() eid    = app_19_0-1400086900295
18:01:40.449 deimos.containerizer.launch() mesos  = 68cc265c-27d1-4948-b72e-a79785809859
18:01:40.449 deimos.docker.matching_image_for_host() call // bash -c '
            set -o errexit -o nounset -o pipefail
            ( source /etc/os-release && tr A-Z a-z <<<"$ID	$VERSION_ID" )
        '
18:01:40.453 deimos.docker.matching_image_for_host() exit 0 // bash -c '
            set -o errexit -o nounset -o pipefail
            ( source /etc/os-release && tr A-Z a-z <<<"$ID	$VERSION_ID" )
        '
18:01:40.453 deimos.docker.matching_image_for_host() STDOUT // ubuntu	13.10

18:01:40.453 deimos.containerizer.launch() image  = ubuntu:13.10
18:01:40.454 deimos.containerizer.place_uris() call // mkdir -p fs
18:01:40.456 deimos.containerizer.place_uris() exit 0 // mkdir -p fs
18:01:40.456 deimos.docker.pull() call // docker --host unix:///var/run/docker.sock pull ubuntu:13.10
18:01:47.385 deimos.docker.pull() exit 1 // docker --host unix:///var/run/docker.sock pull ubuntu:13.10
18:01:47.389 deimos.docker.pull() STDERR // 2014/05/14 18:01:47 Could not reach any registry endpoint

18:01:47.392 deimos.cli() Command '['docker', '--host', u'unix:///var/run/docker.sock', 'pull', 'ubuntu:13.10']' returned non-zero exit status 1

Jason Dusek

unread,
May 14, 2014, 1:29:03 PM5/14/14
to Hugo Matinho, marathon-...@googlegroups.com
This line indicates the wrong image is still being used, though...


  18:01:40.453 deimos.containerizer.launch() image  = ubuntu:13.10

Let me take another stab at this.

This line indicates there is a second private registry -- `interior-node:2222` -- configured:

Jason Dusek

unread,
May 15, 2014, 1:17:38 PM5/15/14
to Hugo Matinho, marathon-...@googlegroups.com
Hi Hugo,

Reviewing your last email, it looks like your container
specification found its way into the `value` field of the
CommandInfo instead of the `image` field of the `ContainerInfo`.
This part of the logs is what clued me in:


  18:01:40.444 deimos.containerizer.launch() command {
  18:01:40.445 deimos.containerizer.launch()   environment {
  18:01:40.445 deimos.containerizer.launch()     variables {
  18:01:40.445 deimos.containerizer.launch()       name: "PORT"
  18:01:40.445 deimos.containerizer.launch()       value: "31508"
  18:01:40.445 deimos.containerizer.launch()     }
  18:01:40.446 deimos.containerizer.launch()     variables {
  18:01:40.446 deimos.containerizer.launch()       name: "PORT0"
  18:01:40.446 deimos.containerizer.launch()       value: "31508"
  18:01:40.446 deimos.containerizer.launch()     }
  18:01:40.447 deimos.containerizer.launch()     variables {
  18:01:40.447 deimos.containerizer.launch()       name: "PORTS"
  18:01:40.447 deimos.containerizer.launch()       value: "31508"
  18:01:40.447 deimos.containerizer.launch()     }
  18:01:40.447 deimos.containerizer.launch()   }
  18:01:40.448 deimos.containerizer.launch()   value: "docker://docker.ad.ignidata.corporate:5000/mongodb"
  18:01:40.448 deimos.containerizer.launch() }

These logs suggest that the `container` field of the Marathon
JSON was not filled in. The Marathon JSON would look something
like this:

  {
    "id": "mongodb.dev"
    "cpus": 1,
    "mem": 1024,
    "instances": 1,
    "cmd": "",
    "container": {
      "image": "docker://docker.ad.ignidata.corporate:5000/mongodb"
    }
  }

I hope that is helpful.

--
Jason Dusek

Hugo Matinho

unread,
May 15, 2014, 3:03:05 PM5/15/14
to marathon-...@googlegroups.com
Hi Jason, spot on, but marathon isn't allowing me to provide an empty field in command

Jason Dusek

unread,
May 15, 2014, 3:28:11 PM5/15/14
to Hugo Matinho, marathon-...@googlegroups.com
Which version of Marathon are you using? We have a branch up for use with external containerizers:
We have a Gist up, that documents that whole setup process and pinpoints specific versions to use:

  https://gist.github.com/solidsnack/10944095


--

Hugo Matinho

unread,
May 15, 2014, 5:01:07 PM5/15/14
to marathon-...@googlegroups.com
Hi Jason, it's running now thanks a lot for the help
we were indeed invoking the rest api incorrectly for the container image, one quick question regarding exposed ports, is there an options flag to maximise the number of ports? we getting just one port in marathon though we did expose more than one in docker


On Tuesday, 13 May 2014 12:40:55 UTC+1, Hugo Matinho wrote:

Jason Dusek

unread,
May 15, 2014, 5:13:33 PM5/15/14
to Hugo Matinho, marathon-...@googlegroups.com
You can expose more ports with the `ports` parameter. To get three random ports, pass an array of zeroes:

  {
    ...
    "ports": [0, 0, 0]
    ...
  }



--

Patrick White

unread,
Jul 17, 2014, 1:18:22 AM7/17/14
to marathon-...@googlegroups.com, hugo...@gmail.com
Hey Everyone,
Just following this thread - did containerization get pulled into Marathon 0.6, or do we still need to use the 0.5.0 branch specifically for it?

Thanks!
-PW
To unsubscribe from this group and stop receiving emails from it, send an email to marathon-framework+unsub...@googlegroups.com.

Tobi Knaup

unread,
Jul 17, 2014, 1:08:25 PM7/17/14
to Patrick White, marathon-...@googlegroups.com, Hugo Matinho
It's in 0.6!


To unsubscribe from this group and stop receiving emails from it, send an email to marathon-framew...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Tobi Knaup
CTO & Founder
Reply all
Reply to author
Forward
0 new messages