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