Moti Asayag has uploaded a new change for review.

Change subject: engine: Configure network on install with network attachments
......................................................................

engine: Configure network on install with network attachments

The host installation flow changed the network configuration from
the deprecated setupnetworks command to the new setup networks
which uses network attachments.

Change-Id: I0bdf4ddec4be8ded779e6f5f711b90099dce4054
Signed-off-by: Moti Asayag <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/NetworkConfigurator.java
1 file changed, 37 insertions(+), 19 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/72/34972/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/NetworkConfigurator.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/NetworkConfigurator.java
index 655e845..aee5b27 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/NetworkConfigurator.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/NetworkConfigurator.java
@@ -12,13 +12,15 @@
 import org.ovirt.engine.core.bll.interfaces.BackendInternal;
 import org.ovirt.engine.core.common.AuditLogType;
 import org.ovirt.engine.core.common.FeatureSupported;
-import org.ovirt.engine.core.common.action.SetupNetworksParameters;
+import org.ovirt.engine.core.common.action.HostSetupNetworksParameters;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.action.VdcReturnValueBase;
 import org.ovirt.engine.core.common.action.VdsActionParameters;
 import org.ovirt.engine.core.common.businessentities.Entities;
 import org.ovirt.engine.core.common.businessentities.VDS;
+import org.ovirt.engine.core.common.businessentities.network.IpConfiguration;
 import org.ovirt.engine.core.common.businessentities.network.Network;
+import org.ovirt.engine.core.common.businessentities.network.NetworkAttachment;
 import 
org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface;
 import org.ovirt.engine.core.common.config.Config;
 import org.ovirt.engine.core.common.config.ConfigValues;
@@ -45,6 +47,7 @@
     private static final long POLLING_BREAK_IN_MILLIS = 500;
     private static final Logger log = 
LoggerFactory.getLogger(NetworkConfigurator.class);
     private final VDS host;
+    private Network managementNetwork;
     private CommandContext commandContext;
 
     public NetworkConfigurator(VDS host, CommandContext commandContext) {
@@ -53,15 +56,15 @@
     }
 
     public void createManagementNetworkIfRequired() {
-        final String managementNetwork = NetworkUtils.getEngineNetwork();
+        final String managementNetworkName = getManagementNetwork().getName();
 
         if (host == null) {
             return;
         }
 
-        if (managementNetwork.equals(host.getActiveNic())) {
+        if (managementNetworkName.equals(host.getActiveNic())) {
             log.info("The management network '{}' is already configured on 
host '{}'",
-                    managementNetwork,
+                    managementNetworkName,
                     host.getName());
             return;
         }
@@ -78,8 +81,7 @@
 
         List<VdsNetworkInterface> interfaces = 
filterBondsWithoutSlaves(host.getInterfaces());
         if (interfaces.contains(nic)) {
-            nic.setNetworkName(managementNetwork);
-            configureManagementNetwork(createSetupNetworkParams(interfaces));
+            configureManagementNetwork(createSetupNetworkParams(nic));
         } else {
             final AuditLogableBase event = createEvent();
             event.addCustomValue("InterfaceName", nic.getName());
@@ -144,10 +146,18 @@
         });
     }
 
-    public SetupNetworksParameters 
createSetupNetworkParams(List<VdsNetworkInterface> interfaces) {
-        SetupNetworksParameters parameters = new SetupNetworksParameters();
-        parameters.setVdsId(host.getId());
-        parameters.setInterfaces(interfaces);
+    public HostSetupNetworksParameters 
createSetupNetworkParams(VdsNetworkInterface nic) {
+        HostSetupNetworksParameters parameters = new 
HostSetupNetworksParameters(host.getId());
+        NetworkAttachment managementAttachment = new NetworkAttachment();
+        managementAttachment.setNetworkId(getManagementNetwork().getId());
+        managementAttachment.setNicId(nic.getId());
+        IpConfiguration ipConfiguration = new IpConfiguration();
+        ipConfiguration.setAddress(nic.getAddress());
+        ipConfiguration.setNetmask(nic.getSubnet());
+        ipConfiguration.setGateway(nic.getGateway());
+        ipConfiguration.setBootProtocol(nic.getBootProtocol());
+        managementAttachment.setIpConfiguration(ipConfiguration);
+        parameters.getNetworkAttachments().add(managementAttachment);
         parameters.setCheckConnectivity(true);
         return parameters;
     }
@@ -172,18 +182,14 @@
                     host.getActiveNic()));
         }
 
-        Network managementNetwork =
-                getDbFacade().getNetworkDao()
-                        
.getByNameAndDataCenter(NetworkUtils.getEngineNetwork(), 
host.getStoragePoolId());
-
-        if (managementNetwork.getName().equals(nic.getNetworkName())) {
+        if (getManagementNetwork().getName().equals(nic.getNetworkName())) {
             return null;
         }
 
-        if (!nicHasValidVlanId(managementNetwork, nic)) {
+        if (!nicHasValidVlanId(getManagementNetwork(), nic)) {
             final AuditLogableBase event = createEvent();
             event.addCustomValue("VlanId", resolveVlanId(nic.getVlanId()));
-            event.addCustomValue("MgmtVlanId", 
resolveVlanId(managementNetwork.getVlanId()));
+            event.addCustomValue("MgmtVlanId", 
resolveVlanId(getManagementNetwork().getVlanId()));
             event.addCustomValue("InterfaceName", nic.getName());
             AuditLogDirector.log(event,
                     
AuditLogType.VLAN_ID_MISMATCH_FOR_MANAGEMENT_NETWORK_CONFIGURATION,
@@ -235,9 +241,11 @@
         return filteredList;
     }
 
-    private void configureManagementNetwork(SetupNetworksParameters 
parameters) {
+    private void configureManagementNetwork(HostSetupNetworksParameters 
parameters) {
         VdcReturnValueBase retVal =
-                getBackend().runInternalAction(VdcActionType.SetupNetworks, 
parameters, cloneContextAndDetachFromParent());
+                getBackend().runInternalAction(VdcActionType.HostSetupNetworks,
+                        parameters,
+                        cloneContextAndDetachFromParent());
         if (retVal.getSucceeded()) {
             retVal =
                     
getBackend().runInternalAction(VdcActionType.CommitNetworkChanges,
@@ -256,6 +264,16 @@
         }
     }
 
+    private Network getManagementNetwork() {
+        if (managementNetwork == null) {
+            managementNetwork =
+                    
getDbFacade().getNetworkDao().getByNameAndDataCenter(NetworkUtils.getEngineNetwork(),
+                            host.getStoragePoolId());
+        }
+
+        return managementNetwork;
+    }
+
     private BackendInternal getBackend() {
         return Backend.getInstance();
     }


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

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

Reply via email to