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>