Michael Davis | 43366db | 2017-05-15 18:12:35 -0500 | [diff] [blame] | 1 | <div id="firmware"> |
| 2 | <div class="row column"> |
| 3 | <h1>Firmware</h1> |
| 4 | </div> |
| 5 | </div> |
Michael Davis | 9486f54 | 2017-05-30 15:35:31 -0500 | [diff] [blame] | 6 | <div class="row column"> |
Michael Davis | 43366db | 2017-05-15 18:12:35 -0500 | [diff] [blame] | 7 | <div class="column small-12 page-header"> |
Michael Davis | 9486f54 | 2017-05-30 15:35:31 -0500 | [diff] [blame] | 8 | <h1 class="inline h4">Manage BMC and server firmware</h1> |
Michael Davis | 43366db | 2017-05-15 18:12:35 -0500 | [diff] [blame] | 9 | </div> |
Michael Davis | 9486f54 | 2017-05-30 15:35:31 -0500 | [diff] [blame] | 10 | </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"> </span> Scroll to upload image file |
| 19 | </button> |
| 20 | </div> |
Iftekharul Islam | c016139 | 2017-06-14 15:46:15 -0500 | [diff] [blame^] | 21 | <firmware-list title="BMC images" version="bmcActiveVersion" firmwares="firmwares" filter-by="filters.bmc"></firmware-list> |
| 22 | <firmware-list title="Server images" version="hostActiveVersion" firmwares="firmwares" filter-by="filters.host"></firmware-list> |
Michael Davis | 9486f54 | 2017-05-30 15:35:31 -0500 | [diff] [blame] | 23 | <div class="row column" id="upload"> |
Michael Davis | 43366db | 2017-05-15 18:12:35 -0500 | [diff] [blame] | 24 | <div class="column small-12 page-header"> |
| 25 | <h2 class="inline h3 bold">Upload firmware image</h2> |
Michael Davis | 9486f54 | 2017-05-30 15:35:31 -0500 | [diff] [blame] | 26 | <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 Davis | 43366db | 2017-05-15 18:12:35 -0500 | [diff] [blame] | 27 | </div> |
| 28 | <form id="firmware__upload-form" role="form" class="firmware__upload-form"> |
Michael Davis | 9486f54 | 2017-05-30 15:35:31 -0500 | [diff] [blame] | 29 | <div class=" column firmware__upload-station"> |
| 30 | <h3 class="h4 bold">Upload from workstation</h3> |
| 31 | <p>Optional text area. Can be used to explain about updating openBMC firmware from workstation. This could |
| 32 | be step-by-step instruction. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce et</p> |
| 33 | <label for="file-upload" class="inline firmware__upload-chooser"> |
Iftekharul Islam | c016139 | 2017-06-14 15:46:15 -0500 | [diff] [blame^] | 34 | <input id="file-upload" type="file" file="file" class="hide" onchange="angular.element(this).scope().fileNameChanged()"/> |
Michael Davis | 9486f54 | 2017-05-30 15:35:31 -0500 | [diff] [blame] | 35 | <span class="button btn-secondary inline">Choose a file</span> |
Iftekharul Islam | c016139 | 2017-06-14 15:46:15 -0500 | [diff] [blame^] | 36 | <span class="inline firmware__upload-file-name"><span ng-if="!file">No file chosen</span><span ng-if="file.name !== undefined">{{file.name}}</span></span> |
Michael Davis | 43366db | 2017-05-15 18:12:35 -0500 | [diff] [blame] | 37 | </label> |
Iftekharul Islam | c016139 | 2017-06-14 15:46:15 -0500 | [diff] [blame^] | 38 | <input type="button" value="Upload firmware" class="inline button btn-primary float-right" ng-click="upload()"/> |
| 39 | <div class="inline uploading" ng-show="uploading">Upload in progress...</div> |
Michael Davis | 43366db | 2017-05-15 18:12:35 -0500 | [diff] [blame] | 40 | </div> |
Michael Davis | 9486f54 | 2017-05-30 15:35:31 -0500 | [diff] [blame] | 41 | <div class=" column firmware__upload-tftp"> |
| 42 | <h3 class="h4 bold">Download from TFTP server</h3> |
| 43 | <p>Optional text area. Can be used to explain about updating openBMC firmware from workstation. This could |
| 44 | be step-by-step instruction. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce et</p> |
Michael Davis | 43366db | 2017-05-15 18:12:35 -0500 | [diff] [blame] | 45 | <fieldset> |
Michael Davis | 9486f54 | 2017-05-30 15:35:31 -0500 | [diff] [blame] | 46 | <div class="row"> |
| 47 | <div class="column small-12 large-4"> |
| 48 | <label for="tftp-ip">Server IP address</label> |
| 49 | <input name="tftp-ip" id="tftp-ip" type="number"/> |
| 50 | </div> |
| 51 | <div class="column small-12 large-4"> |
| 52 | <label for="tftp-file-name">File name</label> |
| 53 | <input name="tftp-file-name" id="tftp-file-name" type="text"/> |
| 54 | </div> |
| 55 | <div class="column small-12 large-4"> |
Iftekharul Islam | c016139 | 2017-06-14 15:46:15 -0500 | [diff] [blame^] | 56 | <input type="submit" value="Download firmware" class="inline button btn-primary float-right"/> |
Michael Davis | 9486f54 | 2017-05-30 15:35:31 -0500 | [diff] [blame] | 57 | </div> |
| 58 | </div> |
Iftekharul Islam | c016139 | 2017-06-14 15:46:15 -0500 | [diff] [blame^] | 59 | <div class="inline uploading" ng-show="downloading">Downloading in progress...</div> |
Michael Davis | 43366db | 2017-05-15 18:12:35 -0500 | [diff] [blame] | 60 | </fieldset> |
| 61 | </div> |
Michael Davis | 43366db | 2017-05-15 18:12:35 -0500 | [diff] [blame] | 62 | </form> |
Michael Davis | 9486f54 | 2017-05-30 15:35:31 -0500 | [diff] [blame] | 63 | </div> |
| 64 | |
| 65 | <!-- Firmware modals --> |
Iftekharul Islam | c016139 | 2017-06-14 15:46:15 -0500 | [diff] [blame^] | 66 | <section class="modal" aria-hidden="true" aria-labelledby="modalTitle" aria-describedby="modalDescription" role="dialog" ng-class="{'active': display_error}"> |
Michael Davis | 9486f54 | 2017-05-30 15:35:31 -0500 | [diff] [blame] | 67 | <div class="modal__upload-fail" role="document"> |
Iftekharul Islam | c016139 | 2017-06-14 15:46:15 -0500 | [diff] [blame^] | 68 | <div class="screen-reader-offscreen modal-description">{{error.modal_title}}</div><!-- accessibility only; used for screen readers --> |
Michael Davis | 9486f54 | 2017-05-30 15:35:31 -0500 | [diff] [blame] | 69 | <div class="page-header "> |
Iftekharul Islam | c016139 | 2017-06-14 15:46:15 -0500 | [diff] [blame^] | 70 | <span class="icon icon__warning inline"><span class="accessible-text" role="alert">{{error.type}}</span></span> |
| 71 | <h1 class="modal-title h4 inline">{{error.title}}</h1> |
Michael Davis | 9486f54 | 2017-05-30 15:35:31 -0500 | [diff] [blame] | 72 | </div> |
| 73 | <div class="modal__content"> |
Iftekharul Islam | c016139 | 2017-06-14 15:46:15 -0500 | [diff] [blame^] | 74 | <p>{{error.desc}}</p> |
Michael Davis | 9486f54 | 2017-05-30 15:35:31 -0500 | [diff] [blame] | 75 | </div> |
| 76 | <div class="modal__button-wrapper"> |
Iftekharul Islam | c016139 | 2017-06-14 15:46:15 -0500 | [diff] [blame^] | 77 | <button class="inline btn-primary" ng-click="display_error = false;">Close</button> |
Michael Davis | 9486f54 | 2017-05-30 15:35:31 -0500 | [diff] [blame] | 78 | </div> |
| 79 | </div> |
| 80 | </section> |
Iftekharul Islam | c016139 | 2017-06-14 15:46:15 -0500 | [diff] [blame^] | 81 | |
| 82 | <section class="modal" aria-hidden="true" aria-labelledby="modalTitle" aria-describedby="modalDescription" role="dialog" ng-class="{'active': confirm_delete}"> |
Michael Davis | 9486f54 | 2017-05-30 15:35:31 -0500 | [diff] [blame] | 83 | <div class="modal__tftp-unreachable" role="document"> |
| 84 | <div class="screen-reader-offscreen modal-description">Delete firmware image</div><!-- accessibility only; used for screen readers --> |
| 85 | <div class="page-header "> |
| 86 | <span class="icon icon__warning inline"><span class="accessible-text" role="alert">Warning</span></span> |
| 87 | <h1 class="modal-title h4 inline">Delete image</h1> |
| 88 | </div> |
| 89 | <div class="modal__content"> |
Iftekharul Islam | c016139 | 2017-06-14 15:46:15 -0500 | [diff] [blame^] | 90 | <p>Delete firmware {{delete_image_version}}?</p> |
Michael Davis | 9486f54 | 2017-05-30 15:35:31 -0500 | [diff] [blame] | 91 | </div> |
| 92 | <div class="modal__button-wrapper"> |
Iftekharul Islam | c016139 | 2017-06-14 15:46:15 -0500 | [diff] [blame^] | 93 | <button class="inline btn-secondary" ng-click="confirm_delete=false;">Cancel</button> |
| 94 | <button class="inline btn-primary" ng-click="confirmDeleteImage()">Continue</button> |
Michael Davis | 9486f54 | 2017-05-30 15:35:31 -0500 | [diff] [blame] | 95 | </div> |
| 96 | </div> |
| 97 | </section> |
Iftekharul Islam | c016139 | 2017-06-14 15:46:15 -0500 | [diff] [blame^] | 98 | |
| 99 | <section class="modal" aria-hidden="true" aria-labelledby="modalTitle" aria-describedby="modalDescription" role="dialog" ng-class="{'active': confirm_upload_image}"> |
Michael Davis | 9486f54 | 2017-05-30 15:35:31 -0500 | [diff] [blame] | 100 | <div class="modal__upload" role="document"> |
| 101 | <div class="screen-reader-offscreen modal-description">Upload image file modal</div><!-- accessibility only; used for screen readers --> |
| 102 | <div class="page-header "> |
| 103 | <h1 class="modal-title h4"><span class="icon icon__info"><svg xmlns="http://www.w3.org/2000/svg" |
| 104 | viewBox="0 0 32 32"><path |
| 105 | d="M18 14h-6v2h1v6h-2v2h8v-2h-2z"/><circle cx="16" cy="10" r="2"/><path |
| 106 | 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> |
| 107 | Upload image file |
| 108 | </h1> |
| 109 | </div> |
| 110 | <div class="modal__content"> |
| 111 | <p>Uploading this image may replace a non-active image, and prevent rollback from the current active image |
| 112 | to the previous image.</p> |
| 113 | </div> |
| 114 | <div class="modal__button-wrapper"> |
Iftekharul Islam | c016139 | 2017-06-14 15:46:15 -0500 | [diff] [blame^] | 115 | <button class="inline btn-secondary" ng-click="confirm_upload_image = false;">Cancel</button> |
| 116 | <button class="inline btn-primary" ng-click="confirmUpload()">Continue</button> |
Michael Davis | 9486f54 | 2017-05-30 15:35:31 -0500 | [diff] [blame] | 117 | </div> |
| 118 | </div> |
| 119 | </section> |
Iftekharul Islam | c016139 | 2017-06-14 15:46:15 -0500 | [diff] [blame^] | 120 | <section class="modal" aria-hidden="true" aria-labelledby="modalTitle" aria-describedby="modalDescription" role="dialog" ng-class="{'active': reboot_confirm}"> |
Michael Davis | 9486f54 | 2017-05-30 15:35:31 -0500 | [diff] [blame] | 121 | <div class="modal__reboot" role="document"> |
| 122 | <div class="screen-reader-offscreen modal-description">Server reboot required modal</div><!-- accessibility only; used for screen readers --> |
| 123 | <div class="page-header "> |
| 124 | <h1 class="modal-title h4"><span class="icon icon__info"><svg xmlns="http://www.w3.org/2000/svg" |
| 125 | viewBox="0 0 32 32"><path |
| 126 | d="M18 14h-6v2h1v6h-2v2h8v-2h-2z"/><circle cx="16" cy="10" r="2"/><path |
| 127 | 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> |
| 128 | Server reboot required |
| 129 | </h1> |
| 130 | </div> |
| 131 | <div class="modal__content"> |
| 132 | <p>You specified a new primary firmware image. This change will not take effect until the server is powered |
| 133 | down and restarted.</p> |
| 134 | </div> |
| 135 | <a href="#/server-control/power-operations" class="bold modal__link">Go to power operations page</a> |
| 136 | <div class="modal__button-wrapper"> |
Iftekharul Islam | c016139 | 2017-06-14 15:46:15 -0500 | [diff] [blame^] | 137 | <button class="inline btn-secondary" ng-click="reboot_confirm=false;">Cancel</button> |
| 138 | <button class="inline btn-primary" ng-click="confirmWarmReboot()">Warm reboot</button> |
Michael Davis | 9486f54 | 2017-05-30 15:35:31 -0500 | [diff] [blame] | 139 | </div> |
| 140 | </div> |
| 141 | </section> |
Iftekharul Islam | c016139 | 2017-06-14 15:46:15 -0500 | [diff] [blame^] | 142 | <section class="modal" aria-hidden="true" aria-labelledby="modalTitle" aria-describedby="modalDescription" role="dialog" ng-class="{'active': preserve_settings_confirm}"> |
Michael Davis | 9486f54 | 2017-05-30 15:35:31 -0500 | [diff] [blame] | 143 | <div class="modal__preserve-settings" role="document"> |
| 144 | <div class="screen-reader-offscreen modal-description">Preserve setting modal</div><!-- accessibility only; used for screen readers --> |
| 145 | <div class="page-header "> |
| 146 | <h1 class="modal-title h4"><span class="icon icon__info"><svg xmlns="http://www.w3.org/2000/svg" |
| 147 | viewBox="0 0 32 32"><path |
| 148 | d="M18 14h-6v2h1v6h-2v2h8v-2h-2z"/><circle cx="16" cy="10" r="2"/><path |
| 149 | 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> |
| 150 | Preserve settings |
| 151 | </h1> |
| 152 | </div> |
| 153 | <div class="modal__content"> |
| 154 | <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> |
| 155 | <form> |
| 156 | <fieldset> |
| 157 | <div class="row column"> |
| 158 | <label class="control-radio bold" for="preserve-settings">Preserve network settings |
| 159 | <input type="radio" name="preserve-settings" id="preserve-settings" ng-checked="true" ng-model="dhcp" ng-value="true" ng-init="dhcp=true"/> |
| 160 | <span class="control__indicator control__indicator-on"></span> |
| 161 | </label> |
| 162 | </div> |
| 163 | <div class="row column"> |
| 164 | <label class="control-radio bold" for="reset-settings">Reset all user and network settings |
| 165 | <input type="radio" name="reset-settings" id="reset-settings" ng-model="dhcp" ng-value="false"/> |
| 166 | <span class="control__indicator control__indicator-on"></span> |
| 167 | </label> |
| 168 | </div> |
| 169 | </fieldset> |
| 170 | </form> |
| 171 | </div> |
| 172 | <div class="modal__button-wrapper"> |
Iftekharul Islam | c016139 | 2017-06-14 15:46:15 -0500 | [diff] [blame^] | 173 | <button class="inline btn-secondary" ng-click="preserve_settings_confirm=false;">Cancel</button> |
| 174 | <button class="inline btn-primary" ng-click="preserveSettingsConfirmed()">Continue</button> |
Michael Davis | 9486f54 | 2017-05-30 15:35:31 -0500 | [diff] [blame] | 175 | </div> |
| 176 | </div> |
| 177 | </section> |
Iftekharul Islam | c016139 | 2017-06-14 15:46:15 -0500 | [diff] [blame^] | 178 | <div class="modal-overlay" tabindex="-1" ng-class="{'active': (display_error || confirm_upload_image || reboot_confirm || preserve_settings_confirm)}"></div> |