{{title "Allocation " model.name}}
{{#if error}}

{{error.title}}

{{error.description}}

{{/if}}

Allocation {{model.name}} {{model.clientStatus}} {{model.id}} {{copy-button clipboardText=model.id}} {{#if model.isRunning}} {{two-step-button data-test-stop idleText="Stop" cancelText="Cancel" confirmText="Yes, Stop" confirmationMessage="Are you sure? This will reschedule the allocation on a different client." awaitingConfirmation=stopAllocation.isRunning disabled=(or stopAllocation.isRunning restartAllocation.isRunning) onConfirm=(perform stopAllocation)}} {{two-step-button data-test-restart idleText="Restart" cancelText="Cancel" confirmText="Yes, Restart" confirmationMessage="Are you sure? This will restart the allocation in-place." awaitingConfirmation=restartAllocation.isRunning disabled=(or stopAllocation.isRunning restartAllocation.isRunning) onConfirm=(perform restartAllocation)}} {{/if}}

Allocation Details Job {{#link-to "jobs.job" model.job (query-params jobNamespace=model.job.namespace.id) data-test-job-link}}{{model.job.name}}{{/link-to}} Client {{#link-to "clients.client" model.node data-test-client-link}}{{model.node.shortId}}{{/link-to}}
Resource Utilization
{{#if model.isRunning}}
{{primary-metric resource=model metric="cpu"}}
{{primary-metric resource=model metric="memory"}}
{{else}}

Allocation isn't running

Only running allocations utilize resources.

{{/if}}
Tasks
{{#if sortedStates.length}} {{#list-table source=sortedStates sortProperty=sortProperty sortDescending=sortDescending class="is-striped" as |t|}} {{#t.head}} {{#t.sort-by prop="name"}}Name{{/t.sort-by}} {{#t.sort-by prop="state"}}State{{/t.sort-by}} Last Event {{#t.sort-by prop="events.lastObject.time"}}Time{{/t.sort-by}} Addresses CPU Memory {{/t.head}} {{#t.body as |row|}} {{task-row data-test-task-row=row.model.name task=row.model onClick=(action "taskClick" row.model.allocation row.model)}} {{/t.body}} {{/list-table}} {{else}}

No Tasks

Allocations will not have tasks until they are in a running state.

{{/if}}
{{#if model.hasRescheduleEvents}}
Reschedule Events
{{reschedule-event-timeline allocation=model}}
{{/if}} {{#if model.wasPreempted}}
Preempted By
{{#if (not preempter)}}

Allocation is gone

This allocation has been stopped and garbage collected.

{{else}}
{{preempter.clientStatus}} {{preempter.name}} {{#link-to "allocations.allocation" preempter data-test-allocation-id}}{{preempter.shortId}}{{/link-to}} Job {{#link-to "jobs.job" preempter.job (query-params jobNamespace=preempter.job.namespace.id) data-test-job-link}}{{preempter.job.name}}{{/link-to}} Priority {{preempter.job.priority}} Client {{#link-to "clients.client" preempter.node data-test-client-link}}{{preempter.node.shortId}}{{/link-to}} Reserved CPU {{preempter.resources.cpu}} MHz Reserved Memory {{preempter.resources.memory}} MiB
{{/if}}
{{/if}} {{#if (and model.preemptedAllocations.isFulfilled model.preemptedAllocations.length)}}
Preempted Allocations
{{#list-table source=model.preemptedAllocations class="allocations is-isolated" as |t|}} {{#t.head}} ID Task Group Created Modified Status Version Node CPU Memory {{/t.head}} {{#t.body as |row|}} {{allocation-row allocation=row.model context="job" data-test-allocation=row.model.id}} {{/t.body}} {{/list-table}}
{{/if}}