2020-07-09 20:19:07 +00:00
|
|
|
{{#if this.placementFailures}}
|
|
|
|
{{#with this.placementFailures as |failures|}}
|
2018-01-18 10:53:39 +00:00
|
|
|
<h3 class="title is-5" data-test-placement-failure-task-group>
|
2020-07-09 20:19:07 +00:00
|
|
|
{{this.placementFailures.name}}
|
2018-01-18 11:52:49 +00:00
|
|
|
<span class="badge is-light" data-test-placement-failure-coalesced-failures>{{inc failures.coalescedFailures}} unplaced</span>
|
2018-01-15 12:49:08 +00:00
|
|
|
</h3>
|
|
|
|
<ul class="simple-list">
|
|
|
|
{{#if (eq failures.nodesEvaluated 0)}}
|
2018-01-18 11:52:49 +00:00
|
|
|
<li data-test-placement-failure-no-evaluated-nodes>No nodes were eligible for evaluation</li>
|
2018-01-15 12:49:08 +00:00
|
|
|
{{/if}}
|
|
|
|
{{#each-in failures.nodesAvailable as |datacenter available|}}
|
|
|
|
{{#if (eq available 0)}}
|
2018-01-18 11:52:49 +00:00
|
|
|
<li data-test-placement-failure-no-nodes-available="{{datacenter}}">No nodes are available in datacenter {{datacenter}}</li>
|
2018-01-15 12:49:08 +00:00
|
|
|
{{/if}}
|
|
|
|
{{/each-in}}
|
|
|
|
{{#each-in failures.classFiltered as |class count|}}
|
2018-01-18 12:14:42 +00:00
|
|
|
<li data-test-placement-failure-class-filtered="{{class}}">Class {{class}} filtered {{count}} {{pluralize "node" count}}</li>
|
2018-01-15 12:49:08 +00:00
|
|
|
{{/each-in}}
|
|
|
|
{{#each-in failures.constraintFiltered as |constraint count|}}
|
2018-01-18 12:14:42 +00:00
|
|
|
<li data-test-placement-failure-constraint-filtered="{{constraint}}">Constraint <code>{{constraint}}</code> filtered {{count}} {{pluralize "node" count}}</li>
|
2018-01-15 12:49:08 +00:00
|
|
|
{{/each-in}}
|
|
|
|
{{#if failures.nodesExhausted}}
|
2018-01-18 12:14:42 +00:00
|
|
|
<li data-test-placement-failure-nodes-exhausted>Resources exhausted on {{failures.nodesExhausted}} {{pluralize "node" failures.nodesExhausted}}</li>
|
2018-01-15 12:49:08 +00:00
|
|
|
{{/if}}
|
|
|
|
{{#each-in failures.classExhausted as |class count|}}
|
2018-01-18 12:14:42 +00:00
|
|
|
<li data-test-placement-failure-class-exhausted="{{class}}">Class {{class}} exhausted on {{count}} {{pluralize "node" count}}</li>
|
2018-01-15 12:49:08 +00:00
|
|
|
{{/each-in}}
|
|
|
|
{{#each-in failures.dimensionExhausted as |dimension count|}}
|
2018-01-18 12:14:42 +00:00
|
|
|
<li data-test-placement-failure-dimension-exhausted="{{dimension}}">Dimension {{dimension}} exhausted on {{count}} {{pluralize "node" count}}</li>
|
2018-01-15 12:49:08 +00:00
|
|
|
{{/each-in}}
|
|
|
|
{{#each-in failures.quotaExhausted as |quota dimension|}}
|
2018-01-18 12:14:42 +00:00
|
|
|
<li data-test-placement-failure-quota-exhausted="{{quota}}">Quota limit hit {{dimension}}</li>
|
2018-01-15 12:49:08 +00:00
|
|
|
{{/each-in}}
|
|
|
|
{{#each-in failures.scores as |name score|}}
|
2018-01-18 12:14:42 +00:00
|
|
|
<li data-test-placement-failure-scores="{{name}}">Score {{name}} = {{score}}</li>
|
2018-01-15 12:49:08 +00:00
|
|
|
{{/each-in}}
|
|
|
|
</ul>
|
|
|
|
{{/with}}
|
|
|
|
{{/if}}
|