Sahina Bose has uploaded a new change for review. Change subject: webadmin: Gluster network role in UI ......................................................................
webadmin: Gluster network role in UI Enabling setting/display of gluster network role in the network cluster UI Change-Id: I09660b88ee48024f02eb915ce6c98c27a7064775 Bug-Url: https://bugzilla.redhat.com/1049994 Signed-off-by: Sahina Bose <[email protected]> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Cloner.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkModel.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.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/section/main/view/popup/cluster/ClusterManageNetworkPopupView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ItemInfoPopup.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkPanel.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterNetworkView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkClusterView.java A frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/webadmin/images/network/gluster_network.png 11 files changed, 137 insertions(+), 6 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/76/37476/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Cloner.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Cloner.java index 4247d53..ee92dae 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Cloner.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Cloner.java @@ -369,6 +369,7 @@ obj.setDisplay(instance.isDisplay()); obj.setRequired(instance.isRequired()); obj.setMigration(instance.isMigration()); + obj.setGluster(instance.isGluster()); return obj; } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.java index e539d52..a791977 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.java @@ -105,6 +105,32 @@ model.setMigrationNetwork(value); } + private ClusterNetworkModel getGlusterNetwork() { + if (!isMultiCluster()) { + for (ClusterNetworkModel clusterNetworkManageModel : getItems()) { + if (clusterNetworkManageModel.isGlusterNetwork()) { + return clusterNetworkManageModel; + } + } + } + return null; + } + + public void setGlusterNetwork(ClusterNetworkModel model, boolean value) { + if (!isMultiCluster()) { + if (value) { + // Reset the old migration + if (getGlusterNetwork() != null) { + getGlusterNetwork().setGlusterNetwork(false); + } + } else { + // Set the management network as gluster + managementNetwork.setGlusterNetwork(true); + } + } + model.setGlusterNetwork(value); + } + private void onManage() { Iterable<ClusterNetworkModel> manageList = getItems(); final ArrayList<VdcActionParametersBase> toAttach = new ArrayList<VdcActionParametersBase>(); @@ -123,11 +149,13 @@ if (wasAttached && !needsDetach) { if ((manageModel.isRequired() != networkCluster.isRequired()) || (manageModel.isDisplayNetwork() != networkCluster.isDisplay()) - || (manageModel.isMigrationNetwork() != networkCluster.isMigration())) { + || (manageModel.isMigrationNetwork() != networkCluster.isMigration()) + || (manageModel.isGlusterNetwork() != networkCluster.isGluster())) { needsUpdate = true; networkCluster.setRequired(manageModel.isRequired()); networkCluster.setDisplay(manageModel.isDisplayNetwork()); networkCluster.setMigration(manageModel.isMigrationNetwork()); + networkCluster.setGluster(manageModel.isGlusterNetwork()); } } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkModel.java index 9b10bcf..92cbc1f 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkModel.java @@ -70,6 +70,10 @@ return getEntity().getCluster().isMigration(); } + public boolean isGlusterNetwork() { + return getEntity().getCluster().isGluster(); + } + public boolean isExternal() { return getEntity().isExternal(); } @@ -98,6 +102,10 @@ getEntity().getCluster().setMigration(migrationNetwork); } + public void setGlusterNetwork(boolean glusterNetwork) { + getEntity().getCluster().setGluster(glusterNetwork); + } + public NetworkCluster getOriginalNetworkCluster() { return originalNetworkCluster; } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java index c5bdc1d..8890417 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java @@ -2078,6 +2078,9 @@ @DefaultStringValue("Migration Network") String migrationNetwork(); + @DefaultStringValue("Gluster Network") + String glusterNetwork(); + @DefaultStringValue("Role") String roleNetwork(); @@ -2716,6 +2719,9 @@ @DefaultStringValue("Migration") String migrationItemInfo(); + @DefaultStringValue("Gluster") + String glusterNwItemInfo(); + @DefaultStringValue("Unmanaged Network") String unmanagedNetworkItemInfo(); 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..bcbf658 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 @@ -298,6 +298,9 @@ @Source("images/network/migration_network.png") ImageResource migrationNetwork(); + @Source("images/network/gluster_network.png") + ImageResource glusterNetwork(); + @Source("images/network/empty.png") ImageResource networkEmpty(); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.java index 5d62336..1d1d229 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.java @@ -103,6 +103,11 @@ new MigrationNetworkIndicatorCheckboxColumn(multipleSelectionAllowed, new MigrationNetworkIndicatorFieldUpdater()), constants.migrationNetwork(), "105px"); //$NON-NLS-1$ + + networks.addColumn( + new GlusterNetworkIndicatorCheckboxColumn(multipleSelectionAllowed, + new GlusterNetworkIndicatorFieldUpdater()), + constants.glusterNetwork(), "100px"); //$NON-NLS-1$ } @Override @@ -124,6 +129,9 @@ } if (clusterNetworkModel.isMigrationNetwork()) { updateMigrationNetwork(clusterNetworkModel, false); + } + if (clusterNetworkModel.isGlusterNetwork()) { + updateGlusterNetwork(clusterNetworkModel, false); } if (clusterNetworkModel.isRequired()) { clusterNetworkModel.setRequired(false); @@ -340,6 +348,35 @@ networks.asEditor().flush().setMigrationNetwork(clusterNetworkModel, value); } + private static final class GlusterNetworkIndicatorCheckboxColumn extends CheckboxColumn<ClusterNetworkModel> { + private GlusterNetworkIndicatorCheckboxColumn(boolean multipleSelectionAllowed, + GlusterNetworkIndicatorFieldUpdater glusterNetworkIndicatorFieldUpdater) { + super(multipleSelectionAllowed, glusterNetworkIndicatorFieldUpdater); + } + + @Override + public Boolean getValue(ClusterNetworkModel clusterNetworkModel) { + return clusterNetworkModel.isGlusterNetwork(); + } + + @Override + protected boolean canEdit(ClusterNetworkModel clusterNetworkModel) { + return clusterNetworkModel.isAttached() && !clusterNetworkModel.isExternal(); + } + } + + private final class GlusterNetworkIndicatorFieldUpdater implements FieldUpdater<ClusterNetworkModel, Boolean> { + @Override + public void update(int index, ClusterNetworkModel clusterNetworkModel, Boolean value) { + updateGlusterNetwork(clusterNetworkModel, value); + refreshNetworksTable(); + } + } + + private void updateGlusterNetwork(ClusterNetworkModel clusterNetworkModel, boolean value) { + networks.asEditor().flush().setGlusterNetwork(clusterNetworkModel, value); + } + private final class DisplayNetworkIndicatorFieldUpdater implements FieldUpdater<ClusterNetworkModel, Boolean> { @Override public void update(int index, ClusterNetworkModel clusterNetworkModel, Boolean value) { diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ItemInfoPopup.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ItemInfoPopup.java index 14f5297..f2261a2 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ItemInfoPopup.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ItemInfoPopup.java @@ -39,6 +39,9 @@ SafeHtml migrationImage = SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.migrationNetwork()) .getHTML()); + SafeHtml glusterNwImage = + SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.glusterNetwork()) + .getHTML()); SafeHtml unknownImage = SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.questionMarkImage()).getHTML()); SafeHtml notInSyncImage = @@ -102,13 +105,15 @@ boolean isDisplay = false; boolean isMigration = false; + boolean isGlusterNw = false; if (entity.getCluster() != null) { isDisplay = entity.getCluster().isDisplay(); isMigration = entity.getCluster().isMigration(); + isGlusterNw = entity.getCluster().isGluster(); } // Usages - if (networkModel.isManagement() || isDisplay || entity.isVmNetwork() || isMigration) { + if (networkModel.isManagement() || isDisplay || entity.isVmNetwork() || isMigration || isGlusterNw) { addRow(SafeHtmlUtils.fromString(constants.usageItemInfo() + ":")); //$NON-NLS-1$ if (networkModel.isManagement()) { @@ -127,6 +132,10 @@ addRow(templates.imageTextSetupNetworkUsage(migrationImage, constants.migrationItemInfo())); } + if (isGlusterNw) { + addRow(templates.imageTextSetupNetworkUsage(glusterNwImage, constants.glusterNwItemInfo())); + } + } // Mtu diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkPanel.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkPanel.java index c3a2ee4..4323f86 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkPanel.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkPanel.java @@ -47,12 +47,14 @@ Image migrationImage; Image notSyncImage; Image alertImage; + Image glusterNwImage; if (!network.isManaged()) { monitorImage = null; mgmtNetworkImage = null; vmImage = null; migrationImage = null; + glusterNwImage = null; notSyncImage = null; alertImage = null; } else { @@ -62,6 +64,8 @@ vmImage = network.getEntity().isVmNetwork() ? new Image(resources.networkVm()) : null; migrationImage = network.getEntity().getCluster().isMigration() ? new Image(resources.migrationNetwork()) : null; + glusterNwImage = network.getEntity().getCluster().isGluster() ? + new Image(resources.glusterNetwork()) : null; notSyncImage = !network.isInSync() ? new Image(resources.networkNotSyncImage()) : null; alertImage = network.getErrorMessage() != null ? new Image(resources.alertImage()) : null; @@ -81,6 +85,10 @@ migrationImage.setStylePrimaryName(style.networkImageBorder()); } + if (network.getEntity().getCluster().isGluster()) { + glusterNwImage.setStylePrimaryName(style.networkImageBorder()); + } + if (!network.isInSync()) { notSyncImage.setStylePrimaryName(style.networkImageBorder()); } @@ -89,7 +97,7 @@ actionButton.setVisible(network.getAttachedToNic() != null && (network.isManaged() || !network.isAttachedViaLabel())); - Grid rowPanel = new Grid(1, 9); + Grid rowPanel = new Grid(1, 10); rowPanel.setCellSpacing(0); rowPanel.setWidth("100%"); //$NON-NLS-1$ rowPanel.setHeight("100%"); //$NON-NLS-1$ @@ -117,8 +125,9 @@ rowPanel.setWidget(0, 4, monitorImage); rowPanel.setWidget(0, 5, vmImage); rowPanel.setWidget(0, 6, migrationImage); - rowPanel.setWidget(0, 7, notSyncImage); - rowPanel.setWidget(0, 8, actionButton); + rowPanel.setWidget(0, 7, glusterNwImage); + rowPanel.setWidget(0, 8, notSyncImage); + rowPanel.setWidget(0, 9, actionButton); return rowPanel; } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterNetworkView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterNetworkView.java index dba72ec5..07f4e1e 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterNetworkView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterNetworkView.java @@ -42,6 +42,7 @@ private final SafeHtml displayImage; private final SafeHtml migrationImage; + private final SafeHtml glusterNwImage; private final SafeHtml emptyImage; @Inject @@ -54,6 +55,8 @@ SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.networkMonitor()).getHTML()); migrationImage = SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.migrationNetwork()).getHTML()); + glusterNwImage = + SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.glusterNetwork()).getHTML()); emptyImage = SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.networkEmpty()).getHTML()); initTable(constants, templates); initWidget(getTable()); @@ -107,6 +110,12 @@ } else { images.add(emptyImage); } + + if (network.getCluster().isGluster()) { + images.add(glusterNwImage); + } else { + images.add(emptyImage); + } } return NetworkRoleColumnHelper.getValue(images); @@ -124,6 +133,11 @@ imagesToText.put(migrationImage, constants.migrationItemInfo()); } + + if (network.getCluster().isGluster()) { + imagesToText.put(glusterNwImage, constants.glusterNwItemInfo()); + + } } return NetworkRoleColumnHelper.getTooltip(imagesToText); } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkClusterView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkClusterView.java index e2e64e0..7fbebcf 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkClusterView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkClusterView.java @@ -47,6 +47,7 @@ private final SafeHtml displayImage; private final SafeHtml migrationImage; + private final SafeHtml glusterNwImage; private final SafeHtml emptyImage; @Inject @@ -58,6 +59,8 @@ SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.networkMonitor()).getHTML()); migrationImage = SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.migrationNetwork()).getHTML()); + glusterNwImage = + SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.glusterNetwork()).getHTML()); emptyImage = SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.networkEmpty()).getHTML()); initTable(); initWidget(getTable()); @@ -146,6 +149,12 @@ images.add(emptyImage); } + if (object.getSecond().isGluster()) { + images.add(glusterNwImage); + } else { + images.add(emptyImage); + + } } return NetworkRoleColumnHelper.getValue(images); } @@ -161,6 +170,10 @@ if (object.getSecond().isMigration()) { imagesToText.put(migrationImage, constants.migrationItemInfo()); } + + if (object.getSecond().isGluster()) { + imagesToText.put(glusterNwImage, constants.glusterNwItemInfo()); + } } return NetworkRoleColumnHelper.getTooltip(imagesToText); @@ -172,9 +185,12 @@ int res = 0; if (networkCluster != null) { if (networkCluster.isDisplay()) { - res += 2; + res += 3; } if (networkCluster.isMigration()) { + res += 2; + } + if (networkCluster.isGluster()) { res += 1; } } diff --git a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/webadmin/images/network/gluster_network.png b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/webadmin/images/network/gluster_network.png new file mode 100644 index 0000000..ed54e8c --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/webadmin/images/network/gluster_network.png Binary files differ -- To view, visit http://gerrit.ovirt.org/37476 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I09660b88ee48024f02eb915ce6c98c27a7064775 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Sahina Bose <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
