Martin Peřina has uploaded a new change for review.
Change subject: webadmin: Display number if in/out migrations per host
......................................................................
webadmin: Display number if in/out migrations per host
Displays number of incoming and outgoing migrations per host in Host tab
using this notation:
1. No migrations
VMs
2. Only incoming migrations
(IN_VMs ->) VMs
3. Only outgoing migrations
VMs (OUT_VMs ->)
4. Incoming and Outgoing migrations
(IN_VMs ->) VMs (OUT_VMs ->)
Change-Id: I971482d8fa0db7b42f5e58c656dac10b7ac0968f
Bug-Url: https://bugzilla.redhat.com/1113664
Signed-off-by: Martin Perina <[email protected]>
---
M
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationMessages.java
M
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationResources.java
M
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationTemplates.java
M
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabHostView.java
M
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VmCountColumn.java
A
frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/webadmin/images/right_arrow.png
6 files changed, 62 insertions(+), 15 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/26/38326/1
diff --git
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationMessages.java
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationMessages.java
index 8a5e8a9..05a3441 100644
---
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationMessages.java
+++
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationMessages.java
@@ -86,8 +86,8 @@
@DefaultMessage("Some new hosts are detected in the cluster. You can
<a>Import</a> them to engine or <a>Detach</a> them from the cluster.")
String clusterHasNewGlusterHosts();
- @DefaultMessage("{0} VMs running, out of which {1} migrating")
- String migratingVmsOutOfTotal(String vmCount, String vmMigrating);
+ @DefaultMessage("{0} VMs running, {1} are migrating to host and {2} are
migrating from host")
+ String vmsWithInOutMigrations(String vmCount, String incomingMigrations,
String outgoingMigrations);
@DefaultMessage("Rebalance {0}")
String rebalanceStatusMessage(JobExecutionStatus jobStatus);
diff --git
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationResources.java
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationResources.java
index ca194d2..5aee788 100644
---
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationResources.java
+++
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationResources.java
@@ -402,6 +402,9 @@
@Source("images/double_arrow.png")
ImageResource doubleArrowImage();
+ @Source("images/right_arrow.png")
+ ImageResource rightArrowImage();
+
@Source("images/host_prepare_to_migrate.png")
ImageResource prepareImage();
diff --git
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationTemplates.java
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationTemplates.java
index c8bf4d3..85501a5 100644
---
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationTemplates.java
+++
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationTemplates.java
@@ -162,15 +162,27 @@
@Template("<div title=\'{1}'style='line-height: 100%; text-align: center;
vertical-align: middle;'>{0}</div>")
SafeHtml image(SafeHtml statusImage, String title);
- @Template("<div title=\"{2}\"><table cellspacing='0' cellpadding='0'
style='line-height: 5px;'>" +
+ @Template("<div title=\"{0}\"><table cellspacing='0' cellpadding='0'
style='line-height: 5px; width: 100%;'>" +
"<tr>" +
- "<td>{0} (</td>" +
- "<td><div style='font-size: 10px; text-align:
center;'>{1}</div><div>{3}</div></td>" +
- "<td>)</td>" +
+ "{1}" +
+ "<td style='width: 30%; text-align: center;'> {2} </td>"
+
+ "{3}" +
"</tr>" +
"</table>" +
"</div>")
- SafeHtml vmCountWithMigrating(String vmCountStr, String vmMigratingStr,
String title, SafeHtml image);
+ SafeHtml vmCountWithMigrations(
+ String title,
+ SafeHtml incomingMigrations,
+ String vmCountStr,
+ SafeHtml outgoingMigrations);
+
+ @Template("<td style='text-align: right;'>{0}</td>" +
+ "<td style='text-align: center; white-space: nowrap; width:
10%;'>" +
+ "<div style='font-size: 10px; text-align: center;'>{1}</div>" +
+ "<div style='width: 25px;'>{2}</div>" +
+ "</td>" +
+ "<td style='text-align: left;'>{3}</td>")
+ SafeHtml vmCountInOutMigrations(String prefix, String vmCountStr, SafeHtml
image, String postfix);
@Template("<div style='max-width: 500px; word-wrap:break-word; font-style:
italic;'>{0}</div>")
SafeHtml italicWordWrapMaxWidth(String text);
diff --git
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabHostView.java
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabHostView.java
index 0b3bf5c..98be431 100644
---
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabHostView.java
+++
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabHostView.java
@@ -3,6 +3,7 @@
import java.util.LinkedList;
import java.util.List;
+import com.google.gwt.user.client.ui.HasHorizontalAlignment;
import org.ovirt.engine.core.common.businessentities.VDS;
import org.ovirt.engine.core.common.businessentities.VDSStatus;
import org.ovirt.engine.core.common.businessentities.VdsSpmStatus;
@@ -148,6 +149,7 @@
if (ApplicationModeHelper.getUiMode() != ApplicationMode.GlusterOnly) {
VmCountColumn vmCountColumn = new VmCountColumn();
+
vmCountColumn.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
vmCountColumn.makeSortable(VdsConditionFieldAutoCompleter.ACTIVE_VMS);
getTable().addColumn(vmCountColumn, constants.vmsCount(),
"110px"); //$NON-NLS-1$
}
diff --git
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VmCountColumn.java
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VmCountColumn.java
index 5a94b75..a3912ef 100644
---
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VmCountColumn.java
+++
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VmCountColumn.java
@@ -16,20 +16,50 @@
private static ApplicationTemplates templates =
GWT.create(ApplicationTemplates.class);
private static final ApplicationMessages messages =
GWT.create(ApplicationMessages.class);
private static final ApplicationResources resources =
GWT.create(ApplicationResources.class);
- private static SafeHtml imageHtml =
-
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.doubleArrowImage())
- .getHTML());
+ private static SafeHtml arrowImageHtml =
+
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.rightArrowImage()).getHTML());
@Override
public SafeHtml getValue(VDS object) {
String vmCountStr = String.valueOf(object.getVmCount());
- Integer vmMigrating = object.getVmMigrating();
- if (vmMigrating == null || vmMigrating == 0) {
+ int incomingMigrations = object.getIncomingMigrations();
+ int outgoingMigrations = object.getOutgoingMigrations();
+
+ if (incomingMigrations == 0 && outgoingMigrations == 0) {
+ // no migrations, just display number of VMs
return new
SafeHtmlBuilder().appendEscaped(vmCountStr).toSafeHtml();
}
- String vmMigratingStr = String.valueOf(vmMigrating);
- String title = messages.migratingVmsOutOfTotal(vmCountStr,
vmMigratingStr);
- return templates.vmCountWithMigrating(vmCountStr, vmMigratingStr,
title, imageHtml);
+ return templates.vmCountWithMigrations(
+ messages.vmsWithInOutMigrations(
+ vmCountStr,
+ String.valueOf(incomingMigrations),
+ String.valueOf(outgoingMigrations)),
+ createMigrationsTemplate(incomingMigrations),
+ vmCountStr,
+ createMigrationsTemplate(outgoingMigrations));
+ }
+
+ protected SafeHtml createMigrationsTemplate(int migrations) {
+ String prefix, postfix, migrationsStr;
+ SafeHtml image;
+
+ if (migrations > 0) {
+ prefix = "("; //$NON-NLS-1$
+ migrationsStr = String.valueOf(migrations);
+ image = arrowImageHtml;
+ postfix = ")"; //$NON-NLS-1$
+ } else {
+ prefix = "\u00a0"; //$NON-NLS-1$
+ migrationsStr = "\u00a0"; //$NON-NLS-1$
+ image = SafeHtmlUtils.EMPTY_SAFE_HTML;
+ postfix = "\u00a0"; //$NON-NLS-1$
+ }
+
+ return templates.vmCountInOutMigrations(
+ prefix,
+ migrationsStr,
+ image,
+ postfix);
}
}
diff --git
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/webadmin/images/right_arrow.png
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/webadmin/images/right_arrow.png
new file mode 100644
index 0000000..e77d3fe
--- /dev/null
+++
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/webadmin/images/right_arrow.png
Binary files differ
--
To view, visit https://gerrit.ovirt.org/38326
To unsubscribe, visit https://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I971482d8fa0db7b42f5e58c656dac10b7ac0968f
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Martin Peřina <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches