github.com/Ilhicas/nomad@v1.0.4-0.20210304152020-e86851182bc3/ui/app/templates/components/job-editor.hbs (about) 1 {{#if this.parseError}} 2 <div data-test-parse-error class="notification is-danger"> 3 <h3 class="title is-4" data-test-parse-error-title>Parse Error</h3> 4 <p data-test-parse-error-message>{{this.parseError}}</p> 5 </div> 6 {{/if}} 7 {{#if this.planError}} 8 <div data-test-plan-error class="notification is-danger"> 9 <h3 class="title is-4" data-test-plan-error-title>Plan Error</h3> 10 <p data-test-plan-error-message>{{this.planError}}</p> 11 </div> 12 {{/if}} 13 {{#if this.runError}} 14 <div data-test-run-error class="notification is-danger"> 15 <h3 class="title is-4" data-test-run-error-title>Run Error</h3> 16 <p data-test-run-error-message>{{this.runError}}</p> 17 </div> 18 {{/if}} 19 20 {{#if (eq this.stage "editor")}} 21 {{#if (and this.showEditorMessage (eq this.context "new"))}} 22 <div class="notification is-info"> 23 <div class="columns"> 24 <div class="column"> 25 <h3 class="title is-4" data-test-editor-help-title>Run a Job</h3> 26 <p data-test-editor-help-message>Paste or author HCL or JSON to submit to your cluster. A plan will be requested before the job is submitted.</p> 27 </div> 28 <div class="column is-centered is-minimum"> 29 <button class="button is-info" onclick={{toggle-action "showEditorMessage" this}} data-test-editor-help-dismiss type="button">Okay</button> 30 </div> 31 </div> 32 </div> 33 {{/if}} 34 <div class="boxed-section"> 35 <div class="boxed-section-head"> 36 Job Definition 37 {{#if this.cancelable}} 38 <button class="button is-light is-compact pull-right" onclick={{action this.onCancel}} data-test-cancel-editing type="button">Cancel</button> 39 {{/if}} 40 </div> 41 <div class="boxed-section-body is-full-bleed"> 42 <IvyCodemirror 43 data-test-editor 44 aria-label="Job definition" 45 @value={{or this.job._newDefinition this.jobSpec}} 46 @valueUpdated={{action (mut this.job._newDefinition)}} 47 @options={{hash 48 mode="javascript" 49 theme="hashi" 50 screenReaderLabel="Job definition editor" 51 tabSize=2 52 lineNumbers=true 53 }} /> 54 </div> 55 </div> 56 <div class="content is-associative"> 57 <button class="button is-primary {{if this.plan.isRunning "is-loading"}}" type="button" onclick={{perform this.plan}} disabled={{or this.plan.isRunning (not this.job._newDefinition)}} data-test-plan>Plan</button> 58 </div> 59 {{/if}} 60 61 {{#if (eq this.stage "plan")}} 62 {{#if this.showPlanMessage}} 63 <div class="notification is-info"> 64 <div class="columns"> 65 <div class="column"> 66 <h3 class="title is-4" data-test-plan-help-title>Job Plan</h3> 67 <p data-test-plan-help-message>This is the impact running this job will have on your cluster.</p> 68 </div> 69 <div class="column is-centered is-minimum"> 70 <button class="button is-info" onclick={{toggle-action "showPlanMessage" this}} data-test-plan-help-dismiss type="button">Okay</button> 71 </div> 72 </div> 73 </div> 74 {{/if}} 75 <div class="boxed-section"> 76 <div class="boxed-section-head">Job Plan</div> 77 <div class="boxed-section-body is-dark"> 78 <JobDiff data-test-plan-output @diff={{this.planOutput.diff}} @verbose={{false}} /> 79 </div> 80 </div> 81 <div class="boxed-section {{if this.planOutput.failedTGAllocs "is-warning" "is-primary"}}" data-test-dry-run-message> 82 <div class="boxed-section-head" data-test-dry-run-title>Scheduler dry-run</div> 83 <div class="boxed-section-body" data-test-dry-run-body> 84 {{#if this.planOutput.failedTGAllocs}} 85 {{#each this.planOutput.failedTGAllocs as |placementFailure|}} 86 <PlacementFailure @failedTGAlloc={{placementFailure}} /> 87 {{/each}} 88 {{else}} 89 All tasks successfully allocated. 90 {{/if}} 91 </div> 92 </div> 93 {{#if (and this.planOutput.preemptions.isFulfilled this.planOutput.preemptions.length)}} 94 <div class="boxed-section is-warning" data-test-preemptions> 95 <div class="boxed-section-head" data-test-preemptions-title> 96 Preemptions (if you choose to run this job, these allocations will be stopped) 97 </div> 98 <div class="boxed-section-body" data-test-preemptions-body> 99 <ListTable 100 @source={{this.planOutput.preemptions}} 101 @class="allocations is-isolated" as |t|> 102 <t.head> 103 <th class="is-narrow"></th> 104 <th>ID</th> 105 <th>Task Group</th> 106 <th>Created</th> 107 <th>Modified</th> 108 <th>Status</th> 109 <th>Version</th> 110 <th>Node</th> 111 <th>Volume</th> 112 <th>CPU</th> 113 <th>Memory</th> 114 </t.head> 115 <t.body as |row|> 116 <AllocationRow @allocation={{row.model}} @context="job" /> 117 </t.body> 118 </ListTable> 119 </div> 120 </div> 121 {{/if}} 122 <div class="content is-associative"> 123 <button class="button is-primary {{if this.submit.isRunning "is-loading"}}" type="button" onclick={{perform this.submit}} disabled={{this.submit.isRunning}} data-test-run>Run</button> 124 <button class="button is-light" type="button" onclick={{action this.reset}} data-test-cancel>Cancel</button> 125 </div> 126 {{/if}}