97 lines
3.6 KiB
Handlebars
97 lines
3.6 KiB
Handlebars
<td data-test-indicators class="is-narrow">
|
|
{{#if (can "read client")}}
|
|
{{#if this.allocation.unhealthyDrivers.length}}
|
|
<span data-test-icon="unhealthy-driver" class="tooltip text-center" role="tooltip" aria-label="Allocation depends on unhealthy drivers">
|
|
{{x-icon "alert-triangle" class="is-warning"}}
|
|
</span>
|
|
{{/if}}
|
|
{{/if}}
|
|
{{#if this.allocation.nextAllocation}}
|
|
<span data-test-icon="reschedule" class="tooltip text-center" role="tooltip" aria-label="Allocation was rescheduled">
|
|
{{x-icon "history" class="is-faded"}}
|
|
</span>
|
|
{{/if}}
|
|
{{#if this.allocation.wasPreempted}}
|
|
<span data-test-icon="preemption" class="tooltip text-center" role="tooltip" aria-label="Allocation was preempted">
|
|
{{x-icon "boot" class="is-faded"}}
|
|
</span>
|
|
{{/if}}
|
|
</td>
|
|
<td data-test-short-id>
|
|
<LinkTo @route="allocations.allocation" @model={{this.allocation}} class="is-primary">
|
|
{{this.allocation.shortId}}
|
|
</LinkTo>
|
|
</td>
|
|
{{#if (eq this.context "job")}}
|
|
<td data-test-task-group>
|
|
<LinkTo @route="jobs.job.task-group" @models={{array this.allocation.job this.allocation.taskGroupName}} @query={{hash jobNamespace=this.allocation.job.namespace.id}}>
|
|
{{this.allocation.taskGroupName}}
|
|
</LinkTo>
|
|
</td>
|
|
{{/if}}
|
|
<td data-test-create-time>{{format-month-ts this.allocation.createTime}}</td>
|
|
<td data-test-modify-time>
|
|
<span class="tooltip" aria-label="{{format-month-ts this.allocation.modifyTime}}">
|
|
{{moment-from-now this.allocation.modifyTime}}
|
|
</span>
|
|
</td>
|
|
<td data-test-client-status class="is-one-line">
|
|
<span class="color-swatch {{this.allocation.clientStatus}}" /> {{this.allocation.clientStatus}}
|
|
</td>
|
|
{{#if (eq this.context "volume")}}
|
|
<td data-test-client>
|
|
<Tooltip @text={{this.allocation.nodeName}}>
|
|
{{#if (can "read client")}}
|
|
<LinkTo @route="clients.client" @model={{this.allocation.node}}>
|
|
{{this.allocation.shortNodeId}}
|
|
</LinkTo>
|
|
{{else}}
|
|
{{this.allocation.shortNodeId}}
|
|
{{/if}}
|
|
</Tooltip>
|
|
</td>
|
|
{{/if}}
|
|
{{#if (or (eq this.context "taskGroup") (eq this.context "job"))}}
|
|
<td data-test-job-version>{{this.allocation.jobVersion}}</td>
|
|
<td data-test-client>
|
|
<Tooltip @text={{this.allocation.nodeName}}>
|
|
{{#if (can "read client")}}
|
|
<LinkTo @route="clients.client" @model={{this.allocation.node}}>
|
|
{{this.allocation.shortNodeId}}
|
|
</LinkTo>
|
|
{{else}}
|
|
{{this.allocation.shortNodeId}}
|
|
{{/if}}
|
|
</Tooltip>
|
|
</td>
|
|
{{else if (or (eq this.context "node") (eq this.context "volume"))}}
|
|
<td>
|
|
{{#if (or this.allocation.job.isPending this.allocation.job.isReloading)}}
|
|
...
|
|
{{else}}
|
|
<LinkTo @route="jobs.job" @model={{this.allocation.job}} @query={{hash jobNamespace=this.allocation.job.namespace.id}} data-test-job>{{this.allocation.job.name}}</LinkTo>
|
|
<span class="is-faded" data-test-task-group>/ {{this.allocation.taskGroup.name}}</span>
|
|
{{/if}}
|
|
</td>
|
|
<td data-test-job-version class="is-1">{{this.allocation.jobVersion}}</td>
|
|
{{/if}}
|
|
{{#if (not (eq this.context "volume"))}}
|
|
<td data-test-volume>{{if this.allocation.taskGroup.volumes.length "Yes"}}</td>
|
|
{{/if}}
|
|
<td data-test-cpu class="is-1 has-text-centered">
|
|
<AllocationStat
|
|
@metric="cpu"
|
|
@allocation={{this.allocation}}
|
|
@statsTracker={{this.stats}}
|
|
@isLoading={{this.fetchStats.isRunning}}
|
|
@error={{this.statsError}} />
|
|
</td>
|
|
<td data-test-mem class="is-1 has-text-centered">
|
|
<AllocationStat
|
|
@metric="memory"
|
|
@allocation={{this.allocation}}
|
|
@statsTracker={{this.stats}}
|
|
@isLoading={{this.fetchStats.isRunning}}
|
|
@error={{this.statsError}} />
|
|
</td>
|