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 <[email protected]> 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 <[email protected]> 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 <[email protected]> >> 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 <[email protected] >>> > wrote: >>> >>>> Thank you for your answers! >>>> >>>> On Tue, Jan 13, 2015 at 5:15 PM, Tim Chen <[email protected]> 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 < >>>>> [email protected]> 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 >>>>>> >>>>> >>>>> >>>> >>> >> >

