You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Rafael Capucho (JIRA)" <ji...@apache.org> on 2015/09/28 16:39:04 UTC

[jira] [Created] (MESOS-3533) Unable to find and run URIs files

Rafael Capucho created MESOS-3533:
-------------------------------------

             Summary: Unable to find and run URIs files
                 Key: MESOS-3533
                 URL: https://issues.apache.org/jira/browse/MESOS-3533
             Project: Mesos
          Issue Type: Bug
          Components: fetcher, general
    Affects Versions: 0.25.0
         Environment: Linux li202-122 4.1.5-x86_64-linode61 #7 SMP Mon Aug 24 13:46:31 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux
Ubuntu 14.04.1 LTS
Docker Version: 1.8.2
Docker API version: 1.20
Go version: go1.4.2
            Reporter: Rafael Capucho
            Priority: Blocker


Hello,

Deploying a docker container using marathon 0.11 with the following structure (just example, I had tried some variations with same result):

{
  "id": "testando-flask",
  "cmd": "ls -l; pip install -r requeriments.txt; ls -l; python app.py",
  "cpus": 0.5,
  "mem": 20.0,
  "container": {
    "type": "DOCKER",
    "docker": {
      "image": "therealwardo/python-2.7-pip",
      "network": "BRIDGE",
      "privileged": true,
      "portMappings": [
        { "containerPort": 31177, "hostPort": 0 }
      ]
    }
  },
  "uris": [
    "http://blog.rafaelcapucho.com/app.zip"
  ]
}

curl -X POST http://173.255.192.XXX:8080/v2/apps -d @flask.json -H "Content-type: application/json"

The task are reaching mesos master properly but it failed. When I execute the same structure without uris and with a simple "python -m SimpleHTTPServer" it works! The docker is created and running.

Analyzing the sandbox on Mesos UI I can see that the files of URIs are download correctly, the project and the requirements.txt in stdout I got: 

Archive:  /tmp/mesos/slaves/fe42c404-7266-462b-adf5-549311bfbf32-S37/frameworks/fe42c404-7266-462b-adf5-549311bfbf32-0000/executors/testando-flask.a5ef5aad-65de-11e5-8b11-0242ac1101eb/runs/28e2dbd9-fa10-4d96-baec-0c89868237ff/app.zip
  inflating: /tmp/mesos/slaves/fe42c404-7266-462b-adf5-549311bfbf32-S37/frameworks/fe42c404-7266-462b-adf5-549311bfbf32-0000/executors/testando-flask.a5ef5aad-65de-11e5-8b11-0242ac1101eb/runs/28e2dbd9-fa10-4d96-baec-0c89868237ff/app.py  
 extracting: /tmp/mesos/slaves/fe42c404-7266-462b-adf5-549311bfbf32-S37/frameworks/fe42c404-7266-462b-adf5-549311bfbf32-0000/executors/testando-flask.a5ef5aad-65de-11e5-8b11-0242ac1101eb/runs/28e2dbd9-fa10-4d96-baec-0c89868237ff/requeriments.txt  
