Mike Kolesnik has uploaded a new change for review.

Change subject: engine: Add management network validation
......................................................................

engine: Add management network validation

This check will make sure that if we're attaching or editing a
management network's attachment on a cluster, then the attachment will
be properly validated (i.e. the network must be required).

Change-Id: I1e035f009796f989072601cc67a51fd8bbd6947b
Bug-Url: https://bugzilla.redhat.com/875488
Signed-off-by: Mike Kolesnik <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworkToVdsGroupCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/UpdateNetworkOnClusterCommand.java
2 files changed, 22 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/37/11837/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworkToVdsGroupCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworkToVdsGroupCommand.java
index 1ca97a4..773b662 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworkToVdsGroupCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworkToVdsGroupCommand.java
@@ -4,6 +4,7 @@
 import java.util.List;
 
 import org.ovirt.engine.core.bll.VdsGroupCommandBase;
+import org.ovirt.engine.core.bll.network.NetworkHelper;
 import org.ovirt.engine.core.bll.utils.PermissionSubject;
 import org.ovirt.engine.core.common.AuditLogType;
 import org.ovirt.engine.core.common.FeatureSupported;
@@ -37,6 +38,12 @@
     }
 
     @Override
+    protected void setActionMessageParameters() {
+        addCanDoActionMessage(VdcBllMessages.VAR__TYPE__NETWORK);
+        addCanDoActionMessage(VdcBllMessages.VAR__ACTION__ATTACH);
+    }
+
+    @Override
     protected void executeCommand() {
         if (networkExists()) {
             getNetworkClusterDAO().update(getNetworkCluster());
@@ -53,7 +60,10 @@
 
     @Override
     protected boolean canDoAction() {
-        return super.canDoAction() && vdsGroupExists() && 
changesAreClusterCompatible() && logicalNetworkExists();
+        NetworkClusterValidator validator = new 
NetworkClusterValidator(getNetworkCluster());
+        return vdsGroupExists() && changesAreClusterCompatible() && 
logicalNetworkExists()
+                && (!NetworkHelper.managementNetwork(getNetwork())
+                || 
validate(validator.managementNetworkAttachment(getNetworkName())));
     }
 
     private boolean logicalNetworkExists() {
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/UpdateNetworkOnClusterCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/UpdateNetworkOnClusterCommand.java
index 03faec0..d3468a5 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/UpdateNetworkOnClusterCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/UpdateNetworkOnClusterCommand.java
@@ -5,6 +5,7 @@
 
 import org.ovirt.engine.core.bll.ValidationResult;
 import org.ovirt.engine.core.bll.VdsGroupCommandBase;
+import org.ovirt.engine.core.bll.network.NetworkHelper;
 import org.ovirt.engine.core.bll.utils.PermissionSubject;
 import org.ovirt.engine.core.common.AuditLogType;
 import org.ovirt.engine.core.common.VdcObjectType;
@@ -46,6 +47,12 @@
     }
 
     @Override
+    protected void setActionMessageParameters() {
+        addCanDoActionMessage(VdcBllMessages.VAR__TYPE__NETWORK);
+        addCanDoActionMessage(VdcBllMessages.VAR__ACTION__UPDATE);
+    }
+
+    @Override
     protected void executeCommand() {
         getNetworkClusterDAO().update(getNetworkCluster());
 
@@ -59,7 +66,10 @@
 
     @Override
     protected boolean canDoAction() {
-        return super.canDoAction() && 
validate(networkClusterAttachmentExists());
+        NetworkClusterValidator validator = new 
NetworkClusterValidator(getNetworkCluster());
+        return validate(networkClusterAttachmentExists())
+                && (!NetworkHelper.managementNetwork(getNetwork())
+                || 
validate(validator.managementNetworkAttachment(getNetworkName())));
     }
 
     private ValidationResult networkClusterAttachmentExists() {


--
To view, visit http://gerrit.ovirt.org/11837
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1e035f009796f989072601cc67a51fd8bbd6947b
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Mike Kolesnik <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to