${_('Master Node Details')}
${_('Master name')} |
${master_info.label if master_info.label else master_guid} |
${_('Replication factor')} |
${clusterStatus.replication_factor} |
${_('Search factor')} |
${clusterStatus.search_factor} |
${_('Cluster Overview')}
<%
if isClusterSearchable:
statusLabel = _('Searchable')
icon = 'green_check_mark_big'
else:
statusLabel = _('Not Completely Searchable')
icon = 'red_warning_big'
showWarning = isPeerDown or (not isReplicationFactorMet) or (not isSearchFactorMet) or (numUnsearchableIndexes > 0) or isGenerationCommitFailure
numSearchablePeers = peer_statuses.get("Up",0)
numUnsearchablePeers = len(peers) - numSearchablePeers
%>
% if len(peers) == 0:
${_('No Peers Configured')}
${_('To learn how to configure peers, refer to the documentation.')}
% else:
${statusLabel}
% if showWarning:
% if isPeerDown:
- ${_('A peer is down.')}
% endif
% if not isReplicationFactorMet:
- ${_('Replication factor not met.')}
% endif
% if not isSearchFactorMet:
- ${_('Search factor not met.')}
% endif
% if numUnsearchableIndexes > 0:
- ${_('Indexed data is not completely searchable.')}
% endif
% if isGenerationCommitFailure:
- ${_('Cluster master failed to commit last generation.')}
% endif
% else:
${_('All peers and indexes are searchable.')}
% endif
${numSearchablePeers} ${_('peers')}
${_('SEARCHABLE')}
${numUnsearchablePeers} ${_('peers')}
${_('NOT SEARCHABLE')}
${numSearchableIndexes} ${_('indexes')}
${_('SEARCHABLE')}
${numUnsearchableIndexes} ${_('indexes')}
${_('NOT SEARCHABLE')}
${_('Peer Details')}
${_('Peer Name')} |
${_('Searchable')} |
${_('Status')} |
${_('Buckets')} |
% for (peer, peer_data) in sorted(peers.items(), key=(lambda x: x[1].get('label'))):
${peer_data['label'] if peer_data['label'] else peer_data.get('name', 'None')} |
<%
if peer_data.get('up',False):
searchStatus = "Yes"
searchableIcon = "green_success_small"
else:
searchStatus = "No"
searchableIcon = "red_warning_small"
%>
${_(searchStatus)} |
${_(peer_data.get('status','None'))} |
${len(peer_data.get('buckets',[]))} |
% endfor
${_('Index Details')}
${_('Index')} |
${_('Searchable')} |
${_('Replicated Copies')} |
${_('Searchable Copies')} |
${_('Buckets')} |
${_('Size')} |
% for (index, index_data) in sorted(indexes.items(), cmp=(lambda x,y: (x[0][0] == '_' and y[0][0] != '_') and 1 or ((x[0][0] != '_' and y[0][0] == '_') and -1 or cmp(x[0],y[0])))):
<%
searchable_icon = ''
searchable_copies_icon = ''
copies_icon = ''
index_size = index_data.get('size', 0)
num_buckets = index_data.get('buckets',0)
if index_data.get('isSearchable',"No") == "Yes" and not isGenerationCommitFailure:
searchable = "Yes"
searchable_icon = "green_success_small"
else:
searchable = "No"
searchable_icon = "red_warning_small"
min_searchable_copies = index_data.get('min_searchable_copies',0)
if min_searchable_copies == 0:
searchable_copies_icon = "red_warning_small"
elif min_searchable_copies < clusterStatus.search_factor:
searchable_copies_icon = "yellow_warning_small"
min_copies = index_data.get('min_copies',0)
if min_copies <= 1:
copies_icon = "red_warning_small"
elif min_copies < clusterStatus.replication_factor:
copies_icon = "yellow_warning_small"
%>
${index} |
${_(searchable)} |
${min_copies} |
${min_searchable_copies} |
${num_buckets} |
<%
# 1024 * 1024 * 1024 * .005
min_index_size = 5368710
%>
${'%.2f GB' % (index_size/(1024.*1024*1024)) if index_size >= min_index_size else '<0.01 GB' } |
% endfor
%endif