99 lines
4.7 KiB
HTML
99 lines
4.7 KiB
HTML
<div class="modal-header">
|
||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||
<h3 data-i18n="dialog.display_changes.title"></h3>
|
||
</div>
|
||
<div class="modal-body display-changes-dialog">
|
||
|
||
<% if (cluster.get('status') == 'new' || cluster.needsRedeployment()) { %>
|
||
<div class="deploy-task-notice text-<%= cluster.get('status') == 'new' ? 'warning' : 'error' %>">
|
||
<i class="icon-attention"></i>
|
||
<span data-i18n="dialog.display_changes.<%= cluster.get('status') == 'new' ? 'locked_settings_alert' : 'redeployment_needed' %>"></span>
|
||
</div>
|
||
<hr class="slim">
|
||
<% } %>
|
||
|
||
<!-- Changes list -->
|
||
<% var nodes = cluster.get('nodes') %>
|
||
<% var addedNodes = nodes.where({pending_addition: true}) %>
|
||
<% if (addedNodes.length) { %>
|
||
<div class="deploy-task-name"><%- $.t("dialog.display_changes.added_node", {count: addedNodes.length }) %></div>
|
||
<% } %>
|
||
<% var deletedNodes = nodes.where({pending_deletion: true}) %>
|
||
<% if (deletedNodes.length) { %>
|
||
<div class="deploy-task-name"><%- $.t("dialog.display_changes.deleted_node", {count: deletedNodes.length }) %></div>
|
||
<% } %>
|
||
<% var reconfiguredNodes = nodes.filter(function(node) {return !node.get('pending_addition') && !node.get('pending_deletion') && !_.isEmpty(node.get('pending_roles'));}) %>
|
||
<% if (reconfiguredNodes.length) { %>
|
||
<div class="deploy-task-name"><%- $.t("dialog.display_changes.reconfigured_node", {count: reconfiguredNodes.length }) %></div>
|
||
<% } %>
|
||
|
||
<% var settingsChangesDescriptions = {
|
||
'attributes': $.t("dialog.display_changes.settings_changes.attrs"),
|
||
'networks': $.t("dialog.display_changes.settings_changes.networks"),
|
||
'disks': $.t("dialog.display_changes.settings_changes.disks"),
|
||
'interfaces': $.t("dialog.display_changes.settings_changes.interfaces")
|
||
} %>
|
||
<% _.each(cluster.get('changes'), function(change) { %>
|
||
<% if (!_.contains(['disks', 'interfaces'], change.name)) { %>
|
||
<div class="deploy-task-name"><%- $.t("dialog.display_changes.changed_task_name", {item: settingsChangesDescriptions[change.name] }) %> </div>
|
||
<% } %>
|
||
<% }); %>
|
||
<% var nodesWithChangedDisks = _.pluck(_.where(cluster.get('changes'), {name: 'disks'}), 'node_id') %>
|
||
<% if (nodesWithChangedDisks.length) { %>
|
||
<div class="deploy-task-name"><%- $.t("dialog.display_changes.changed_task_name", {item: settingsChangesDescriptions.disks }) %> </div>
|
||
<ul>
|
||
<% _.each(nodesWithChangedDisks, function(nodeId) { %>
|
||
<% if (nodes.get(nodeId)) { %>
|
||
<li><%- nodes.get(nodeId).get('name') %></li>
|
||
<% } %>
|
||
<% }) %>
|
||
</ul>
|
||
<% } %>
|
||
<% var nodesWithChangedInterfaces = _.pluck(_.where(cluster.get('changes'), {name: 'interfaces'}), 'node_id') %>
|
||
<% if (nodesWithChangedInterfaces.length) { %>
|
||
<div class="deploy-task-name"><%- $.t("dialog.display_changes.changed_task_name", {item: settingsChangesDescriptions.interfaces }) %> </div>
|
||
<ul>
|
||
<% _.each(nodesWithChangedInterfaces, function(nodeId) { %>
|
||
<% if (nodes.get(nodeId)) { %>
|
||
<li><%- nodes.get(nodeId).get('name') %></li>
|
||
<% } %>
|
||
<% }) %>
|
||
</ul>
|
||
<% } %>
|
||
|
||
<!-- Warnings -->
|
||
<%
|
||
// define restrictions
|
||
var restrictions = [];
|
||
if (cluster.get('nodes').nodesAfterDeploymentWithRole('controller') < size) { restrictions.push('controller'); }
|
||
var isCeilometerEnabled = cluster.get('settings').get('additional_components.ceilometer.value') == true;
|
||
var mongoNodes = cluster.get('nodes').nodesAfterDeploymentWithRole('mongo');
|
||
if (isCeilometerEnabled) {
|
||
if (cluster.get('mode') == 'ha_compact' && mongoNodes < 3) {
|
||
restrictions.push('mongo_ha');
|
||
}
|
||
else if (mongoNodes < size) {
|
||
restrictions.push('mongo');
|
||
}
|
||
}
|
||
// collect warnings
|
||
var warnings = [];
|
||
var hypervisor = cluster.get('settings').get('common.libvirt_type.value');
|
||
if (!cluster.get('nodes').nodesAfterDeploymentWithRole('compute') && hypervisor != 'vcenter') { warnings.push('compute'); }
|
||
%>
|
||
<% if (restrictions.length || warnings.length) { %>
|
||
<hr class="slim">
|
||
<% _.each(restrictions, function(restriction) { %>
|
||
<div class="alert alert-error"><%- $.t("dialog.display_changes.warnings." + restriction, {nodeSize: size}) %></div>
|
||
<% }) %>
|
||
<% _.each(warnings, function(warning) { %>
|
||
<div class="alert alert-warning"><%- $.t("dialog.display_changes.warnings." + warning, {nodeSize: size}) %></div>
|
||
<% }) %>
|
||
<% } %>
|
||
|
||
</div>
|
||
<div class="modal-footer">
|
||
<button class="btn" data-dismiss="modal" data-i18n="common.cancel_button"></button>
|
||
<button class="start-deployment-btn btn btn-<%= warnings.length ? 'danger' : 'success' %> <%= restrictions.length ? 'disabled' : '' %>" data-i18n="dialog.display_changes.deploy"></button>
|
||
</div>
|