open-nomad/ui/app/templates/components/allocation-row.hbs
Jai 316daf581e
fix broken link to task-group in Recent Allocation table in jobs.job.index (#12765)
* chore:  run prettier on hbs files

* ui:  ensure to pass a real job object to task-group link

* chore:  add changelog entry

* chore: prettify template

* ui:  template helper for formatting jobId in LinkTo component

* ui:  handle async relationship

* ui:  pass in job id to model arg instead of job model

* update test for serialized namespace

* ui:  defend against null  in tests

* ui:  prettified template added whitespace

* ui:  rollback ember-data to 3.24 because watcher return undefined on abort

* ui: use format-job-helper instead of job model via alloc

* ui: fix whitespace in template caused by prettier using template helper

* ui: update test for new namespace

* ui: revert prettier change

Co-authored-by: Luiz Aoqui <luiz@hashicorp.com>
2022-04-28 14:02:15 -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}}
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>