add method to all classes
diff --git a/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ContrailGuru.java b/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ContrailGuru.java
index bae6e86..9b7d835 100644
--- a/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ContrailGuru.java
+++ b/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ContrailGuru.java
@@ -139,6 +139,11 @@
     }
 
     @Override
+    public void setup(Network network, long networkId) {
+        // do nothing
+    }
+
+    @Override
     public Network implement(Network network, NetworkOffering offering, DeployDestination destination, ReservationContext context)
             throws InsufficientVirtualNetworkCapacityException {
         s_logger.debug("Implement network: " + network.getName() + ", traffic type: " + network.getTrafficType());
diff --git a/plugins/network-elements/nsx/src/test/java/org/apache/cloudstack/service/NsxGuestNetworkGuruTest.java b/plugins/network-elements/nsx/src/test/java/org/apache/cloudstack/service/NsxGuestNetworkGuruTest.java
index fca3406..c70945a 100644
--- a/plugins/network-elements/nsx/src/test/java/org/apache/cloudstack/service/NsxGuestNetworkGuruTest.java
+++ b/plugins/network-elements/nsx/src/test/java/org/apache/cloudstack/service/NsxGuestNetworkGuruTest.java
@@ -26,6 +26,8 @@
 import com.cloud.network.Network;
 import com.cloud.network.NetworkModel;
 import com.cloud.network.Networks;
+import com.cloud.network.dao.NetworkDao;
+import com.cloud.network.dao.NetworkVO;
 import com.cloud.network.dao.PhysicalNetworkDao;
 import com.cloud.network.dao.PhysicalNetworkVO;
 import com.cloud.network.vpc.VpcVO;
@@ -80,8 +82,6 @@
     @Mock
     NsxControllerUtils nsxControllerUtils;
     @Mock
-    DataCenterDao zoneDao;
-    @Mock
     AccountDao accountDao;
     @Mock
     PhysicalNetworkVO physicalNetwork;
@@ -101,6 +101,8 @@
     NetworkModel networkModel;
     @Mock
     DomainDao domainDao;
+    @Mock
+    NetworkDao networkDao;
 
     NsxGuestNetworkGuru guru;
     AutoCloseable closeable;
@@ -111,6 +113,7 @@
         guru = new NsxGuestNetworkGuru();
         ReflectionTestUtils.setField(guru, "_physicalNetworkDao", physicalNetworkDao);
         ReflectionTestUtils.setField(guru, "_dcDao", dcDao);
+        ReflectionTestUtils.setField(guru, "_networkDao", networkDao);
         ReflectionTestUtils.setField(guru, "_networkModel", networkModel);
         ReflectionTestUtils.setField(guru, "_vpcDao", vpcDao);
 
@@ -161,17 +164,25 @@
     public void testNsxNetworkDesign() {
         when(physicalNetworkDao.findById(ArgumentMatchers.anyLong())).thenReturn(physicalNetwork);
         when(dcDao.findById(ArgumentMatchers.anyLong())).thenReturn(dataCenterVO);
-        when(nsxControllerUtils.sendNsxCommand(any(CreateNsxSegmentCommand.class), anyLong())).thenReturn(
-                new NsxAnswer(new NsxCommand(), true, ""));
 
         Network designedNetwork = guru.design(offering,  plan, network, "", 1L, account);
-        verify(nsxControllerUtils, times(1)).sendNsxCommand(any(CreateNsxSegmentCommand.class), anyLong());
         assertNotNull(designedNetwork);
         assertSame(Networks.BroadcastDomainType.NSX, designedNetwork.getBroadcastDomainType());
         assertSame(Network.State.Allocated, designedNetwork.getState());
     }
 
     @Test
+    public void testNsxNetworkSetup() {
+        when(dcDao.findById(ArgumentMatchers.anyLong())).thenReturn(dataCenterVO);
+        when(networkDao.findById(ArgumentMatchers.anyLong())).thenReturn(mock(NetworkVO.class));
+        when(nsxControllerUtils.sendNsxCommand(any(CreateNsxSegmentCommand.class), anyLong())).thenReturn(
+                new NsxAnswer(new NsxCommand(), true, ""));
+
+        guru.setup(network, 1L);
+        verify(nsxControllerUtils, times(1)).sendNsxCommand(any(CreateNsxSegmentCommand.class), anyLong());
+    }
+
+    @Test
     public void testNsxNetworkImplementation() {
         final DeployDestination deployDestination = mock(DeployDestination.class);
         final ReservationContext reservationContext = mock(ReservationContext.class);
diff --git a/server/src/main/java/com/cloud/network/guru/ControlNetworkGuru.java b/server/src/main/java/com/cloud/network/guru/ControlNetworkGuru.java
index 11f629a..76d1ec4 100644
--- a/server/src/main/java/com/cloud/network/guru/ControlNetworkGuru.java
+++ b/server/src/main/java/com/cloud/network/guru/ControlNetworkGuru.java
@@ -104,6 +104,11 @@
         return config;
     }
 
+    @Override
+    public void setup(Network network, long networkId) {
+        // do nothing
+    }
+
     protected ControlNetworkGuru() {
         super();
     }
diff --git a/server/src/main/java/com/cloud/network/guru/DirectNetworkGuru.java b/server/src/main/java/com/cloud/network/guru/DirectNetworkGuru.java
index b5a8868..0f7f31e 100644
--- a/server/src/main/java/com/cloud/network/guru/DirectNetworkGuru.java
+++ b/server/src/main/java/com/cloud/network/guru/DirectNetworkGuru.java
@@ -251,6 +251,11 @@
         return config;
     }
 
