| {{! |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| }} |
| |
| <div id="hosts" class="container-wrap-table"> |
| |
| <div class="row"> |
| <h2 class="table-title col-sm-1">{{t common.hosts}}</h2> |
| <div class="table-controls row col-sm-10 pull-right"> |
| <div class="col-sm-12"> |
| {{#havePermissions "HOST.ADD_DELETE_COMPONENTS, HOST.TOGGLE_MAINTENANCE, HOST.ADD_DELETE_HOSTS"}} |
| {{view App.HostTableMenuView}} |
| {{/havePermissions}} |
| <div class="VS-open-box pull-right"> |
| <button class="btn btn-default"> |
| <i class="icon-filter"></i> |
| </button> |
| <div class="popup-arrow-up hide"></div> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="row search-box-row hide"> |
| {{view App.MainHostComboSearchBoxView}} |
| </div> |
| <table class="table advanced-header-table table-hover" id="hosts-table"> |
| <thead> |
| {{#view view.sortView classNames="label-row" contentBinding="view.filteredContent"}} |
| <th> |
| <div class="ember-view view-wrapper"> |
| {{view App.CheckboxView classNames="host-select-all" checkedBinding="view.parentView.selectAllHosts"}} |
| </div> |
| </th> |
| <th> </th> |
| {{view view.parentView.nameSort}} |
| <th> </th> |
| <th> </th> |
| {{view view.parentView.ipSort}} |
| {{view view.parentView.rackSort}} |
| {{view view.parentView.cpuSort}} |
| {{view view.parentView.memorySort}} |
| {{view view.parentView.diskUsageSort}} |
| {{view view.parentView.loadAvgSort}} |
| <th {{bindAttr class="App.stackVersionsAvailable::hidden :sort-view-11"}}> |
| {{t hosts.host.menu.stackVersions}} |
| </th> |
| <th class="sort-view-6">{{t common.components}}</th> |
| |
| {{/view}} |
| </thead> |
| <tbody> |
| {{#if view.pageContent}} |
| {{#each host in view.pageContent}} |
| {{#view view.HostView contentBinding="host"}} |
| <td>{{view App.CheckboxView checkedBinding="host.selected"}}</td> |
| |
| <td class="health"> |
| <span rel="HealthTooltip" {{bindAttr class="host.healthClass host.healthIconClass"}} {{bindAttr data-original-title="host.healthToolTip" }}></span> |
| </td> |
| |
| <td class="name"> |
| <span class="trim_hostname"> |
| <a rel="UsageTooltip" data-original-title="{{unbound host.hostName}}" href="#" {{action "showDetails" host}}>{{unbound host.hostName}}</a> |
| </span> |
| {{#if host.criticalWarningAlertsCount}} |
| {{#if host.alertsSummary.CRITICAL}} |
| <span class="label alerts-crit-count" {{action "goToHostAlerts" host target="controller"}}>{{host.criticalWarningAlertsCount}}</span> |
| {{else}} |
| <span class="label alerts-warn-count" {{action "goToHostAlerts" host target="controller"}}>{{host.criticalWarningAlertsCount}}</span> |
| {{/if}} |
| {{/if}} |
| </td> |
| <td class="restart"> |
| {{#if host.componentsWithStaleConfigsCount}} |
| <span class="muted glyphicon glyphicon-refresh" rel="ComponentsTooltip" {{bindAttr title="view.restartRequiredComponentsMessage"}}></span> |
| {{/if}} |
| </td> |
| <td class="passive-state"> |
| <span rel="ComponentsTooltip" {{bindAttr data-original-title="view.componentsInPassiveStateMessage" class="host.componentsInPassiveStateCount:icon-medkit"}}></span> |
| </td> |
| <td class="host-ip">{{host.ip}}</td> |
| <td class="rack-id"> |
| <span rel="UsageTooltip" {{bindAttr data-original-title="host.rack"}}>{{host.rack}}</span> |
| </td> |
| <td class="cores-formatted">{{host.coresFormatted}}</td> |
| <td class="memory-formatted">{{host.memoryFormatted}}</td> |
| |
| <td class="disk-info"> |
| <div class="progress" {{bindAttr data-original-title="host.diskInfoBar"}} rel="UsageTooltip"> |
| <div class="progress-bar progress-bar-info" {{bindAttr style="view.usageStyle"}}></div> |
| </div> |
| </td> |
| |
| <td class="load-avg">{{host.loadAvg}}</td> |
| <td {{bindAttr class="App.stackVersionsAvailable::hidden view.hasSingleVersion:not-active-link :host-table-versions"}}> |
| <a href="#" class="black" {{action displayVersions target="view"}}> |
| {{view.currentVersion}} |
| </a> |
| </td> |
| <td {{bindAttr class="view.hasNoComponents:not-active-link :host-table-components"}}> |
| <a href="#" class="black" {{action displayComponents target="view"}}> |
| {{view.content.hostComponents.length}} {{pluralize view.content.hostComponents.length singular="t:common.component" plural="t:common.components"}} |
| </a> |
| </td> |
| {{/view}} |
| {{/each}} |
| {{else}} |
| <tr> |
| <td class="first"></td> |
| <td colspan="12"> |
| {{t hosts.table.noHosts}} |
| </td> |
| </tr> |
| {{/if}} |
| </tbody> |
| <tfoot> |
| <tr> |
| <td colspan="13"> |
| {{#if view.showSelectedFilter}} |
| <div class="display-inline-block"> |
| <a {{action filterSelected target="view"}} {{QAAttr "selected-hosts-count"}} href="#"> |
| {{view.selectedHosts.length}} |
| {{pluralize view.selectedHostsCount singular="t:hosts.filters.selectedHostInfo" plural="t:hosts.filters.selectedHostsInfo"}} |
| </a> |
| - <a {{action clearSelection target="view"}} {{QAAttr "clear-hosts-selection"}} href="#">{{t hosts.filters.clearSelection}}</a> |
| </div> |
| {{/if}} |
| {{view App.PaginationView isDataLoadedBinding="view.filteringComplete" rowsPerPageSelectViewBinding="view.rowsPerPageSelectView"}} |
| </td> |
| </tr> |
| </tfoot> |
| </table> |
| |
| <div {{bindAttr class="view.filteringComplete:hidden :table-overlay"}}> |
| {{view App.SpinnerView}} |
| </div> |
| |
| </div> |