github.com/Ilhicas/nomad@v1.0.4-0.20210304152020-e86851182bc3/ui/app/templates/allocations/allocation/task/index.hbs (about) 1 {{page-title "Task " this.model.name}} 2 <TaskSubnav @task={{this.model}} /> 3 <section class="section"> 4 {{#if this.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">{{this.error.title}}</h3> 9 <p data-test-inline-error-body>{{this.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 this.onDismiss}} type="button">Okay</button> 13 </div> 14 </div> 15 </div> 16 {{/if}} 17 18 <h1 class="title with-flex" data-test-title> 19 <div> 20 {{this.model.name}} 21 {{#if this.model.isConnectProxy}} 22 <ProxyTag @class="bumper-left" /> 23 {{/if}} 24 <span class="{{unless this.model.isConnectProxy "bumper-left"}} tag {{this.model.stateClass}}" data-test-state>{{this.model.state}}</span> 25 </div> 26 <div> 27 {{#if this.model.isRunning}} 28 <div class="two-step-button"> 29 <Exec::OpenButton 30 @job={{this.model.task.taskGroup.job}} 31 @taskGroup={{this.model.task.taskGroup}} 32 @allocation={{this.model.allocation}} 33 @task={{this.model.task}} /> 34 </div> 35 <TwoStepButton 36 data-test-restart 37 @alignRight={{true}} 38 @idleText="Restart" 39 @cancelText="Cancel" 40 @confirmText="Yes, Restart" 41 @confirmationMessage="Are you sure? This will restart the task in-place." 42 @awaitingConfirmation={{this.restartTask.isRunning}} 43 @disabled={{this.restartTask.isRunning}} 44 @onConfirm={{perform this.restartTask}} /> 45 {{/if}} 46 </div> 47 </h1> 48 49 <div class="boxed-section is-small"> 50 <div class="boxed-section-body inline-definitions"> 51 <span class="label">Task Details</span> 52 <span class="pair" data-test-started-at> 53 <span class="term">Started At</span> 54 {{format-ts this.model.startedAt}} 55 </span> 56 {{#if this.model.finishedAt}} 57 <span class="pair"> 58 <span class="term">Finished At</span> 59 {{format-ts this.model.finishedAt}} 60 </span> 61 {{/if}} 62 <span class="pair"> 63 <span class="term">Driver</span> 64 {{this.model.task.driver}} 65 </span> 66 <span class="pair"> 67 <span class="term">Lifecycle</span> 68 <span data-test-lifecycle>{{this.model.task.lifecycleName}}</span> 69 </span> 70 </div> 71 </div> 72 73 <div class="boxed-section"> 74 <div class="boxed-section-head is-hollow"> 75 Resource Utilization 76 </div> 77 <div class="boxed-section-body"> 78 {{#if this.model.isRunning}} 79 <div class="columns"> 80 <div class="column"> 81 <PrimaryMetric @resource={{this.model}} @metric="cpu" /> 82 </div> 83 <div class="column"> 84 <PrimaryMetric @resource={{this.model}} @metric="memory" /> 85 </div> 86 </div> 87 {{else}} 88 <div data-test-resource-error class="empty-message"> 89 <h3 data-test-resource-error-headline class="empty-message-headline">Task isn't running</h3> 90 <p class="empty-message-body">Only running tasks utilize resources.</p> 91 </div> 92 {{/if}} 93 </div> 94 </div> 95 96 {{#if this.model.task.volumeMounts.length}} 97 <div data-test-volumes class="boxed-section"> 98 <div class="boxed-section-head"> 99 Volumes 100 </div> 101 <div class="boxed-section-body is-full-bleed"> 102 <ListTable @source={{this.model.task.volumeMounts}} as |t|> 103 <t.head> 104 <th>Name</th> 105 <th>Destination</th> 106 <th>Permissions</th> 107 <th>Client Source</th> 108 </t.head> 109 <t.body as |row|> 110 <tr data-test-volume> 111 <td data-test-volume-name> 112 {{#if row.model.isCSI}} 113 <LinkTo @route="csi.volumes.volume" @model={{row.model.volume}} @query={{hash volumeNamespace=row.model.namespace.id}}> 114 {{row.model.volume}} 115 </LinkTo> 116 {{else}} 117 {{row.model.volume}} 118 {{/if}} 119 </td> 120 <td data-test-volume-destination><code>{{row.model.destination}}</code></td> 121 <td data-test-volume-permissions>{{if row.model.readOnly "Read" "Read/Write"}}</td> 122 <td data-test-volume-client-source>{{row.model.source}}</td> 123 </tr> 124 </t.body> 125 </ListTable> 126 </div> 127 </div> 128 {{/if}} 129 130 <div class="boxed-section"> 131 <div class="boxed-section-head"> 132 Recent Events 133 </div> 134 <div class="boxed-section-body is-full-bleed"> 135 <ListTable @source={{reverse this.model.events}} @class="is-striped" as |t|> 136 <t.head> 137 <th class="is-3">Time</th> 138 <th class="is-1">Type</th> 139 <th>Description</th> 140 </t.head> 141 <t.body as |row|> 142 <tr data-test-task-event> 143 <td data-test-task-event-time>{{format-ts row.model.time}}</td> 144 <td data-test-task-event-type>{{row.model.type}}</td> 145 <td data-test-task-event-message> 146 {{#if row.model.message}} 147 {{row.model.message}} 148 {{else}} 149 <em>No message</em> 150 {{/if}} 151 </td> 152 </tr> 153 </t.body> 154 </ListTable> 155 </div> 156 </div> 157 </section>