--container="mesos-fe42c404-7266-462b-adf5-549311bfbf32-S37.28e2dbd9-fa10-4d96-baec-0c89868237ff" --docker="docker" --docker_socket="/var/run/docker.sock" --help="false" --initialize_driver_logging="true" --logbufsecs="0" --logging_level="INFO" --mapped_directory="/mnt/mesos/sandbox" --quiet="false" --sandbox_directory="/tmp/mesos/slaves/fe42c404-7266-462b-adf5-549311bfbf32-S37/frameworks/fe42c404-7266-462b-adf5-549311bfbf32-0000/executors/testando-flask.a5ef5aad-65de-11e5-8b11-0242ac1101eb/runs/28e2dbd9-fa10-4d96-baec-0c89868237ff" --stop_timeout="0ns"
--container="mesos-fe42c404-7266-462b-adf5-549311bfbf32-S37.28e2dbd9-fa10-4d96-baec-0c89868237ff" --docker="docker" --docker_socket="/var/run/docker.sock" --help="false" --initialize_driver_logging="true" --logbufsecs="0" --logging_level="INFO" --mapped_directory="/mnt/mesos/sandbox" --quiet="false" --sandbox_directory="/tmp/mesos/slaves/fe42c404-7266-462b-adf5-549311bfbf32-S37/frameworks/fe42c404-7266-462b-adf5-549311bfbf32-0000/executors/testando-flask.a5ef5aad-65de-11e5-8b11-0242ac1101eb/runs/28e2dbd9-fa10-4d96-baec-0c89868237ff" --stop_timeout="0ns"
Registered docker executor on li202-122.members.linode.com
Starting task testando-flask.a5ef5aad-65de-11e5-8b11-0242ac1101eb
Could not open requirements file: [Errno 2] No such file or directory: 'requeriments.txt'
Storing complete log in /root/.pip/pip.log
total 68
drwxr-xr-x   2 root root  4096 Jan 15  2015 bin
drwxr-xr-x   2 root root  4096 Apr 19  2012 boot
drwxr-xr-x  10 root root 13740 Sep 28 12:44 dev
drwxr-xr-x  46 root root  4096 Sep 28 12:44 etc
drwxr-xr-x   2 root root  4096 Apr 19  2012 home
drwxr-xr-x  11 root root  4096 Jan 15  2015 lib
drwxr-xr-x   2 root root  4096 Jan 15  2015 lib64
drwxr-xr-x   2 root root  4096 Jan 15  2015 media
drwxr-xr-x   3 root root  4096 Sep 28 12:44 mnt
drwxr-xr-x   2 root root  4096 Jan 15  2015 opt
dr-xr-xr-x 170 root root     0 Sep 28 12:44 proc
drwx------   3 root root  4096 Sep 28 12:44 root
drwxr-xr-x   5 root root  4096 Jan 15  2015 run
drwxr-xr-x   2 root root  4096 Jan 16  2015 sbin
drwxr-xr-x   2 root root  4096 Mar  5  2012 selinux
drwxr-xr-x   2 root root  4096 Jan 15  2015 srv
dr-xr-xr-x  13 root root     0 Sep 27 14:28 sys
drwxrwxrwt   2 root root  4096 Jan 24  2015 tmp
drwxr-xr-x  10 root root  4096 Jan 16  2015 usr
drwxr-xr-x  11 root root  4096 Jan 16  2015 var

So I can see the files in Sandbox UI but It dont appear in the fold.

My Mesos Master:
docker run -d --net="host" --restart="always" --name="mesos-master"  -p 5050:5050 -e "MESOS_HOSTNAME=${HOST_IP}" -e "MESOS_IP=${HOST_IP}" -e "MESOS_ZK=zk://${HOST_IP}:2181/mesos" -e "MESOS_PORT=5050" -e "MESOS_LOG_DIR=/var/log/mesos" -e "MESOS_QUORUM=1" -e "MESOS_REGISTRY=in_memory" -e "MESOS_WORK_DIR=/var/lib/mesos" -e "MESOS_CLUSTER=ATLAS" rafa/docker-mesos-master mesos-master

My Mesos Slave:
docker run --privileged -d -p 31000-31300:31000-31300 \
--name="mesos_slave" \
--restart="always" \
--net="host" \
-v $(which docker):/bin/docker \
-v $(ldconfig -p | grep 'libdevmapper.so.1.02' | awk '{print $4}'):/usr/lib/libdevmapper.so.1.02 \
-v /sys:/sys \
-v /var/run/docker.sock:/var/run/docker.sock \
-e "MESOS_MASTER=zk://${HOST_IP}:2181/mesos" \
-e "MESOS_LOG_DIR=/var/log/mesos" \
-e "MESOS_CONTAINERIZERS=docker,mesos" \
-e "MESOS_LOGGING_LEVEL=INFO" \
rafa/docker-mesos-slave mesos-slave



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)