| Iftekharul Islam | 0805441 | 2017-08-25 10:29:57 -0500 | [diff] [blame] | 1 | <loader loading="loading"></loader> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 2 | <div id="multi-server"> | 
| Iftekharul Islam | 0805441 | 2017-08-25 10:29:57 -0500 | [diff] [blame] | 3 | <div class="row column"> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 4 | <h1>All servers</h1> | 
| Iftekharul Islam | 0805441 | 2017-08-25 10:29:57 -0500 | [diff] [blame] | 5 | </div> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 6 | <section class="row column"> | 
|  | 7 | <div class="page-header"> | 
| Michael Davis | 4250f30 | 2017-09-06 11:03:52 -0500 | [diff] [blame] | 8 | <h2 class="inline h4">All auto-discovered and manually added servers</h2> | 
| Michael Davis | 0252cd7 | 2017-09-11 16:40:07 -0500 | [diff] [blame] | 9 | <a class="inline float-right" ng-click="addServer()"><span class="icon icon__plus"></span>Add a server</a> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 10 | </div> | 
|  | 11 | </section> | 
|  | 12 | <section class="row column"> | 
|  | 13 | <!-- search --> | 
|  | 14 | <p class="content-label" aria-label="sensors filter">Filter servers</p> | 
|  | 15 | <div class="content__search"> | 
|  | 16 | <label for="content__search-input">Multi server search</label> | 
|  | 17 | <input id="content__search-input" type="text" ng-model="customSearch" ng-keydown="doSearchOnEnter($event)"/> | 
|  | 18 | <div class="search-submit__wrapper"> | 
|  | 19 | <button class="clear-input" ng-click="clear()">✕</button> | 
|  | 20 | <input id="content__search-submit" type="submit" class="btn btn-primary content__search-submit" value="Filter" ng-click="doSearchOnClick()"/> | 
|  | 21 | </div> | 
|  | 22 |  | 
|  | 23 | </div> | 
|  | 24 | </section> <!-- end search --> | 
|  | 25 |  | 
|  | 26 | <section id="" class="row column"> | 
|  | 27 | <div class="row column header-row"> | 
|  | 28 | <div class="column large-12 header__actions-bar"> | 
| Michael Davis | 58fcd7f | 2017-09-08 11:26:35 -0500 | [diff] [blame] | 29 | <div class="inline multi-server__col multi-server__title">Server name<span class="sort-heading"></span></div> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 30 | <div class="inline multi-server__col">BMC IP address<span class="sort-heading"></span></div> | 
| Michael Davis | 0252cd7 | 2017-09-11 16:40:07 -0500 | [diff] [blame] | 31 | <div class="inline multi-server__col">Model number<span class="sort-heading sort-down"></span></div> | 
|  | 32 | <div class="inline multi-server__col narrow-col">Power<span class="sort-heading sort-up"></span></div> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 33 | <div class="inline multi-server__col narrow-col">Status<span class="sort-heading"></span></div> | 
|  | 34 | </div> | 
|  | 35 | </div> | 
|  | 36 | <!-- server --> | 
|  | 37 | <div class="multi-server__col-row"> | 
|  | 38 | <div class="inline multi-server__title">IBM Power Witherspoon 2 (current)</div> | 
| Michael Davis | 4250f30 | 2017-09-06 11:03:52 -0500 | [diff] [blame] | 39 | <div class="inline multi-server__col courier-bold"> | 
|  | 40 | <span class="multi-server__label">BMC IP address</span> | 
|  | 41 | <span class="multi-server__data">9.3.111.222</span> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 42 | </div> | 
| Michael Davis | 4250f30 | 2017-09-06 11:03:52 -0500 | [diff] [blame] | 43 | <div class="inline multi-server__col courier-bold"> | 
|  | 44 | <span class="multi-server__label">Model number</span> | 
|  | 45 | <span class="multi-server__data">8335-GTC</span> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 46 | </div> | 
|  | 47 | <div class="inline multi-server__col narrow-col bold"> | 
| Michael Davis | 4250f30 | 2017-09-06 11:03:52 -0500 | [diff] [blame] | 48 | <span class="multi-server__label">Power</span> | 
|  | 49 | <span class="multi-server__data"><span class="icon icon__off" ng-class="{'icon__off': dataService.server_state == 'Off' || 'Unreachable', 'icon__good': dataService.server_state == 'Running', 'icon_standby': dataService.server_state == 'Standby'}"></span>Off</span> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 50 | </div> | 
|  | 51 | <div class="inline multi-server__col narrow-col bold"> | 
| Michael Davis | 4250f30 | 2017-09-06 11:03:52 -0500 | [diff] [blame] | 52 | <span class="multi-server__label">Status</span> | 
|  | 53 | <span class="multi-server__data"><span class="icon icon__critical" ng-class="{'icon__critical': sensor.status == 'critical', 'icon__warning': sensor.status == 'warning', 'icon__normal': sensor.status == 'normal'}" aria-label="multi.status"></span>Emergency</span> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 54 | </div> | 
|  | 55 | </div> | 
|  | 56 | <!-- server --> | 
|  | 57 | <div class="multi-server__col-row"> | 
|  | 58 | <div class="inline multi-server__title">IBM Power Witherspoon 6</div> | 
| Michael Davis | 4250f30 | 2017-09-06 11:03:52 -0500 | [diff] [blame] | 59 | <div class="inline multi-server__col courier-bold"> | 
|  | 60 | <span class="multi-server__label">BMC IP address</span> | 
|  | 61 | <span class="multi-server__data">9.3.41.232</span> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 62 | </div> | 
| Michael Davis | 4250f30 | 2017-09-06 11:03:52 -0500 | [diff] [blame] | 63 | <div class="inline multi-server__col courier-bold"> | 
|  | 64 | <span class="multi-server__label">Model number</span> | 
|  | 65 | <span class="multi-server__data">PRT85-GTC</span> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 66 | </div> | 
|  | 67 | <div class="inline multi-server__col narrow-col bold"> | 
| Michael Davis | 4250f30 | 2017-09-06 11:03:52 -0500 | [diff] [blame] | 68 | <span class="multi-server__label">Power</span> | 
|  | 69 | <span class="multi-server__data"><span class="icon icon__good"></span>On</span> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 70 | </div> | 
|  | 71 | <div class="inline multi-server__col narrow-col bold"> | 
| Michael Davis | 4250f30 | 2017-09-06 11:03:52 -0500 | [diff] [blame] | 72 | <span class="multi-server__label">Status</span> | 
|  | 73 | <span class="multi-server__data"><span class="icon icon__good" ng-class="{'icon__critical': sensor.status == 'critical', 'icon__warning': sensor.status == 'warning', 'icon__normal': sensor.status == 'normal'}" aria-label="multi.status"></span>Good</span> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 74 | </div> | 
|  | 75 | </div> | 
|  | 76 | <!-- server --> | 
|  | 77 | <div class="multi-server__col-row"> | 
|  | 78 | <div class="inline multi-server__title">IBM Power Witherspoon 4</div> | 
| Michael Davis | 4250f30 | 2017-09-06 11:03:52 -0500 | [diff] [blame] | 79 | <div class="inline multi-server__col courier-bold"> | 
|  | 80 | <span class="multi-server__label">BMC IP address</span> | 
|  | 81 | <span class="multi-server__data">9.3.21.233</span> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 82 | </div> | 
| Michael Davis | 4250f30 | 2017-09-06 11:03:52 -0500 | [diff] [blame] | 83 | <div class="inline multi-server__col courier-bold"> | 
|  | 84 | <span class="multi-server__label">Model number</span> | 
|  | 85 | <span class="multi-server__data">MKU-GTC</span> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 86 | </div> | 
|  | 87 | <div class="inline multi-server__col narrow-col bold"> | 
| Michael Davis | 4250f30 | 2017-09-06 11:03:52 -0500 | [diff] [blame] | 88 | <span class="multi-server__label">Power</span> | 
|  | 89 | <span class="multi-server__data"><span class="icon icon__good"></span>On</span> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 90 | </div> | 
|  | 91 | <div class="inline multi-server__col narrow-col bold"> | 
| Michael Davis | 4250f30 | 2017-09-06 11:03:52 -0500 | [diff] [blame] | 92 | <span class="multi-server__label">Status</span> | 
|  | 93 | <span class="multi-server__data"><span class="icon icon__good" ng-class="{'icon__critical': sensor.status == 'critical', 'icon__warning': sensor.status == 'warning', 'icon__normal': sensor.status == 'normal'}" aria-label="multi.status"></span>Good</span> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 94 | </div> | 
|  | 95 | </div> | 
|  | 96 | <!-- server --> | 
|  | 97 | <div class="multi-server__col-row"> | 
|  | 98 | <div class="inline multi-server__title">Server 100023476 ligula sed magna dictum porta. Curabitur arcu erat, accumsan id imperdiet et, porttitor at sem</div> | 
| Michael Davis | 4250f30 | 2017-09-06 11:03:52 -0500 | [diff] [blame] | 99 | <div class="inline multi-server__col courier-bold"> | 
|  | 100 | <span class="multi-server__label">BMC IP address</span> | 
|  | 101 | <span class="multi-server__data">9.3.51.244</span> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 102 | </div> | 
| Michael Davis | 4250f30 | 2017-09-06 11:03:52 -0500 | [diff] [blame] | 103 | <div class="inline multi-server__col courier-bold"> | 
|  | 104 | <span class="multi-server__label">Model number</span> | 
|  | 105 | <span class="multi-server__data">854-GTC</span> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 106 | </div> | 
|  | 107 | <div class="inline multi-server__col narrow-col bold"> | 
| Michael Davis | 4250f30 | 2017-09-06 11:03:52 -0500 | [diff] [blame] | 108 | <span class="multi-server__label">Power</span> | 
|  | 109 | <span class="multi-server__data"><span class="icon icon__good"></span>On</span> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 110 | </div> | 
|  | 111 | <div class="inline multi-server__col narrow-col bold"> | 
| Michael Davis | 4250f30 | 2017-09-06 11:03:52 -0500 | [diff] [blame] | 112 | <span class="multi-server__label">Status</span> | 
|  | 113 | <span class="multi-server__data"><span class="icon icon__critical" ng-class="{'icon__critical': sensor.status == 'critical', 'icon__warning': sensor.status == 'warning', 'icon__normal': sensor.status == 'normal'}" aria-label="multi.status"></span>Critical</span> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 114 | </div> | 
|  | 115 | </div> | 
|  | 116 | <!-- server --> | 
| Michael Davis | 58fcd7f | 2017-09-08 11:26:35 -0500 | [diff] [blame] | 117 | <div class="multi-server__col-row"> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 118 | <div class="inline multi-server__title">Server 100023476</div> | 
| Michael Davis | 4250f30 | 2017-09-06 11:03:52 -0500 | [diff] [blame] | 119 | <div class="inline multi-server__col courier-bold"> | 
|  | 120 | <span class="multi-server__label">BMC IP address</span> | 
|  | 121 | <span class="multi-server__data">9.3.185.164</span> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 122 | </div> | 
| Michael Davis | 4250f30 | 2017-09-06 11:03:52 -0500 | [diff] [blame] | 123 | <div class="inline multi-server__col courier-bold"> | 
|  | 124 | <span class="multi-server__label">Model number</span> | 
|  | 125 | <span class="multi-server__data">82225-GTC</span> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 126 | </div> | 
|  | 127 | <div class="inline multi-server__col narrow-col bold"> | 
| Michael Davis | 4250f30 | 2017-09-06 11:03:52 -0500 | [diff] [blame] | 128 | <span class="multi-server__label">Power</span> | 
|  | 129 | <span class="multi-server__data"><span class="icon icon__standby"></span>Standby</span> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 130 | </div> | 
|  | 131 | <div class="inline multi-server__col narrow-col bold"> | 
| Michael Davis | 4250f30 | 2017-09-06 11:03:52 -0500 | [diff] [blame] | 132 | <span class="multi-server__label">Status</span> | 
|  | 133 | <span class="multi-server__data"><span class="icon icon__warning" ng-class="{'icon__critical': sensor.status == 'critical', 'icon__warning': sensor.status == 'warning', 'icon__normal': sensor.status == 'normal'}" aria-label="multi.status"></span>Warning</span> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 134 | </div> | 
|  | 135 | </div> | 
|  | 136 | </section> | 
|  | 137 | </div> | 
|  | 138 |  | 
|  | 139 | <!-- add server modal --> | 
|  | 140 | <section class="modal" aria-hidden="true" aria-labelledby="modalTitle" aria-describedby="modalDescription" role="dialog" ng-class="{'active': multi_server_add}"> | 
|  | 141 | <div class="modal__multi-add" role="document"> | 
|  | 142 | <div class="screen-reader-offscreen modal-description">To manually add a server that is not discovered automatically, provide either the BMC IP address or hostname and login credentials for its BMC</div><!-- accessibility only; used for screen readers --> | 
|  | 143 | <div class="page-header "> | 
|  | 144 | <h1 class="modal-title h4"><span class="icon icon__info"><svg xmlns="http://www.w3.org/2000/svg" | 
|  | 145 | viewBox="0 0 32 32"><path | 
|  | 146 | d="M18 14h-6v2h1v6h-2v2h8v-2h-2z"/><circle cx="16" cy="10" r="2"/><path | 
|  | 147 | 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> | 
|  | 148 | Add a server | 
|  | 149 | </h1> | 
|  | 150 | </div> | 
|  | 151 | <form id="multi-server_add-form" class="multi-server__add-form" action=""> | 
|  | 152 | <div class="modal__content row"> | 
|  | 153 | <div class="column large-12"> | 
| Michael Davis | 4250f30 | 2017-09-06 11:03:52 -0500 | [diff] [blame] | 154 | <label for="multi-server__host">BMC IP Address</label> | 
|  | 155 | <input id="multi-server__host" ng-model="multi_ip" type="text" autofocus/> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 156 | </div> | 
|  | 157 | <div class="column large-6"> | 
|  | 158 | <label for="username">Username</label> | 
|  | 159 | <input type="text" id="username" name="username" ng-model="username" ng-class="{error: error}" ng-keydown="tryLogin(username, password, $event)" ng-disabled="dataService.loading"> | 
|  | 160 | </div> | 
|  | 161 | <div class="column large-6"> | 
|  | 162 | <label for="password">Password</label> | 
|  | 163 | <input type="password" id="password" name="password" class="" ng-model="password" ng-keydown="tryLogin(username, password, $event)" ng-disabled="dataService.loading"> | 
|  | 164 | </div> | 
|  | 165 | </div> | 
|  | 166 | <label class="control-check"> | 
|  | 167 | <input id="multi-server__add-view" type="checkbox" name="events__check-all" ng-model="all" /> | 
|  | 168 | <span class="control__indicator"></span> | 
| Michael Davis | 58fcd7f | 2017-09-08 11:26:35 -0500 | [diff] [blame] | 169 | <span class="inline">View this server once added</span> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 170 | </label> | 
|  | 171 | <div class="modal__button-wrapper"> | 
| Michael Davis | db80901 | 2017-09-13 10:38:07 -0500 | [diff] [blame^] | 172 | <button class="inline btn-secondary" ng-click="multi_server_add = false">Cancel</button> | 
| Michael Davis | 58fcd7f | 2017-09-08 11:26:35 -0500 | [diff] [blame] | 173 | <button class="inline btn-primary">Add</button> | 
| Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 174 | </div> | 
|  | 175 | <p class="login__error-msg" role="alert" ng-if="error">Incorrect username or password</p> | 
|  | 176 | <p class="login__error-msg" role="alert" ng-if="server_unreachable">Server unreachable</p> | 
|  | 177 | </form> | 
|  | 178 | </div> | 
|  | 179 | </section> | 
| Michael Davis | 58fcd7f | 2017-09-08 11:26:35 -0500 | [diff] [blame] | 180 |  | 
|  | 181 | <!-- login modal --> | 
|  | 182 | <section class="modal" aria-hidden="true" aria-labelledby="modalTitle" aria-describedby="modalDescription" role="dialog" ng-class="{'active': multi_server_login}"> | 
|  | 183 | <div class="modal__multi-login" role="document"> | 
|  | 184 | <div class="screen-reader-offscreen modal-description">To log into the selected server, provide the login credentials for its BMC.</div><!-- accessibility only; used for screen readers --> | 
|  | 185 | <div class="page-header "> | 
|  | 186 | <h1 class="modal-title h4"><span class="icon icon__info"><svg xmlns="http://www.w3.org/2000/svg" | 
|  | 187 | viewBox="0 0 32 32"><path | 
|  | 188 | d="M18 14h-6v2h1v6h-2v2h8v-2h-2z"/><circle cx="16" cy="10" r="2"/><path | 
|  | 189 | 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> | 
|  | 190 | Login to server | 
|  | 191 | </h1> | 
|  | 192 | </div> | 
|  | 193 | <form id="multi-server_login-form" class="multi-server__login-form" action=""> | 
|  | 194 | <div class="modal__content row"> | 
|  | 195 | <div class="column large-12"> | 
|  | 196 | <!-- server --> | 
|  | 197 | <div class="multi-server__col-row"> | 
|  | 198 | <div class="inline multi-server__title"><span class="icon icon__good" ng-class="{'icon__critical': sensor.status == 'critical', 'icon__warning': sensor.status == 'warning', 'icon__normal': sensor.status == 'normal'}" aria-label="multi.status"></span>Server 100023476</div> | 
|  | 199 | <div class="inline multi-server__col courier-bold"> | 
|  | 200 | <span class="multi-server__data">9.3.185.164</span> | 
|  | 201 | </div> | 
|  | 202 | <div class="inline multi-server__col narrow-col bold"> | 
|  | 203 | <span class="multi-server__data"><span class="icon icon__standby"></span>Standby</span> | 
|  | 204 | </div> | 
|  | 205 | </div> | 
|  | 206 | </div> | 
|  | 207 | <div class="column large-6"> | 
|  | 208 | <label for="username">Username</label> | 
|  | 209 | <input type="text" id="username" name="username" ng-model="username" ng-class="{error: error}" ng-keydown="tryLogin(username, password, $event)" ng-disabled="dataService.loading"> | 
|  | 210 | </div> | 
|  | 211 | <div class="column large-6"> | 
|  | 212 | <label for="password">Password</label> | 
|  | 213 | <input type="password" id="password" name="password" class="" ng-model="password" ng-keydown="tryLogin(username, password, $event)" ng-disabled="dataService.loading"> | 
|  | 214 | </div> | 
|  | 215 | </div> | 
|  | 216 | <div class="modal__button-wrapper"> | 
|  | 217 | <button class="inline btn-secondary">Cancel</button> | 
|  | 218 | <button class="inline btn-primary">Login</button> | 
|  | 219 | </div> | 
|  | 220 | <p class="login__error-msg" role="alert" ng-if="error">Incorrect username or password</p> | 
|  | 221 | <p class="login__error-msg" role="alert" ng-if="server_unreachable">Server unreachable</p> | 
|  | 222 | </form> | 
|  | 223 | </div> | 
|  | 224 | </section> | 
|  | 225 |  | 
|  | 226 | <div class="modal-overlay" tabindex="-1" ng-class="{'active': (multi_server_add) || (multi_server_login)}"></div> |