+    @Override
+    public void setup(Network network, long networkId) {
+        // do nothing
+    }
+
     protected DirectNetworkGuru() {
         super();
         _isolationMethods = new IsolationMethod[] { new IsolationMethod("VLAN"), new IsolationMethod("VXLAN") };
diff --git a/server/src/main/java/com/cloud/network/guru/GuestNetworkGuru.java b/server/src/main/java/com/cloud/network/guru/GuestNetworkGuru.java
index 420d458..ce5af76 100644
--- a/server/src/main/java/com/cloud/network/guru/GuestNetworkGuru.java
+++ b/server/src/main/java/com/cloud/network/guru/GuestNetworkGuru.java
@@ -148,6 +148,11 @@
         _isolationMethods = null;
     }
 
+    @Override
+    public void setup(Network network, long networkId) {
+        // do nothing
+    }
+
     private void updateNicIpv6(Network network, NicProfile nic, VirtualMachineProfile vm, DataCenter dc, boolean isGateway) throws InsufficientAddressCapacityException {
         boolean isIpv6Supported = networkOfferingDao.isIpv6Supported(network.getNetworkOfferingId());
         if (!isIpv6Supported || nic.getIPv6Address() != null || network.getIp6Cidr() == null || network.getIp6Gateway() == null) {
diff --git a/server/src/main/java/com/cloud/network/guru/PodBasedNetworkGuru.java b/server/src/main/java/com/cloud/network/guru/PodBasedNetworkGuru.java
index 168209b..42ae12a 100644
--- a/server/src/main/java/com/cloud/network/guru/PodBasedNetworkGuru.java
+++ b/server/src/main/java/com/cloud/network/guru/PodBasedNetworkGuru.java
@@ -89,6 +89,11 @@
         return config;
     }
 
+    @Override
+    public void setup(Network network, long networkId) {
+        // do nothing
+    }
+
     protected PodBasedNetworkGuru() {
         super();
     }
diff --git a/server/src/main/java/com/cloud/network/guru/PrivateNetworkGuru.java b/server/src/main/java/com/cloud/network/guru/PrivateNetworkGuru.java
index 14f9ebe..d6da50e 100644
--- a/server/src/main/java/com/cloud/network/guru/PrivateNetworkGuru.java
+++ b/server/src/main/java/com/cloud/network/guru/PrivateNetworkGuru.java
@@ -138,6 +138,11 @@
     }
 
     @Override
+    public void setup(Network network, long networkId) {
+        // do nothing
+    }
+
+    @Override
     public void deallocate(Network network, NicProfile nic, VirtualMachineProfile vm) {
         if (s_logger.isDebugEnabled()) {
             s_logger.debug("Deallocate network: networkId: " + nic.getNetworkId() + ", ip: " + nic.getIPv4Address());
diff --git a/server/src/main/java/com/cloud/network/guru/PublicNetworkGuru.java b/server/src/main/java/com/cloud/network/guru/PublicNetworkGuru.java
index 1c9654a..5e15799 100644
--- a/server/src/main/java/com/cloud/network/guru/PublicNetworkGuru.java
+++ b/server/src/main/java/com/cloud/network/guru/PublicNetworkGuru.java
@@ -115,6 +115,11 @@
         }
     }
 
+    @Override
+    public void setup(Network network, long networkId) {
+        // do nothing
+    }
+
     protected PublicNetworkGuru() {
         super();
     }