| Gunnar Mills | 84981f0 | 2018-05-31 15:19:01 -0500 | [diff] [blame] | 1 | <loader loading="loading"></loader> | 
| Iftekharul Islam | cd78950 | 2017-04-19 14:37:55 -0500 | [diff] [blame] | 2 | <div id="configuration-network"> | 
| Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 3 |   <div class="row column"> | 
 | 4 |     <h1>BMC network settings</h1> | 
 | 5 |   </div> | 
 | 6 |   <form class="net-config__form" role="form" action=""> | 
| Derick Montague | 1ffa209 | 2019-04-01 17:57:27 -0500 | [diff] [blame] | 7 |     <fieldset class="net-config__fieldset row column"> | 
 | 8 |       <legend class="column small-12 page-header h2"> | 
 | 9 |         Common settings | 
 | 10 |       </legend> | 
 | 11 |       <div class="net-config__fieldset-content"> | 
| Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 12 |         <div class="column small-12 large-3"> | 
 | 13 |           <label for="net-config__mac">Hostname</label> | 
| Derick Montague | 1ffa209 | 2019-04-01 17:57:27 -0500 | [diff] [blame] | 14 |           <input id="net-config__mac" type="text" ng-model="hostname" /> | 
| Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 15 |         </div> | 
 | 16 |         <div class="column small-12 large-3"> | 
 | 17 |           <label for="netinterface-select">Network interface</label> | 
 | 18 |           <div id="netinterface-select" class="dropdown__wrapper"> | 
| Derick Montague | 1ffa209 | 2019-04-01 17:57:27 -0500 | [diff] [blame] | 19 |             <button type="button" class="dropdown__button" | 
 | 20 |               ng-click="networkDevice = !networkDevice">{{selectedInterface}}</button> | 
| Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 21 |             <ul class="dropdown__list inline" ng-show="networkDevice"> | 
 | 22 |               <li ng-repeat="interface_id in network.interface_ids"> | 
 | 23 |                 <button type="button" ng-click="selectInterface(interface_id);">{{interface_id}}</button> | 
 | 24 |               </li> | 
 | 25 |             </ul> | 
 | 26 |           </div> | 
 | 27 |         </div> | 
 | 28 |         <div class="column small-12 large-3"> | 
 | 29 |           <label for="net-config__host">MAC address</label> | 
| Derick Montague | 1ffa209 | 2019-04-01 17:57:27 -0500 | [diff] [blame] | 30 |           <input id="net-config__host" type="text" ng-model="interface.MACAddress" /> | 
| Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 31 |         </div> | 
 | 32 |         <div class="column small-12 large-3"> | 
 | 33 |           <label for="net-config__domain">Default Gateway</label> | 
| Derick Montague | 1ffa209 | 2019-04-01 17:57:27 -0500 | [diff] [blame] | 34 |           <input id="net-config__domain" type="text" ng-model="defaultGateway" /> | 
| Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 35 |         </div> | 
| Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 36 |       </div> | 
| Derick Montague | 1ffa209 | 2019-04-01 17:57:27 -0500 | [diff] [blame] | 37 |     </fieldset> | 
 | 38 |     <fieldset class="net-config__fieldset row column"> | 
 | 39 |       <legend class="column small-12 page-header h2"> | 
 | 40 |         IPV4 settings | 
 | 41 |       </legend> | 
 | 42 |       <div class="net-config__fieldset-content"> | 
| Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 43 |         <div class="row column"> | 
 | 44 |           <label class="control-radio" for="dhcp-address">Obtain an IP address automatically using DHCP | 
| Derick Montague | 1ffa209 | 2019-04-01 17:57:27 -0500 | [diff] [blame] | 45 |             <input type="radio" name="ip-address" id="dhcp-address" ng-checked="true" ng-model="interface.DHCPEnabled" | 
 | 46 |               ng-value="true"> | 
| Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 47 |             <span class="control__indicator control__indicator-on"></span> | 
 | 48 |           </label> | 
 | 49 |         </div> | 
 | 50 |         <div class="row column"> | 
 | 51 |           <label class="control-radio" for="static-ip-address">Assign a static IP address | 
| Derick Montague | 1ffa209 | 2019-04-01 17:57:27 -0500 | [diff] [blame] | 52 |             <input type="radio" name="ip-address" id="static-ip-address" ng-model="interface.DHCPEnabled" | 
 | 53 |               ng-value="false" /> | 
| Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 54 |             <span class="control__indicator control__indicator-on"></span> | 
 | 55 |           </label> | 
 | 56 |         </div> | 
| beccabroek | 971ac1a | 2018-09-24 13:14:05 -0500 | [diff] [blame] | 57 |         <div class="row column network-config__ipv4-wrap"> | 
| Derick Montague | 1ffa209 | 2019-04-01 17:57:27 -0500 | [diff] [blame] | 58 |           <fieldset class="net-config__fieldset net-config__static-ip-wrap" ng-repeat="ipv4 in interface.ipv4.values track by $index"> | 
| beccabroek | 971ac1a | 2018-09-24 13:14:05 -0500 | [diff] [blame] | 59 |             <div class="column small-12 large-3"> | 
| Derick Montague | 1ffa209 | 2019-04-01 17:57:27 -0500 | [diff] [blame] | 60 |               <label for="ipv4-address-{{$index+1}}">IPV4 address</label> | 
 | 61 |               <input id="ipv4-address-{{$index+1}}" ng-change="ipv4.updateAddress = true" type="text" | 
 | 62 |                 ng-disabled="interface.DHCPEnabled" ng-model="ipv4.Address" /> | 
| beccabroek | 971ac1a | 2018-09-24 13:14:05 -0500 | [diff] [blame] | 63 |             </div> | 
 | 64 |             <div class="column small-12 large-3"> | 
| Derick Montague | 1ffa209 | 2019-04-01 17:57:27 -0500 | [diff] [blame] | 65 |               <label for="ipv4-gateway-{{$index+1}}">Gateway</label> | 
 | 66 |               <input id="ipv4-gateway-{{$index+1}}" ng-change="ipv4.updateGateway = true" type="text" | 
 | 67 |                 ng-disabled="interface.DHCPEnabled" value="" ng-model="ipv4.Gateway" /> | 
| beccabroek | 971ac1a | 2018-09-24 13:14:05 -0500 | [diff] [blame] | 68 |             </div> | 
 | 69 |             <!-- This netmask prefix length max only works with IPV4 --> | 
 | 70 |             <div class="column small-12 large-6"> | 
| Derick Montague | 1ffa209 | 2019-04-01 17:57:27 -0500 | [diff] [blame] | 71 |               <label for="ipv4-prefix-{{$index+1}}">Netmask Prefix Length</label> | 
 | 72 |               <input id="ipv4-prefix-{{$index+1}}" class="column small-6" ng-change="ipv4.updatePrefix = true" | 
 | 73 |                 type="number" min="1" max="32" step="1" ng-disabled="interface.DHCPEnabled" | 
 | 74 |                 ng-model="ipv4.PrefixLength" /> | 
| beccabroek | 971ac1a | 2018-09-24 13:14:05 -0500 | [diff] [blame] | 75 |               <button class="network-config_remove-button inline" ng-click="removeIpv4Address($index)">Remove</button> | 
 | 76 |             </div> | 
 | 77 |           </fieldset> | 
| beccabroek | 1a0e7d0 | 2018-09-24 15:03:40 -0500 | [diff] [blame] | 78 |           <div class="row column"> | 
 | 79 |             <div class="column small-12"> | 
 | 80 |               <button type="button" class="btn-primary inline" ng-click="addIpv4Field()">Add IPV4 address</button> | 
 | 81 |             </div> | 
 | 82 |           </div> | 
| beccabroek | 971ac1a | 2018-09-24 13:14:05 -0500 | [diff] [blame] | 83 |         </div> | 
| Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 84 |       </div> | 
| Derick Montague | 1ffa209 | 2019-04-01 17:57:27 -0500 | [diff] [blame] | 85 |     </fieldset> | 
 | 86 |     <fieldset class="net-config__fieldset row column"> | 
 | 87 |       <legend class="column small-12 page-header h2"> | 
 | 88 |         DNS settings | 
 | 89 |       </legend> | 
 | 90 |       <div class="net-config__fieldset-content"> | 
| Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 91 |         <!-- Call Nameservers "DNS Servers" on the GUI --> | 
| Derick Montague | 1ffa209 | 2019-04-01 17:57:27 -0500 | [diff] [blame] | 92 |         <div class="net-config__static-ip-wrap" ng-repeat="dns in interface.Nameservers track by $index"> | 
| Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 93 |           <div class="column small-12"> | 
 | 94 |             <label for="net-config__prime-dns{{$index+1}}">DNS Server {{$index+1}}</label> | 
