xref: /openbmc/phosphor-webui/app/overview/controllers/system-overview-controller.html (revision c86ce3c9c7736ef199d885596b6fc745c7d8c86e)
1428375e8SMichael Davis<loader loading="loading"></loader>
20a1c6b0aSMichael Davis<div class="overview">
399d199f3SIftekharul Islam  <div class="row column">
4d265da25SMichael Davis    <h1 class="inline">{{dataService.hostname}}</h1>
5*c86ce3c9SYoshie Muranaka    <button class="btn  btn-tertiary" ng-click="edit_hostname = !edit_hostname">Edit</button>
60a1c6b0aSMichael Davis  </div>
70a1c6b0aSMichael Davis  <section class="row">
80a1c6b0aSMichael Davis    <div class="column large-8">
90a1c6b0aSMichael Davis      <!-- Server Metadata -->
100a1c6b0aSMichael Davis      <div class="row overview__server-metadata">
110a1c6b0aSMichael Davis        <div class="column large-4">
121ffa209eSDerick Montague          <h2 class="h3">Server information</h2>
130a1c6b0aSMichael Davis        </div>
140a1c6b0aSMichael Davis        <div class="column large-8">
150a1c6b0aSMichael Davis          <ul class="overview__metadata-wrapper">
160a1c6b0aSMichael Davis            <li class="overview__metadata-block">
171ffa209eSDerick Montague              <dl>
181ffa209eSDerick Montague                <dt class="content-label">Model</dt>
191ffa209eSDerick Montague                <dd class="courier-bold">{{server_info.Model}}</dd>
201ffa209eSDerick Montague              </dl>
210a1c6b0aSMichael Davis            </li>
220a1c6b0aSMichael Davis            <li class="overview__metadata-block">
231ffa209eSDerick Montague              <dl>
241ffa209eSDerick Montague                <dt class="content-label">Manufacturer</dt>
251ffa209eSDerick Montague                <dd class="courier-bold">{{server_info.Manufacturer}}</dd>
261ffa209eSDerick Montague              </dl>
270a1c6b0aSMichael Davis            </li>
280a1c6b0aSMichael Davis            <li class="overview__metadata-block">
291ffa209eSDerick Montague              <dl>
301ffa209eSDerick Montague                <dt class="content-label">Firmware version</dt>
311ffa209eSDerick Montague                <dd class="courier-bold">{{server_firmware}}</dd>
321ffa209eSDerick Montague              </dl>
330a1c6b0aSMichael Davis            </li>
340a1c6b0aSMichael Davis            <li class="overview__metadata-block">
351ffa209eSDerick Montague              <dl>
361ffa209eSDerick Montague                <dt class="content-label">Serial number</dt>
371ffa209eSDerick Montague                <dd class="courier-bold">{{server_info.SerialNumber}}</dd>
381ffa209eSDerick Montague              </dl>
390a1c6b0aSMichael Davis            </li>
400a1c6b0aSMichael Davis          </ul>
410a1c6b0aSMichael Davis        </div>
420a1c6b0aSMichael Davis      </div>
430a1c6b0aSMichael Davis      <!-- BMC Metadata -->
440a1c6b0aSMichael Davis      <div class="row overview__server-metadata">
450a1c6b0aSMichael Davis        <div class="column large-4">
461ffa209eSDerick Montague          <h2 class="h3">BMC information</h2>
470a1c6b0aSMichael Davis        </div>
480a1c6b0aSMichael Davis        <div class="column large-8">
490a1c6b0aSMichael Davis          <ul class="overview__metadata-wrapper">
500a1c6b0aSMichael Davis            <li class="overview__metadata-block">
511ffa209eSDerick Montague              <dl>
521ffa209eSDerick Montague                <dt class="content-label">Hostname</dt>
531ffa209eSDerick Montague                <dd class="courier-bold overview__hostname">{{dataService.hostname}}</dd>
541ffa209eSDerick Montague              </dl>
55ec61b2a8SMichael Davis            </li>
56ec61b2a8SMichael Davis            <li class="overview__metadata-block">
571ffa209eSDerick Montague              <dl>
581ffa209eSDerick Montague                <dt class="content-label">IP addresses</dt>
591ffa209eSDerick Montague                <dd class="courier-bold" ng-repeat="ip_address in bmc_ip_addresses">{{ip_address}}</dd>
601ffa209eSDerick Montague              </dl>
610a1c6b0aSMichael Davis            </li>
620a1c6b0aSMichael Davis            <li class="overview__metadata-block">
631ffa209eSDerick Montague              <dl>
641ffa209eSDerick Montague                <dt class="content-label">Firmware Version</dt>
651ffa209eSDerick Montague                <dd class="courier-bold">{{bmc_firmware}}</dd>
661ffa209eSDerick Montague              </dl>
670a1c6b0aSMichael Davis            </li>
680a1c6b0aSMichael Davis            <li class="overview__metadata-block">
691ffa209eSDerick Montague              <dl>
701ffa209eSDerick Montague                <dt class="content-label">Mac address</dt>
711ffa209eSDerick Montague                <dd class="courier-bold">{{dataService.mac_address}}</dd>
721ffa209eSDerick Montague              </dl>
730a1c6b0aSMichael Davis            </li>
740a1c6b0aSMichael Davis          </ul>
750a1c6b0aSMichael Davis        </div>
760a1c6b0aSMichael Davis      </div>
770a1c6b0aSMichael Davis      <!-- Power metadata -->
780a1c6b0aSMichael Davis      <div class="row overview__server-metadata">
790a1c6b0aSMichael Davis        <div class="column large-4">
801ffa209eSDerick Montague          <h2 class="h3">Power information</h2>
810a1c6b0aSMichael Davis        </div>
820a1c6b0aSMichael Davis        <div class="column large-8">
830a1c6b0aSMichael Davis          <ul class="overview__metadata-wrapper">
840a1c6b0aSMichael Davis            <li class="overview__metadata-block">
851ffa209eSDerick Montague              <dl>
861ffa209eSDerick Montague                <dt class="content-label">Power Consumption</dt>
871ffa209eSDerick Montague                <dd class="courier-bold">{{power_consumption}}</dd>
881ffa209eSDerick Montague              </dl>
890a1c6b0aSMichael Davis            </li>
900a1c6b0aSMichael Davis            <li class="overview__metadata-block">
911ffa209eSDerick Montague              <dl>
921ffa209eSDerick Montague                <dt class="content-label">Power Cap</dt>
931ffa209eSDerick Montague                <dd class="courier-bold">{{power_cap}}</dd>
941ffa209eSDerick Montague              </dl>
950a1c6b0aSMichael Davis            </li>
960a1c6b0aSMichael Davis          </ul>
970a1c6b0aSMichael Davis        </div>
980a1c6b0aSMichael Davis      </div>
990a1c6b0aSMichael Davis      <!-- Power metadata -->
1000a1c6b0aSMichael Davis    </div>
101ec61b2a8SMichael Davis    <div class="column large-4 no-padding">
1020a1c6b0aSMichael Davis      <div class="quick-links">
103565efda5Sdixsie        <a href="#/server-health/event-log/high" class="quick-links__item quick-links__events event-log__events"
104565efda5Sdixsie          ng-show="logs.length">
105565efda5Sdixsie          <!-- link to event log filtered to the high priority events -->
106565efda5Sdixsie          <p class="inline quick-links__event-copy">View {{logs.length}} high priority events</p>
1070a1c6b0aSMichael Davis        </a>
1081ffa209eSDerick Montague        <dl class="quick-links__item no-icon">
1091ffa209eSDerick Montague          <dt class="inline quick-links__label">BMC time</dt>
1106a3b3b2cSYoshie Muranaka          <dd class="courier-bold bmc-time">{{ bmc_time | localeDate }}</dd>
1111ffa209eSDerick Montague        </dl>
1120a1c6b0aSMichael Davis        <div class="quick-links__item no-icon">
113565efda5Sdixsie          <p class="inline quick-links__label">Turn <span ng-if="dataService.LED_state == 'off'">on</span><span
114565efda5Sdixsie              ng-if="dataService.LED_state == 'on'">off</span> server LED</p>
1150a1c6b0aSMichael Davis          <div class="toggle inline float-right">
116565efda5Sdixsie            <input id="toggle__switch-round" class="toggle-switch toggle-switch__round-flat" type="checkbox"
117565efda5Sdixsie              tabindex="0" ng-click="toggleLED()" ng-checked="dataService.LED_state == 'on'"
1180a1c6b0aSMichael Davis              ng-disabled="dataService.server_unreachable">
119565efda5Sdixsie            <label for="toggle__switch-round" tabindex="0">Server LED is <span
120565efda5Sdixsie                class="led-switch__status">{{dataService.LED_state}}</span></label>
1210a1c6b0aSMichael Davis          </div>
1220a1c6b0aSMichael Davis        </div>
12354c22e4fSIftekharul Islam        <a href="#/server-control/remote-console" class="no-icon quick-links__item">
124959705cfSGunnar Mills          <p class="inline quick-links__label">Serial over LAN console</p>
125*c86ce3c9SYoshie Muranaka          <icon file="icon-launch.svg" class="float-right"></icon>
1260a1c6b0aSMichael Davis        </a>
12754c22e4fSIftekharul Islam        <a href="#/configuration/network" class="quick-links__item">
1280a1c6b0aSMichael Davis          <p class="inline quick-links__label">Edit network settings</p>
1290a1c6b0aSMichael Davis        </a>
1301ffa209eSDerick Montague        </d>
1310a1c6b0aSMichael Davis      </div>
1320a1c6b0aSMichael Davis  </section>
133706b75b3SMichael Davis  <section class="row">
134706b75b3SMichael Davis    <div class="column large-12 overview__event-log event-log__events" ng-show="logs.length">
135706b75b3SMichael Davis      <div class="page-header">
1366a3b3b2cSYoshie Muranaka        <div class="row">
1376a3b3b2cSYoshie Muranaka          <div class="column large-7 small-6">
1381ffa209eSDerick Montague            <h2 class="h3">High priority events ({{logs.length}})</h2>
1396a3b3b2cSYoshie Muranaka          </div>
1406a3b3b2cSYoshie Muranaka          <div class="column large-5 small-6 no-padding">
1416a3b3b2cSYoshie Muranaka            <a href="#/server-health/event-log/" class="float-right">View all event logs</a>
1426a3b3b2cSYoshie Muranaka          </div>
1436a3b3b2cSYoshie Muranaka        </div>
144706b75b3SMichael Davis      </div>
145706b75b3SMichael Davis
146706b75b3SMichael Davis      <!-- single event -->
14710ed3760SGunnar Mills      <a href="#/server-health/event-log/high" ng-repeat="event in logs|orderBy:'-Id'|limitTo : 5">
148706b75b3SMichael Davis        <div class="row column event-log__single-event">
149706b75b3SMichael Davis          <div class="row">
150565efda5Sdixsie            <!-- click will go to specific event in event log page-->
1516a3b3b2cSYoshie Muranaka            <div class="column small-10 large-11 event-log__event-info" ng-click="">
1526a3b3b2cSYoshie Muranaka              <div class="row">
1536a3b3b2cSYoshie Muranaka                <div class="column large-1 small-1">
154706b75b3SMichael Davis                  <p class="inline event__id">#{{event.Id}}</p>
1556a3b3b2cSYoshie Muranaka                </div>
1566a3b3b2cSYoshie Muranaka                <div class="column large-4 small-11">
157706b75b3SMichael Davis                  <p class="inline event__priority high-priority">High</p>
158706b75b3SMichael Davis                  <p class="inline event__severity high-priority">{{event.severity_code}}</p>
1596a3b3b2cSYoshie Muranaka                </div>
1606a3b3b2cSYoshie Muranaka                <div class="column large-7 large-offset-0 small-12 small-offset-1">
161dbf04811SAlexander Filippov                  <p class="inline event__timestamp">{{ event.Timestamp | localeDate }}</p>
1626a3b3b2cSYoshie Muranaka                </div>
1636a3b3b2cSYoshie Muranaka              </div>
1646a3b3b2cSYoshie Muranaka
1656a3b3b2cSYoshie Muranaka              <div class="row">
1666a3b3b2cSYoshie Muranaka                <div class="column large-12 small-12 small-offset-1">
167845acdc5SMatt Spinler                  <p class="inline event__description">{{getEventLogTitle(event)}}</p>
168706b75b3SMichael Davis                </div>
169706b75b3SMichael Davis              </div>
1706a3b3b2cSYoshie Muranaka            </div>
1716a3b3b2cSYoshie Muranaka            <div class="column small-2 large-1">
172*c86ce3c9SYoshie Muranaka              <span class="accord-trigger" aria-hidden="true"></span>
173706b75b3SMichael Davis            </div>
174706b75b3SMichael Davis          </div>
175706b75b3SMichael Davis        </div>
176706b75b3SMichael Davis      </a>
177706b75b3SMichael Davis    </div>
178706b75b3SMichael Davis
179706b75b3SMichael Davis    <div class="row column overview__event-log event-log__events" ng-show="!logs.length">
180706b75b3SMichael Davis      <div class="page-header">
1811ffa209eSDerick Montague        <h2 class="h3">High priority events (0)</h2>
182706b75b3SMichael Davis      </div>
183706b75b3SMichael Davis      <p>There are no high priority events to display at this time.</p>
184706b75b3SMichael Davis    </div>
185706b75b3SMichael Davis  </section>
18699d199f3SIftekharul Islam</div>
187db28a387SIftekharul Islam<!-- edit server name modal -->
188565efda5Sdixsie<section class="modal" aria-hidden="true" aria-labelledby="modalTitle" aria-describedby="modalDescription" role="dialog"
189565efda5Sdixsie  ng-class="{'active': edit_hostname}">
190db28a387SIftekharul Islam  <div class="modal__upload" role="document">
191565efda5Sdixsie    <!-- accessibility only; used for screen readers -->
192565efda5Sdixsie    <div class="screen-reader-offscreen modal-description">Edit hostname</div>
193db28a387SIftekharul Islam    <div class="page-header ">
194*c86ce3c9SYoshie Muranaka      <h2 class="modal-title">
195*c86ce3c9SYoshie Muranaka        <icon class="icon__info" file="icon-information.svg"></icon>Edit hostname
1961ffa209eSDerick Montague      </h2>
197db28a387SIftekharul Islam    </div>
198db28a387SIftekharul Islam    <div class="modal__content">
199565efda5Sdixsie      <form name="edit_hostname_text">
200565efda5Sdixsie        <label for="editServerName">Hostname</label>
201e4194ce0SYoshie Muranaka        <p class="label__helper-text">Hostname must be less than 64 characters and must not contain spaces.</p>
202565efda5Sdixsie        <input id="editServerName" class="modal__edit-server-name" type="text" ng-model="newHostname" ng-trim="false"
203565efda5Sdixsie          name="hostname" ng-pattern="/^\S{0,64}$/" required autofocus />
204565efda5Sdixsie        <span class="modal__error" ng-show="edit_hostname_text.hostname.$error.pattern">Invalid format.
205565efda5Sdixsie          Remove spaces.</span>
206565efda5Sdixsie        <span class="modal__char-count"
207565efda5Sdixsie          ng-hide="edit_hostname_text.hostname.$error.pattern">{{0 + newHostname.length}}/64</span>
208db28a387SIftekharul Islam      </form>
209db28a387SIftekharul Islam    </div>
210db28a387SIftekharul Islam    <div class="modal__button-wrapper">
211*c86ce3c9SYoshie Muranaka      <button class="btn  btn-secondary"
212565efda5Sdixsie        ng-click="edit_hostname= false; newHostname = dataService.hostname">Cancel</button>
213*c86ce3c9SYoshie Muranaka      <button class="btn  btn-primary" ng-click="saveHostname(newHostname);" ng-disabled="edit_hostname_text.$invalid"
214565efda5Sdixsie        ng-class="{'disabled' : edit_hostname_text.$invalid}">Save</button>
215db28a387SIftekharul Islam    </div>
216db28a387SIftekharul Islam  </div>
217db28a387SIftekharul Islam</section>
218e56bb445SGunnar Mills<div class="modal-overlay" tabindex="-1" ng-class="{'active': edit_hostname}"></div>