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
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to