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>