mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aaron Wood via Review Board <nore...@reviews.apache.org>
Subject Re: Review Request 59641: Follow symlinks when resolving paths specified in the various master/agent endpoints.
Date Fri, 02 Jun 2017 14:28:04 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/59641/
-----------------------------------------------------------

(Updated June 2, 2017, 2:28 p.m.)


Review request for mesos, Andrew Schwartzmeyer, James Peach, Vinod Kone, and Zhitao Li.


Changes
-------

Added check to make sure the attached latest symlink is cleaned up.


Bugs: MESOS-7572
    https://issues.apache.org/jira/browse/MESOS-7572


Repository: mesos


Description
-------

The main benefit of following symlinks in endpoints such as `/files` is that frameworks will
be able to construct a path to the sandbox much easier. This will assist framework developers
in making features that need to provide a path when hitting various operator API endpoints.
Currently, making use of a path ending in `runs/latest` throws a 404.

One such application could be a scheduler providing the ability for users to work with their
task's sandbox directly without going to the Mesos UI, API endpoints, or the actual system
themselves.


Diffs (updated)
-----

  src/slave/slave.cpp 14de72fa4 
  src/tests/gc_tests.cpp b8fa6a4b9 


Diff: https://reviews.apache.org/r/59641/diff/5/

Changes: https://reviews.apache.org/r/59641/diff/4-5/


Testing
-------

`mkdir build && cd build && cmake .. && make -j2 && make check
-j2`

Checked the original behavior: 
```
curl -i localhost:5051/files/browse?path=/tmp/slave/slaves/d3566e51-4d13-4ed1-b66b-d538d3d7ef28-S0/frameworks/d3566e51-4d13-4ed1-b66b-d538d3d7ef28-0001/executors/testapp-924b5c1524d84676a6a71665e2054d31/runs/cbec99c9-da2d-4aaa-bab7-4cee9a4df031
HTTP/1.1 200 OK
Date: Tue, 30 May 2017 17:43:08 GMT
Content-Length: 644
Content-Type: application/json

[{"gid":"root","mode":"-rw-r--r--","mtime":1496161813.0,"nlink":1,"path":"\/tmp\/slave\/slaves\/d3566e51-4d13-4ed1-b66b-d538d3d7ef28-S0\/frameworks\/d3566e51-4d13-4ed1-b66b-d538d3d7ef28-0001\/executors\/testapp-924b5c1524d84676a6a71665e2054d31\/runs\/cbec99c9-da2d-4aaa-bab7-4cee9a4df031\/stderr","size":255,"uid":"root"},{"gid":"root","mode":"-rw-r--r--","mtime":1496161812.0,"nlink":1,"path":"\/tmp\/slave\/slaves\/d3566e51-4d13-4ed1-b66b-d538d3d7ef28-S0\/frameworks\/d3566e51-4d13-4ed1-b66b-d538d3d7ef28-0001\/executors\/testapp-924b5c1524d84676a6a71665e2054d31\/runs\/cbec99c9-da2d-4aaa-bab7-4cee9a4df031\/stdout","size":1142,"uid":"root"}]
```

Checked the new behavior (this would return a 404 before this patch):
```
curl -i localhost:5051/files/browse?path=/tmp/slave/slaves/d3566e51-4d13-4ed1-b66b-d538d3d7ef28-S0/frameworks/d3566e51-4d13-4eors/testapp-924b5c1524d84676a6a71665e2054d31/runs/latest
HTTP/1.1 200 OK
Date: Tue, 30 May 2017 17:43:13 GMT
Content-Length: 584
Content-Type: application/json

[{"gid":"root","mode":"-rw-r--r--","mtime":1496161813.0,"nlink":1,"path":"\/tmp\/slave\/slaves\/d3566e51-4d13-4ed1-b66b-d538d3d7ef28-S0\/frameworks\/d3566e51-4d13-4ed1-b66b-d538d3d7ef28-0001\/executors\/testapp-924b5c1524d84676a6a71665e2054d31\/runs\/latest\/stderr","size":255,"uid":"root"},{"gid":"root","mode":"-rw-r--r--","mtime":1496161812.0,"nlink":1,"path":"\/tmp\/slave\/slaves\/d3566e51-4d13-4ed1-b66b-d538d3d7ef28-S0\/frameworks\/d3566e51-4d13-4ed1-b66b-d538d3d7ef28-0001\/executors\/testapp-924b5c1524d84676a6a71665e2054d31\/runs\/latest\/stdout","size":1142,"uid":"root"}]
```


Thanks,

Aaron Wood


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message