xref: /openbmc/phosphor-webui/app/overview/controllers/system-overview-controller.html (revision 1ffa209e99da608e225df0a3a3caf47036b3a793)
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>
5335ac344SGunnar Mills    <button class="link" ng-click="edit_hostname = !edit_hostname">Edit</button><!-- this is default name. Will show custom server name if set -->
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">
12*1ffa209eSDerick 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">
17*1ffa209eSDerick Montague              <dl>
18*1ffa209eSDerick Montague                <dt class="content-label">Model</dt>
19*1ffa209eSDerick Montague                <dd class="courier-bold">{{server_info.Model}}</dd>
20*1ffa209eSDerick Montague              </dl>
210a1c6b0aSMichael Davis            </li>
220a1c6b0aSMichael Davis            <li class="overview__metadata-block">
23*1ffa209eSDerick Montague              <dl>
24*1ffa209eSDerick Montague                  <dt class="content-label">Manufacturer</dt>
25*1ffa209eSDerick Montague                  <dd class="courier-bold">{{server_info.Manufacturer}}</dd>
26*1ffa209eSDerick Montague              </dl>
270a1c6b0aSMichael Davis            </li>
280a1c6b0aSMichael Davis            <li class="overview__metadata-block">
29*1ffa209eSDerick Montague              <dl>
30*1ffa209eSDerick Montague                <dt class="content-label">Firmware version</dt>
31*1ffa209eSDerick Montague                <dd class="courier-bold">{{server_firmware}}</dd>
32*1ffa209eSDerick Montague              </dl>
330a1c6b0aSMichael Davis            </li>
340a1c6b0aSMichael Davis            <li class="overview__metadata-block">
35*1ffa209eSDerick Montague              <dl>
36*1ffa209eSDerick Montague                <dt class="content-label">Serial number</dt>
37*1ffa209eSDerick Montague                <dd class="courier-bold">{{server_info.SerialNumber}}</dd>
38*1ffa209eSDerick 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">
46*1ffa209eSDerick 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">
51*1ffa209eSDerick Montague              <dl>
52*1ffa209eSDerick Montague                <dt class="content-label">Hostname</dt>
53*1ffa209eSDerick Montague                <dd class="courier-bold overview__hostname">{{dataService.hostname}}</dd>
54*1ffa209eSDerick Montague              </dl>
55ec61b2a8SMichael Davis            </li>
56ec61b2a8SMichael Davis            <li class="overview__metadata-block">
57*1ffa209eSDerick Montague              <dl>
58*1ffa209eSDerick Montague                <dt class="content-label">IP addresses</dt>
59*1ffa209eSDerick Montague                <dd class="courier-bold" ng-repeat="ip_address in bmc_ip_addresses">{{ip_address}}</dd>
60*1ffa209eSDerick Montague              </dl>
610a1c6b0aSMichael Davis            </li>
620a1c6b0aSMichael Davis            <li class="overview__metadata-block">
63*1ffa209eSDerick Montague              <dl>
64*1ffa209eSDerick Montague                <dt class="content-label">Firmware Version</dt>
65*1ffa209eSDerick Montague                <dd class="courier-bold">{{bmc_firmware}}</dd>
66*1ffa209eSDerick Montague              </dl>
670a1c6b0aSMichael Davis            </li>
680a1c6b0aSMichael Davis            <li class="overview__metadata-block">
69*1ffa209eSDerick Montague              <dl>
70*1ffa209eSDerick Montague                <dt class="content-label">Mac address</dt>
71*1ffa209eSDerick Montague                <dd class="courier-bold">{{dataService.mac_address}}</dd>
72*1ffa209eSDerick 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">
80*1ffa209eSDerick 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">
85*1ffa209eSDerick Montague              <dl>
86*1ffa209eSDerick Montague                <dt class="content-label">Power Consumption</dt>
87*1ffa209eSDerick Montague                <dd class="courier-bold">{{power_consumption}}</dd>
88*1ffa209eSDerick Montague              </dl>
890a1c6b0aSMichael Davis            </li>
900a1c6b0aSMichael Davis            <li class="overview__metadata-block">
91*1ffa209eSDerick Montague              <dl>
92*1ffa209eSDerick Montague                <dt class="content-label">Power Cap</dt>
93*1ffa209eSDerick Montague                <dd class="courier-bold">{{power_cap}}</dd>
94*1ffa209eSDerick 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">
103428375e8SMichael Davis        <a href="#/server-health/event-log/high" class="quick-links__item quick-links__events event-log__events" ng-show="logs.length">
104f61ce091SGunnar Mills          <p class="inline quick-links__event-copy">View {{logs.length}} high priority events</p><!-- link to event log filtered to the high priority events -->
1050a1c6b0aSMichael Davis        </a>
106*1ffa209eSDerick Montague        <dl class="quick-links__item no-icon">
107*1ffa209eSDerick Montague          <dt class="inline quick-links__label">BMC time</dt>
108*1ffa209eSDerick Montague          <dd class="inline courier-bold float-right bmc-time">{{ bmc_time | localeDate }}</dd>
109*1ffa209eSDerick Montague        </dl>
1100a1c6b0aSMichael Davis        <div class="quick-links__item no-icon">
11177f29e1dSGunnar Mills          <p class="inline quick-links__label">Turn <span ng-if="dataService.LED_state == 'off'">on</span><span ng-if="dataService.LED_state == 'on'">off</span> server LED</p>
1120a1c6b0aSMichael Davis          <div class="toggle inline float-right">
1130a1c6b0aSMichael Davis            <input id="toggle__switch-round"
1140a1c6b0aSMichael Davis                class="toggle-switch toggle-switch__round-flat"
1150a1c6b0aSMichael Davis                type="checkbox"
1160a1c6b0aSMichael Davis                tabindex="0"
1170a1c6b0aSMichael Davis                ng-click="toggleLED()"
1180a1c6b0aSMichael Davis                ng-checked="dataService.LED_state == 'on'"
1190a1c6b0aSMichael Davis                ng-disabled="dataService.server_unreachable">
1204129f402SGunnar Mills            <label for="toggle__switch-round" tabindex="0">Server LED is <span 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>
1250a1c6b0aSMichael Davis          <span class="btn-pop-out inline float-right"></span>
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>
130*1ffa209eSDerick 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">
136*1ffa209eSDerick Montague        <h2 class="h3">High priority events ({{logs.length}})</h2>
1373471409aSIftekharul Islam        <a href="#/server-health/event-log/" class="inline float-right">View all event logs</a>
138706b75b3SMichael Davis      </div>
139706b75b3SMichael Davis
140706b75b3SMichael Davis      <!-- single event -->
14110ed3760SGunnar Mills      <a href="#/server-health/event-log/high" ng-repeat="event in logs|orderBy:'-Id'|limitTo : 5">
142706b75b3SMichael Davis        <div class="row column event-log__single-event">
143706b75b3SMichael Davis          <div class="row">
144706b75b3SMichael Davis            <div class="column small-9 large-10 event-log__event-info" ng-click=""><!-- click will go to specific event in event log page-->
145706b75b3SMichael Davis              <p class="inline event__id">#{{event.Id}}</p>
146706b75b3SMichael Davis              <p class="inline event__priority high-priority">High</p>
147706b75b3SMichael Davis              <p class="inline event__severity high-priority">{{event.severity_code}}</p>
148dbf04811SAlexander Filippov              <p class="inline event__timestamp">{{ event.Timestamp | localeDate }}</p>
149706b75b3SMichael Davis              <div>
150845acdc5SMatt Spinler                <p class="inline event__description">{{getEventLogTitle(event)}}</p>
151706b75b3SMichael Davis              </div>
152706b75b3SMichael Davis            </div>
153706b75b3SMichael Davis            <div class="column small-1 large-1">
154706b75b3SMichael Davis              <button class="accord-trigger" aria-hidden="true"></button>
155706b75b3SMichael Davis            </div>
156706b75b3SMichael Davis          </div>
157706b75b3SMichael Davis        </div>
158706b75b3SMichael Davis      </a>
159706b75b3SMichael Davis    </div>
160706b75b3SMichael Davis
161706b75b3SMichael Davis    <div class="row column overview__event-log event-log__events" ng-show="!logs.length">
162706b75b3SMichael Davis      <div class="page-header">
163*1ffa209eSDerick Montague        <h2 class="h3">High priority events (0)</h2>
164706b75b3SMichael Davis      </div>
165706b75b3SMichael Davis      <p>There are no high priority events to display at this time.</p>
166706b75b3SMichael Davis    </div>
167706b75b3SMichael Davis  </section>
16899d199f3SIftekharul Islam</div>
169db28a387SIftekharul Islam<!-- edit server name modal -->
170e56bb445SGunnar Mills<section class="modal" aria-hidden="true" aria-labelledby="modalTitle" aria-describedby="modalDescription" role="dialog" ng-class="{'active': edit_hostname}">
171db28a387SIftekharul Islam  <div class="modal__upload" role="document">
172e56bb445SGunnar Mills    <div class="screen-reader-offscreen modal-description">Edit hostname</div><!-- accessibility only; used for screen readers -->
173db28a387SIftekharul Islam    <div class="page-header ">
174*1ffa209eSDerick Montague      <h2 class="modal-title"><span class="icon icon__info"><svg xmlns="http://www.w3.org/2000/svg"
175db28a387SIftekharul Islam          viewBox="0 0 32 32"><path
176db28a387SIftekharul Islam          d="M18 14h-6v2h1v6h-2v2h8v-2h-2z"/><circle cx="16" cy="10" r="2"/><path
177db28a387SIftekharul Islam          d="M16 2C8.269 2 2 8.269 2 16s6.269 14 14 14 14-6.269 14-14S23.731 2 16 2zm0 26C9.383 28 4 22.617 4 16S9.383 4 16 4s12 5.383 12 12-5.383 12-12 12z"/></svg></span>
178e56bb445SGunnar Mills        Edit hostname
179*1ffa209eSDerick Montague      </h2>
180db28a387SIftekharul Islam    </div>
181db28a387SIftekharul Islam    <div class="modal__content">
182e56bb445SGunnar Mills      <p>The hostname is displayed in the header and can contain any characters up to a total of 64</p>
183db28a387SIftekharul Islam      <form>
184db28a387SIftekharul Islam        <label for="editServerName" class="hide"></label>
185db28a387SIftekharul Islam        <input id="editServerName" class="modal__edit-server-name" maxlength="64" type="text" ng-model="char_count" ng-trim="false">
186db28a387SIftekharul Islam        <p class="modal__char-count">{{64 - char_count.length}}/64</p>
187db28a387SIftekharul Islam      </form>
188db28a387SIftekharul Islam    </div>
189db28a387SIftekharul Islam    <div class="modal__button-wrapper">
190e56bb445SGunnar Mills      <button class="inline btn-secondary" ng-click="edit_hostname= false;">Cancel</button>
191ff2313dbSAndrew Geissler      <button class="inline btn-primary" ng-click="saveHostname(char_count);">Save</button>
192db28a387SIftekharul Islam    </div>
193db28a387SIftekharul Islam  </div>
194db28a387SIftekharul Islam</section>
195e56bb445SGunnar Mills<div class="modal-overlay" tabindex="-1" ng-class="{'active': edit_hostname}"></div>
196