open-nomad/ui/app/templates/components/allocation-row.hbs
Jai 08fde3a4ff
refact: upgrade Promise.then to async/await (#14798)
* refact: upgrade Promise.then to async/await

* naive solution (#14800)

* refact: use id instead of model

* chore:  add changelog entry

* refact: add conditional safety around alloc
2022-10-20 14:25:41 -04:00

134 lines
3.5 KiB
Handlebars

<td data-test-indicators class="is-narrow">
{{#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 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.id}}
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
(format-job-id this.allocation.job.id)
this.allocation.taskGroupName
}}
>
{{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}}"></span>
{{this.allocation.clientStatus}}
</td>
{{#if (eq this.context "volume")}}
<td data-test-client>
<Tooltip @text={{this.allocation.node.name}}>
<LinkTo @route="clients.client" @model={{this.allocation.node}}>
{{this.allocation.node.shortId}}
</LinkTo>
</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.node.name}}>
<LinkTo @route="clients.client" @model={{this.allocation.node}}>
{{this.allocation.node.shortId}}
</LinkTo>
</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={{format-job-id this.allocation.job.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>