| Derick Montague | 1ffa209 | 2019-04-01 17:57:27 -0500 | [diff] [blame] | 95 |             <input id="net-config__prime-dns{{$index+1}}" class="network-input column small-6 large-4 inline" | 
 | 96 |               type="text" ng-model="dns" ng-blur="interface.Nameservers[$index] = dns" set-focus-on-new-input /> | 
| beccabroek | 971ac1a | 2018-09-24 13:14:05 -0500 | [diff] [blame] | 97 |             <button class="network-config_remove-button inline" ng-click="removeDNSField($index)">Remove</button> | 
| Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 98 |           </div> | 
| Derick Montague | 1ffa209 | 2019-04-01 17:57:27 -0500 | [diff] [blame] | 99 |         </div> | 
| beccabroek | 971ac1a | 2018-09-24 13:14:05 -0500 | [diff] [blame] | 100 |         <div class="row column"> | 
| beccabroek | 1a0e7d0 | 2018-09-24 15:03:40 -0500 | [diff] [blame] | 101 |           <div class="column small-12"> | 
 | 102 |             <button type="button" class="btn-primary inline dns_add" ng-click="addDNSField()">Add DNS server</button> | 
 | 103 |           </div> | 
| Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 104 |         </div> | 
| Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 105 |       </div> | 
| Derick Montague | 1ffa209 | 2019-04-01 17:57:27 -0500 | [diff] [blame] | 106 |     </fieldset> | 
 | 107 |     <div class="network-config__submit-wrapper"> | 
 | 108 |       <button type="button" class="btn-primary inline" ng-click="confirmSettings=true;">Save settings</button> | 
 | 109 |       <button type="button" class="btn-secondary inline" ng-click="refresh()">Cancel</button> | 
 | 110 |     </div> | 
| Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 111 |   </form> | 
| Gunnar Mills | 7ddc727 | 2018-04-12 16:12:03 -0500 | [diff] [blame] | 112 | </div> | 
| beccabroek | d0dbe3b | 2019-03-11 15:02:25 -0500 | [diff] [blame] | 113 | <div class="modal-overlay" tabindex="-1" ng-class="{'active': confirmSettings}"></div> | 
| Derick Montague | 1ffa209 | 2019-04-01 17:57:27 -0500 | [diff] [blame] | 114 | <section class="modal" aria-hidden="true" aria-labelledby="modalTitle" aria-describedby="modalDescription" role="dialog" | 
 | 115 |   ng-class="{'active': confirmSettings}"> | 
| Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 116 |   <div class="modal__tftp-unreachable" role="document"> | 
| Derick Montague | 1ffa209 | 2019-04-01 17:57:27 -0500 | [diff] [blame] | 117 |     <div class="screen-reader-offscreen modal-description">Change network settings</div> | 
 | 118 |     <!-- accessibility only; used for screen readers --> | 
 | 119 |     <div class="page-header"> | 
| Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 120 |       <span class="icon icon__warning inline"><span class="accessible-text" role="alert">Warning</span></span> | 
| beccabroek | edf1ab4 | 2019-02-15 16:26:38 -0600 | [diff] [blame] | 121 |       <h3 class="modal-title inline">Change network settings</h3> | 
| Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 122 |     </div> | 
 | 123 |     <div class="modal__content"> | 
 | 124 |       <p>Changing network settings may cause the system to become unavailable (e.g. changing the BMC IP address). | 
 | 125 |         Proceed with caution and make note of any new settings that may affect connectivity.</p> | 
 | 126 |     </div> | 
 | 127 |     <div class="modal__button-wrapper"> | 
| beccabroek | 067a1cd | 2018-10-05 10:25:21 -0500 | [diff] [blame] | 128 |       <button class="inline btn-secondary" ng-click="confirmSettings=false;">Cancel</button> | 
| Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 129 |       <button class="inline btn-primary" ng-click="setNetworkSettings()">Continue</button> | 
 | 130 |     </div> | 
 | 131 |   </div> | 
| Derick Montague | 1ffa209 | 2019-04-01 17:57:27 -0500 | [diff] [blame] | 132 | </section> |