It seems that if I take the URL that the "Download" button for stderr points to and curl it, I get the file. But, if I change the container_id to "latest" instead of the UUID, then I get a 404. Is there another way to resolve what the container_id is, since it seems critical to get files programmatically.
On Wed, Jan 21, 2015 at 3:17 PM, Ian Downes <idow...@twitter.com> wrote: > No, the container id is generated by the slave when it launches the > executor for a task (see Framework::launchExecutor() in > src/slave/slave.cpp). > > However, the 'latest' symlink will point to the most recent container_id > directory so you can likely just use that unless your framework is re-using > executor_ids (which would mean a new container for each run). > > On Wed, Jan 21, 2015 at 11:52 AM, David Greenberg <dsg123456...@gmail.com> > wrote: > >> Is it possible to know the container_id prior when you submit the >> TaskInfo? If not, how can you find it out? >> >> On Wed, Jan 21, 2015 at 1:17 PM, Ian Downes <idow...@twitter.com> wrote: >> >>> The final component is the container_id. Take a look in >>> src/slave/paths.hpp to see the directory layout. >>> >>> On Wed, Jan 21, 2015 at 8:50 AM, David Greenberg <dsg123456...@gmail.com >>> > wrote: >>> >>>> So, I've looked into this more, and the UUID in "runs" doesn't appear >>>> appear to be the task-id, executor-id, or framework-id. do you have any >>>> idea what it could be? >>>> >>>> On Tue, Jan 13, 2015 at 5:21 PM, David Greenberg < >>>> dsg123456...@gmail.com> wrote: >>>> >>>>> Thank you for your answers! >>>>> >>>>> On Tue, Jan 13, 2015 at 5:15 PM, Tim Chen <t...@mesosphere.io> wrote: >>>>> >>>>>> You can get the slave_id, framework_id and executor_id of a task all >>>>>> from state.json. >>>>>> >>>>>> ie: >>>>>> >>>>>> >>>>>> - { >>>>>> - executor_id: "20141231-115728-16777343-5050-49193-S0", >>>>>> - framework_id: "20141231-115728-16777343-5050-49193-0000", >>>>>> - id: "1", >>>>>> - labels: [ ], >>>>>> - name: "Task 1", >>>>>> - resources: >>>>>> { >>>>>> - cpus: 6, >>>>>> - disk: 0, >>>>>> - mem: 13312 >>>>>> }, >>>>>> - slave_id: "20141231-115728-16777343-5050-49193-S0", >>>>>> - state: "TASK_KILLED", >>>>>> - statuses: >>>>>> [ >>>>>> - >>>>>> { >>>>>> - state: "TASK_RUNNING", >>>>>> - timestamp: 1420056049.88177 >>>>>> }, >>>>>> - >>>>>> { >>>>>> - state: "TASK_KILLED", >>>>>> - timestamp: 1420056124.66483 >>>>>> } >>>>>> ] >>>>>> }, >>>>>> >>>>>> >>>>>> On Tue, Jan 13, 2015 at 1:48 PM, David Greenberg < >>>>>> dsg123456...@gmail.com> wrote: >>>>>> >>>>>>> I was trying to figure out how to programmatically access a task's >>>>>>> stdout & stderr, and I don't fully understand how the URL is >>>>>>> constructed. >>>>>>> It seems to be of the form http:// >>>>>>> $slave_url:5050/read.json?$work_dir/work/slaves/$slave_id/frameworks/$framework_id/executors/$executor_id/runs/$something >>>>>>> >>>>>>> What is the $something? Is there an easier way, given just the >>>>>>> task_id, to find where the output is? >>>>>>> >>>>>>> Thanks, >>>>>>> David >>>>>>> >>>>>> >>>>>> >>>>> >>>> >>> >> >