blob: 817fd066bb78a3b15245b417406c562ea632a35a [file] [log] [blame]
Michael Davis43366db2017-05-15 18:12:35 -05001<div id="firmware">
2 <div class="row column">
3 <h1>Firmware</h1>
4 </div>
5</div>
Michael Davis9486f542017-05-30 15:35:31 -05006<div class="row column">
Michael Davis43366db2017-05-15 18:12:35 -05007 <div class="column small-12 page-header">
Michael Davis9486f542017-05-30 15:35:31 -05008 <h1 class="inline h4">Manage BMC and server firmware</h1>
Michael Davis43366db2017-05-15 18:12:35 -05009 </div>
Michael Davis9486f542017-05-30 15:35:31 -050010</div>
11<div class="row column">
12 <p>Use the tables at the top of the page to manage firmware images that are currently available on the BMC. The
13 image at the top of the table is the Primary image, which will be used the next time the device is
14 booted. To change which image is Primary, move the image you want to use as the Primary to the top of the tablw using the arrows.</p>
15 <p>Use the Upload images section of this page to transfer new firmware images to the BMC. After uploading a new
16 image, activate it to make it available for use.</p>
17 <button class="inline btn-primary" ng-click="gotoAnchor()">
18 <span class="icon icon__bar-arrow">&nbsp;</span>&nbsp;&nbsp;Scroll to upload image file
19 </button>
20</div>
21<div class="row column firmware__table">
Michael Davis43366db2017-05-15 18:12:35 -050022 <div class="table-header column small-12">
Michael Davis9486f542017-05-30 15:35:31 -050023 <p class="inline">Server images</p>
24 <p class="inline firmware__active-version">In-memory firmware version: v1.99.4-82-g874f12e</p>
Michael Davis43366db2017-05-15 18:12:35 -050025 </div>
26 <div class="table row column">
27 <div class="table__head">
28 <div class="table__row">
29 <div class="table__cell">
Michael Davis9486f542017-05-30 15:35:31 -050030 Boot Priority
31 </div>
32 <div class="table__cell">
33 Image state
34 </div>
35 <div class="table__cell">
Michael Davis43366db2017-05-15 18:12:35 -050036 Image ID
37 </div>
38 <div class="table__cell">
Michael Davis9486f542017-05-30 15:35:31 -050039 Version
Michael Davis43366db2017-05-15 18:12:35 -050040 </div>
41 <div class="table__cell">
42 Action
43 </div>
44 </div>
45 </div>
46 <div class="table__body">
Michael Davis9486f542017-05-30 15:35:31 -050047 <div class="table__row">
48 <div class="table__cell firmware__primary">
49 <span class="table__cell-label">Boot Priority:</span>
50 <div class="icon icon__up-arrow icon-as-spacer" aria-hidden="true">
51 <span class="accessible-text">firmware down in priority</span></div>
52 <div class="icon icon__down-arrow" aria-hidden="true">
53 <span class="accessible-text">firmware down in priority</span></div>
Michael Davis43366db2017-05-15 18:12:35 -050054 </div>
Michael Davis9486f542017-05-30 15:35:31 -050055 <div class="table__cell firmware__active">
56 <span class="table__cell-label">Image state:</span>Active
57 </div>
Michael Davis43366db2017-05-15 18:12:35 -050058 <div class="table__cell">
Michael Davis9486f542017-05-30 15:35:31 -050059 <span class="table__cell-label">Image ID:</span>46c8c3d0
60 </div>
61 <div class="table__cell firmware__version" ng-class="{'active':extendedVersion === true}">
62 <span class="table__cell-label">Version:</span>v1.99.4-82-g874f12e
63 <div class="icon icon__more" ng-click="extendedVersion = ! extendedVersion"
64 ng-class="{'active':extendedVersion === true}">
65 <svg version="1.1" x="0px" y="0px" viewBox="0 0 24.3 24.6">
66 <path d="M12.1,23C6.1,23,1.3,18.2,1.3,12.3S6.1,1.6,12.1,1.6s10.7,4.8,10.7,10.7S18,23,12.1,23z M12.1,2.6c-5.4,0-9.7,4.4-9.7,9.7 S6.7,22,12.1,22s9.7-4.4,9.7-9.7S17.4,2.6,12.1,2.6z"/>
67 <g>
68 <circle cx="6.7" cy="12.5" r="1.5"/>
69 <circle cx="12.1" cy="12.5" r="1.5"/>
70 <circle cx="17.4" cy="12.5" r="1.5"/>
71 </g>
72 </svg>
73 </div>
74 <div class="icon__more-dropdown" ng-show="extendedVersion">
75 <h5 class="bold">Extended version information</h5>
76 <p class="no-margin">Host: 1.2.3</p>
77 <p class="no-margin">Linux: 2.3.4</p>
78 <p class="no-margin">Other OS: 4.5.6</p>
79 </div>
80 </div>
81 <div class="table__cell">
82 &nbsp;
Michael Davis43366db2017-05-15 18:12:35 -050083 </div>
84 </div>
Michael Davis9486f542017-05-30 15:35:31 -050085 <!-- new row -->
86 <div class="table__row">
Michael Davis43366db2017-05-15 18:12:35 -050087 <div class="table__cell">
Michael Davis9486f542017-05-30 15:35:31 -050088 <span class="table__cell-label">Boot Priority:</span>
89 <div class="icon icon__up-arrow" aria-hidden="true">
90 <span class="accessible-text">firmware up in priority</span></div>
91 <div class="icon icon__down-arrow" aria-hidden="true">
92 <span class="accessible-text">firmware down in priority</span></div>
93 </div>
94 <div class="table__cell firmware__active">
95 <span class="table__cell-label">Image state:</span>Active
96 </div>
97 <div class="table__cell">
98 <span class="table__cell-label">Image ID:</span>46c9c3e4
99 </div>
100 <div class="table__cell firmware__version">
101 <span class="table__cell-label">Version:</span>v1.99.4-82-g874g45r
102 </div>
103 <div class="table__cell">
104 <span class="table__cell-label">Action:</span>
105 <button class="firmware__action-link">Delete</button>
106 </div>
107 </div>
108 <!-- new row -->
109 <div class="table__row">
110 <div class="table__cell">
111 <span class="table__cell-label">Boot Priority:</span>
112 <div class="icon icon__up-arrow" aria-hidden="true">
113 <span class="accessible-text">firmware up in priority</span></div>
114 <div class="icon icon__down-arrow icon-as-spacer" aria-hidden="true">
115 <span class="accessible-text">firmware down in priority</span></div>
116 </div>
117 <div class="table__cell firmware__active">
118 <span class="table__cell-label">Image state:</span>Active
119 </div>
120 <div class="table__cell">
121 <span class="table__cell-label">Image ID:</span>46c9c3e4
122 </div>
123 <div class="table__cell firmware__version">
124 <span class="table__cell-label">Version:</span>v1.99.4-82-g974g48r
125 </div>
126 <div class="table__cell">
127 <span class="table__cell-label">Action:</span>
128 <button class="firmware__action-link">Delete</button>
129 </div>
130 </div>
131 <!-- new row -->
132 <div class="table__row disabled">
133 <div class="table__cell"></div>
134 <div class="table__cell firmware__active">
135 <span class="table__cell-label">Image state:</span>Invalid
136 </div>
137 <div class="table__cell">
138 <span class="table__cell-label">Image ID:</span>46c9c3e4
139 </div>
140 <div class="table__cell firmware__version">
141 <span class="table__cell-label">Version:</span>v1.99.4-82-g774g15r
142 </div>
143 <div class="table__cell">
144 <span class="table__cell-label">Action:</span>
145 <button class="firmware__action-link">Delete</button>
146 </div>
147 </div>
148 <div class="table__row">
149 <div class="table__row-save" role="alert"><p>Saved</p></div> <!-- inject div when row is saved -->
150 <div class="table__cell"></div>
151 <div class="table__cell firmware__active">
152 <span class="table__cell-label">Image state:</span>Invalid
153 </div>
154 <div class="table__cell">
155 <span class="table__cell-label">Image ID:</span>46c9c3e4
156 </div>
157 <div class="table__cell firmware__version">
158 <span class="table__cell-label">Version:</span>v1.99.4-82-g774g15r
159 </div>
160 <div class="table__cell">
161 <span class="table__cell-label">Action:</span>
162 <button class="firmware__action-link">Delete</button>
Michael Davis43366db2017-05-15 18:12:35 -0500163 </div>
164 </div>
165 </div>
166 </div>
Michael Davis9486f542017-05-30 15:35:31 -0500167</div>
168<div class="row column firmware__table">
Michael Davis43366db2017-05-15 18:12:35 -0500169 <div class="table-header column small-12">
Michael Davis9486f542017-05-30 15:35:31 -0500170 <p class="inline">BMC images</p>
171 <p class="inline firmware__active-version">In-memory firmware version: v4.0.4-83r</p>
Michael Davis43366db2017-05-15 18:12:35 -0500172 </div>
173 <div class="table row column">
174 <div class="table__head">
175 <div class="table__row">
176 <div class="table__cell">
Michael Davis9486f542017-05-30 15:35:31 -0500177 Boot Priority
178 </div>
179 <div class="table__cell">
180 Image state
181 </div>
182 <div class="table__cell">
Michael Davis43366db2017-05-15 18:12:35 -0500183 Image ID
184 </div>
185 <div class="table__cell">
Michael Davis9486f542017-05-30 15:35:31 -0500186 Version
Michael Davis43366db2017-05-15 18:12:35 -0500187 </div>
188 <div class="table__cell">
189 Action
190 </div>
191 </div>
192 </div>
193 <div class="table__body">
Michael Davis9486f542017-05-30 15:35:31 -0500194 <!-- new row -->
195 <div class="table__row">
Michael Davis43366db2017-05-15 18:12:35 -0500196 <div class="table__cell">
Michael Davis9486f542017-05-30 15:35:31 -0500197 <span class="table__cell-label">Boot Priority:</span>
198 </div>
199 <div class="table__cell firmware__active">
200 <span class="table__cell-label">Image state:</span>Active
201 </div>
202 <div class="table__cell">
203 <span class="table__cell-label">Image ID:</span>nnnnnn0
204 </div>
205 <div class="table__cell firmware__version">
206 <span class="table__cell-label">Version:</span>v4.0.4-83r
207 </div>
208 <div class="table__cell">
209 <span class="table__cell-label">Action:</span>
Michael Davis43366db2017-05-15 18:12:35 -0500210 </div>
211 </div>
Michael Davis9486f542017-05-30 15:35:31 -0500212 <!-- new row -->
213 <div class="table__row disabled">
214 <div class="table__cell"></div>
215 <div class="table__cell firmware__active">
216 <span class="table__cell-label">Image state:</span>Activation failed
Michael Davis43366db2017-05-15 18:12:35 -0500217 </div>
Michael Davis43366db2017-05-15 18:12:35 -0500218 <div class="table__cell">
Michael Davis9486f542017-05-30 15:35:31 -0500219 <span class="table__cell-label">Image ID:</span>50c9c3e4
220 </div>
221 <div class="table__cell firmware__version">
222 <span class="table__cell-label">Version:</span>v3.4-82-g874g45r
223 </div>
224 <div class="table__cell">
225 <span class="table__cell-label">Action:</span>
226 <button class="firmware__action-link">Delete</button>
227 </div>
228 </div>
229 <!-- new row -->
230 <div class="table__row">
231 <div class="table__cell"></div>
232 <div class="table__cell firmware__active">
233 <span class="table__cell-label">Image state:</span>Ready
234 </div>
235 <div class="table__cell">
236 <span class="table__cell-label">Image ID:</span>nnnnnn1
237 </div>
238 <div class="table__cell firmware__version">
239 <span class="table__cell-label">Version:</span>v4.0.3-83r
240 </div>
241 <div class="table__cell">
242 <span class="table__cell-label">Action:</span>
243 <button class="firmware__action-link">Activate</button>
244 <button class="firmware__action-link">Delete</button>
245 </div>
246 </div>
247 <!-- new row -->
248 <div class="table__row table__row-uploading">
249 <div class="table__cell"></div>
250 <div class="table__cell firmware__active">
251 <span class="table__cell-label">Image state:</span>Not ready
252 </div>
253 <div class="table__cell">
254 <span class="table__cell-label">Image ID:</span>nnnnnn2
255 </div>
256 <div class="table__cell firmware__version">
257 <span class="table__cell-label">Version:</span>v4.0.2-82p
258 </div>
259 <div class="table__cell">
260 <span class="table__cell-label">Action:</span>
261 <span>Validating...</span>
Michael Davis43366db2017-05-15 18:12:35 -0500262 </div>
263 </div>
264 </div>
265 </div>
Michael Davis9486f542017-05-30 15:35:31 -0500266</div>
267<div class="row column" id="upload">
Michael Davis43366db2017-05-15 18:12:35 -0500268 <div class="column small-12 page-header">
269 <h2 class="inline h3 bold">Upload firmware image</h2>
Michael Davis9486f542017-05-30 15:35:31 -0500270 <p>Specify an image file located on your workstation or a TFTP server. An image file may contain firmware images for the server, BMC, or other hardware devices. Each image that you upload will be unpacked from the image file, and added to the appropriate list above.</p>
Michael Davis43366db2017-05-15 18:12:35 -0500271 </div>
272 <form id="firmware__upload-form" role="form" class="firmware__upload-form">
Michael Davis9486f542017-05-30 15:35:31 -0500273 <div class=" column firmware__upload-station">
274 <h3 class="h4 bold">Upload from workstation</h3>
275 <p>Optional text area. Can be used to explain about updating openBMC firmware from workstation. This could
276 be step-by-step instruction. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce et</p>
277 <label for="file-upload" class="inline firmware__upload-chooser">
278 <input id="file-upload" type="file" class="hide"/>
279 <span class="button btn-secondary inline">Choose a file</span>
280 <span class="inline firmware__upload-file-name">No file chosen</span>
Michael Davis43366db2017-05-15 18:12:35 -0500281 </label>
Michael Davis9486f542017-05-30 15:35:31 -0500282 <input type="submit" value="Upload firmware" class="inline btn btn-primary float-right"/>
283 <div class="inline uploading">Upload in progress...</div>
Michael Davis43366db2017-05-15 18:12:35 -0500284 </div>
Michael Davis9486f542017-05-30 15:35:31 -0500285 <div class=" column firmware__upload-tftp">
286 <h3 class="h4 bold">Download from TFTP server</h3>
287 <p>Optional text area. Can be used to explain about updating openBMC firmware from workstation. This could
288 be step-by-step instruction. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce et</p>
Michael Davis43366db2017-05-15 18:12:35 -0500289 <fieldset>
Michael Davis9486f542017-05-30 15:35:31 -0500290 <div class="row">
291 <div class="column small-12 large-4">
292 <label for="tftp-ip">Server IP address</label>
293 <input name="tftp-ip" id="tftp-ip" type="number"/>
294 </div>
295 <div class="column small-12 large-4">
296 <label for="tftp-file-name">File name</label>
297 <input name="tftp-file-name" id="tftp-file-name" type="text"/>
298 </div>
299 <div class="column small-12 large-4">
300 <input type="submit" value="Download firmware" class="inline btn btn-primary float-right"/>
301 </div>
302 </div>
303 <div class="inline uploading">Upload in progress...</div>
Michael Davis43366db2017-05-15 18:12:35 -0500304 </fieldset>
305 </div>
Michael Davis43366db2017-05-15 18:12:35 -0500306 </form>
Michael Davis9486f542017-05-30 15:35:31 -0500307</div>
308
309<!-- Firmware modals -->
310<section class="modal" aria-hidden="true" aria-labelledby="modalTitle" aria-describedby="modalDescription" role="dialog">
311 <div class="modal__upload-fail" role="document">
312 <div class="screen-reader-offscreen modal-description">Upload failure modal</div><!-- accessibility only; used for screen readers -->
313 <div class="page-header ">
314 <span class="icon icon__warning inline"><span class="accessible-text" role="alert">Warning</span></span>
315 <h1 class="modal-title h4 inline">Upload failed</h1>
316 </div>
317 <div class="modal__content">
318 <p>The upload of the image file has failed.</p>
319 </div>
320 <div class="modal__button-wrapper">
321 <button class="inline btn-primary">Close</button>
322 </div>
323 </div>
324</section>
325<section class="modal" aria-hidden="true" aria-labelledby="modalTitle" aria-describedby="modalDescription" role="dialog">
326 <div class="modal__activation-fail" role="document">
327 <div class="screen-reader-offscreen modal-description">Activation failure modal</div><!-- accessibility only; used for screen readers -->
328 <div class="page-header ">
329 <span class="icon icon__warning inline"><span class="accessible-text" role="alert">Warning</span></span>
330 <h1 class="modal-title h4 inline">Activation failed</h1>
331 </div>
332 <div class="modal__content">
333 <p>Activation of the image file has failed.</p>
334 </div>
335 <div class="modal__button-wrapper">
336 <button class="inline btn-primary">Close</button>
337 </div>
338 </div>
339</section>
340<section class="modal" aria-hidden="true" aria-labelledby="modalTitle" aria-describedby="modalDescription" role="dialog">
341 <div class="modal__tftp-unreachable" role="document">
342 <div class="screen-reader-offscreen modal-description">TFTP server unreachable modal</div><!-- accessibility only; used for screen readers -->
343 <div class="page-header ">
344 <span class="icon icon__warning inline"><span class="accessible-text" role="alert">Warning</span></span>
345 <h1 class="modal-title h4 inline">TFTP server unreachable </h1>
346 </div>
347 <div class="modal__content">
348 <p>Could not make a connection with the TFTP server. Check the IP address and connections, and try
349 again.</p>
350 </div>
351 <div class="modal__button-wrapper">
352 <button class="inline btn-primary">Close</button>
353 </div>
354 </div>
355</section>
356<section class="modal" aria-hidden="true" aria-labelledby="modalTitle" aria-describedby="modalDescription" role="dialog">
357 <div class="modal__tftp-unreachable" role="document">
358 <div class="screen-reader-offscreen modal-description">Delete firmware image</div><!-- accessibility only; used for screen readers -->
359 <div class="page-header ">
360 <span class="icon icon__warning inline"><span class="accessible-text" role="alert">Warning</span></span>
361 <h1 class="modal-title h4 inline">Delete image</h1>
362 </div>
363 <div class="modal__content">
364 <p>Delete firmware v3.4-82-g874g45r?</p>
365 </div>
366 <div class="modal__button-wrapper">
367 <button class="inline btn-secondary">Cancel</button>
368 <button class="inline btn-primary">Continue</button>
369 </div>
370 </div>
371</section>
372<section class="modal" aria-hidden="true" aria-labelledby="modalTitle" aria-describedby="modalDescription" role="dialog">
373 <div class="modal__upload" role="document">
374 <div class="screen-reader-offscreen modal-description">Upload image file modal</div><!-- accessibility only; used for screen readers -->
375 <div class="page-header ">
376 <h1 class="modal-title h4"><span class="icon icon__info"><svg xmlns="http://www.w3.org/2000/svg"
377 viewBox="0 0 32 32"><path
378 d="M18 14h-6v2h1v6h-2v2h8v-2h-2z"/><circle cx="16" cy="10" r="2"/><path
379 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>
380 Upload image file
381 </h1>
382 </div>
383 <div class="modal__content">
384 <p>Uploading this image may replace a non-active image, and prevent rollback from the current active image
385 to the previous image.</p>
386 </div>
387 <div class="modal__button-wrapper">
388 <button class="inline btn-secondary">Cancel</button>
389 <button class="inline btn-primary">Continue</button>
390 </div>
391 </div>
392</section>
393<section class="modal" aria-hidden="true" aria-labelledby="modalTitle" aria-describedby="modalDescription" role="dialog">
394 <div class="modal__reboot" role="document">
395 <div class="screen-reader-offscreen modal-description">Server reboot required modal</div><!-- accessibility only; used for screen readers -->
396 <div class="page-header ">
397 <h1 class="modal-title h4"><span class="icon icon__info"><svg xmlns="http://www.w3.org/2000/svg"
398 viewBox="0 0 32 32"><path
399 d="M18 14h-6v2h1v6h-2v2h8v-2h-2z"/><circle cx="16" cy="10" r="2"/><path
400 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>
401 Server reboot required
402 </h1>
403 </div>
404 <div class="modal__content">
405 <p>You specified a new primary firmware image. This change will not take effect until the server is powered
406 down and restarted.</p>
407 </div>
408 <a href="#/server-control/power-operations" class="bold modal__link">Go to power operations page</a>
409 <div class="modal__button-wrapper">
410 <button class="inline btn-secondary">Cancel</button>
411 <button class="inline btn-primary">Warm reboot</button>
412 </div>
413 </div>
414</section>
415<section class="modal" aria-hidden="true" aria-labelledby="modalTitle" aria-describedby="modalDescription" role="dialog">
416 <div class="modal__preserve-settings" role="document">
417 <div class="screen-reader-offscreen modal-description">Preserve setting modal</div><!-- accessibility only; used for screen readers -->
418 <div class="page-header ">
419 <h1 class="modal-title h4"><span class="icon icon__info"><svg xmlns="http://www.w3.org/2000/svg"
420 viewBox="0 0 32 32"><path
421 d="M18 14h-6v2h1v6h-2v2h8v-2h-2z"/><circle cx="16" cy="10" r="2"/><path
422 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>
423 Preserve settings
424 </h1>
425 </div>
426 <div class="modal__content">
427 <p>Switching to a new BMC firmware image will erase current user settings. Network settings will be preserved unless you choose to reset all settings.</p>
428 <form>
429 <fieldset>
430 <div class="row column">
431 <label class="control-radio bold" for="preserve-settings">Preserve network settings
432 <input type="radio" name="preserve-settings" id="preserve-settings" ng-checked="true" ng-model="dhcp" ng-value="true" ng-init="dhcp=true"/>
433 <span class="control__indicator control__indicator-on"></span>
434 </label>
435 </div>
436 <div class="row column">
437 <label class="control-radio bold" for="reset-settings">Reset all user and network settings
438 <input type="radio" name="reset-settings" id="reset-settings" ng-model="dhcp" ng-value="false"/>
439 <span class="control__indicator control__indicator-on"></span>
440 </label>
441 </div>
442 </fieldset>
443 </form>
444 </div>
445 <div class="modal__button-wrapper">
446 <button class="inline btn-secondary">Cancel</button>
447 <button class="inline btn-primary">Continue</button>
448 </div>
449 </div>
450</section>
451<div class="modal-overlay" tabindex="-1"></div>