{{page-title "Client " (or this.model.name this.model.shortId)}}
{{#if this.eligibilityError}}

Eligibility Error

{{this.eligibilityError}}

{{/if}} {{#if this.stopDrainError}}

Stop Drain Error

{{this.stopDrainError}}

{{/if}} {{#if this.drainError}}

Drain Error

{{this.drainError}}

{{/if}} {{#if this.showDrainStoppedNotification}}

Drain Stopped

The drain has been stopped and the node has been set to ineligible.

{{/if}} {{#if this.showDrainUpdateNotification}}

Drain Updated

The new drain specification has been applied.

{{/if}} {{#if this.showDrainNotification}}

Drain Complete

Allocations have been drained and the node has been set to ineligible.

{{/if}}
{{x-icon this.model.compositeStatusIcon}}

{{or this.model.name this.model.shortId}}

{{this.model.id}}

{{#if this.model.isDraining}} {{/if}}
Client Details Status {{this.model.status}} Address {{this.model.httpAddr}} Datacenter {{this.model.datacenter}} {{#if this.model.nodeClass}} Class {{this.model.nodeClass}} {{/if}} Drivers {{#if this.model.unhealthyDrivers.length}} {{x-icon "alert-triangle" class="is-text is-warning"}} {{this.model.unhealthyDrivers.length}} of {{this.model.detectedDrivers.length}} {{pluralize "driver" this.model.detectedDrivers.length}} unhealthy {{else}} All healthy {{/if}}
{{#if this.model.drainStrategy}}
Drain Strategy
{{#unless this.model.drainStrategy.hasNoDeadline}} Duration {{#if this.model.drainStrategy.isForced}} -- {{else}} {{format-duration this.model.drainStrategy.deadline}} {{/if}} {{/unless}} {{if this.model.drainStrategy.hasNoDeadline "Deadline" "Remaining" }} {{#if this.model.drainStrategy.hasNoDeadline}} No deadline {{else if this.model.drainStrategy.isForced}} -- {{else}} {{moment-from-now this.model.drainStrategy.forceDeadline interval=1000 hideAffix=true }} {{/if}} Force Drain {{#if this.model.drainStrategy.isForced}} {{x-icon "alert-triangle" class="is-text is-warning"}}Yes {{else}} No {{/if}} Drain System Jobs {{if this.model.drainStrategy.ignoreSystemJobs "No" "Yes"}}
{{#unless this.model.drainStrategy.isForced}}
{{/unless}}

Complete

{{this.model.completeAllocations.length}}

Migrating

{{this.model.migratingAllocations.length}}

Remaining

{{this.model.runningAllocations.length}}

Status

{{#if this.model.lastMigrateTime}}

{{moment-to-now this.model.lastMigrateTime interval=1000 hideAffix=true }} since an allocation was successfully migrated.

{{else}}

No allocations migrated.

{{/if}}
{{/if}}
Host Resource Utilization {{x-icon "info-circle-outline" class="is-faded"}}
Allocations {{#if this.preemptions.length}} {{/if}}
Show Tasks
{{#if this.sortedAllocations.length}} ID Created Modified Status Job Version Volume CPU Memory {{#if this.showSubTasks}} {{#each row.model.states as |task|}} {{/each}} {{/if}}
{{else}}
{{#if (eq this.visibleAllocations.length 0)}}

No Allocations

The node doesn't have any allocations.

{{else if this.searchTerm}}

No Matches

No allocations match the term {{this.searchTerm}}

{{else if (eq this.sortedAllocations.length 0)}}

No Matches

No allocations match your current filter selection.

{{/if}}
{{/if}}
Client Events
Time Subsystem Message {{format-ts row.model.time}} {{row.model.subsystem}} {{#if row.model.message}} {{#if row.model.driver}} {{row.model.driver}} {{/if}} {{row.model.message}} {{else}} No message {{/if}}
{{#if this.sortedHostVolumes.length}}
Host Volumes
Name Source Permissions {{row.model.name}} {{row.model.path}} {{if row.model.readOnly "Read" "Read/Write"}}
{{/if}}
Driver Status
{{a.item.name}}
{{#if a.item.detected}} {{if a.item.healthy "Healthy" "Unhealthy"}} {{/if}}
Detected {{if a.item.detected "Yes" "No"}} Last Updated {{moment-from-now a.item.updateTime interval=1000}}

{{a.item.healthDescription}}

{{capitalize a.item.name}} Attributes
{{#if a.item.attributes.structured}}
{{else}}

No Driver Attributes

{{/if}}
Attributes
Meta
{{#if this.model.meta.structured}}
{{else}}

No Meta Attributes

This client is configured with no meta attributes.

{{/if}}