github.com/ferranbt/nomad@v0.9.3-0.20190607002617-85c449b7667c/ui/app/templates/allocations/allocation/task/index.hbs (about) 1 {{partial "allocations/allocation/task/subnav"}} 2 <section class="section"> 3 {{#if error}} 4 <div data-test-inline-error class="notification is-danger"> 5 <div class="columns"> 6 <div class="column"> 7 <h3 data-test-inline-error-title class="title is-4">{{error.title}}</h3> 8 <p data-test-inline-error-body>{{error.description}}</p> 9 </div> 10 <div class="column is-centered is-minimum"> 11 <button data-test-inline-error-close class="button is-danger" onclick={{action onDismiss}}>Okay</button> 12 </div> 13 </div> 14 </div> 15 {{/if}} 16 17 <h1 class="title" data-test-title> 18 {{model.name}} 19 <span class="bumper-left tag {{model.stateClass}}" data-test-state>{{model.state}}</span> 20 {{#if model.isRunning}} 21 {{two-step-button 22 data-test-restart 23 idleText="Restart" 24 cancelText="Cancel" 25 confirmText="Yes, Restart" 26 confirmationMessage="Are you sure? This will restart the task in-place." 27 awaitingConfirmation=restartTask.isRunning 28 disabled=restartTask.isRunning 29 onConfirm=(perform restartTask)}} 30 {{/if}} 31 </h1> 32 33 <div class="boxed-section is-small"> 34 <div class="boxed-section-body inline-definitions"> 35 <span class="label">Task Details</span> 36 <span class="pair" data-test-started-at> 37 <span class="term">Started At</span> 38 {{format-ts model.startedAt}} 39 </span> 40 {{#if model.finishedAt}} 41 <span class="pair"> 42 <span class="term">Finished At</span> 43 {{format-ts model.finishedAt}} 44 </span> 45 {{/if}} 46 <span class="pair"> 47 <span class="term">Driver</span> 48 {{model.task.driver}} 49 </span> 50 </div> 51 </div> 52 53 <div class="boxed-section"> 54 <div class="boxed-section-head is-hollow"> 55 Resource Utilization 56 </div> 57 <div class="boxed-section-body"> 58 {{#if model.isRunning}} 59 <div class="columns"> 60 <div class="column"> 61 {{primary-metric resource=model metric="cpu"}} 62 </div> 63 <div class="column"> 64 {{primary-metric resource=model metric="memory"}} 65 </div> 66 </div> 67 {{else}} 68 <div data-test-resource-error class="empty-message"> 69 <h3 data-test-resource-error-headline class="empty-message-headline">Task isn't running</h3> 70 <p class="empty-message-body">Only running tasks utilize resources.</p> 71 </div> 72 {{/if}} 73 </div> 74 </div> 75 76 {{#if ports.length}} 77 <div class="boxed-section" data-test-task-addresses> 78 <div class="boxed-section-head"> 79 Addresses 80 </div> 81 <div class="boxed-section-body is-full-bleed"> 82 {{#list-table source=ports as |t|}} 83 {{#t.head}} 84 <th class="is-1">Dynamic?</th> 85 <th class="is-2">Name</th> 86 <th>Address</th> 87 {{/t.head}} 88 {{#t.body as |row|}} 89 <tr data-test-task-address> 90 <td data-test-task-address-is-dynamic>{{if row.model.isDynamic "Yes" "No"}}</td> 91 <td data-test-task-address-name>{{row.model.name}}</td> 92 <td data-test-task-address-address> 93 <a href="http://{{network.ip}}:{{row.model.port}}" target="_blank" rel="noopener noreferrer"> 94 {{network.ip}}:{{row.model.port}} 95 </a> 96 </td> 97 </tr> 98 {{/t.body}} 99 {{/list-table}} 100 </div> 101 </div> 102 {{/if}} 103 104 <div class="boxed-section"> 105 <div class="boxed-section-head"> 106 Recent Events 107 </div> 108 <div class="boxed-section-body is-full-bleed"> 109 {{#list-table source=(reverse model.events) class="is-striped" as |t|}} 110 {{#t.head}} 111 <th class="is-3">Time</th> 112 <th class="is-1">Type</th> 113 <th>Description</th> 114 {{/t.head}} 115 {{#t.body as |row|}} 116 <tr data-test-task-event> 117 <td data-test-task-event-time>{{format-ts row.model.time}}</td> 118 <td data-test-task-event-type>{{row.model.type}}</td> 119 <td data-test-task-event-message> 120 {{#if row.model.message}} 121 {{row.model.message}} 122 {{else}} 123 <em>No message</em> 124 {{/if}} 125 </td> 126 </tr> 127 {{/t.body}} 128 {{/list-table}} 129 </div> 130 </div> 131 </section>