You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by Daan Hoogland <DH...@schubergphilis.com> on 2013/05/01 16:38:39 UTC

startup slow after changing api

LS,

I experimented with adding an parameter to the api call createVpcPrivateGateway. I added an optional network offering name. After this the startup time got tens of minutes slower in my eclipse env. I stashed my change away and so where these awful minutes. Is there something to keep in mind when extending the api, something that need regenerated extra with respect to 'mvn clean test install'?

Note: I did add handling code to the implementation in VpcManagerImpl and NetworkManagerImpl.

Thanks for any pointers,
Daan Hoogland

RE: startup slow after changing api

Posted by Daan Hoogland <DH...@schubergphilis.com>.
Must have been some caching issue. It disappeared after splitting up the change and applying the parts one by one.

Regards,

-----Original Message-----
From: Daan Hoogland [mailto:DHoogland@schubergphilis.com] 
Sent: woensdag 1 mei 2013 17:15
To: 'dev@cloudstack.apache.org'
Subject: RE: startup slow after changing api

I noticed this change in startup time is mainly noticeable in the debugger. I made a patch for review. I am puzzled as the change seems trivial:

diff --git a/api/src/com/cloud/network/NetworkService.java b/api/src/com/cloud/network/NetworkService.java
old mode 100755
new mode 100644
index 22f1502..c3850c3
--- a/api/src/com/cloud/network/NetworkService.java
+++ b/api/src/com/cloud/network/NetworkService.java
@@ -148,13 +148,14 @@
      * @param netmask
      * @param networkOwnerId
      * @param vpcId TODO
+     * @param networkOffering
      * @return
      * @throws InsufficientCapacityException
      * @throws ConcurrentOperationException
      * @throws ResourceAllocationException
      */
     Network createPrivateNetwork(String networkName, String displayText, long physicalNetworkId, String broadcastUri,
-            String startIp, String endIP, String gateway, String netmask, long networkOwnerId, Long vpcId)
+            String startIp, String endIP, String gateway, String 
+ netmask, long networkOwnerId, Long vpcId, String networkOffering)
                     throws ResourceAllocationException, ConcurrentOperationException, InsufficientCapacityException;
 
     /* Requests an IP address for the guest nic */ diff --git a/api/src/com/cloud/network/vpc/VpcService.java b/api/src/com/cloud/network/vpc/VpcService.java
index 07ce89b..d8c7396 100644
--- a/api/src/com/cloud/network/vpc/VpcService.java
+++ b/api/src/com/cloud/network/vpc/VpcService.java
@@ -165,18 +165,19 @@
      * 
      * @param vpcId TODO
      * @param physicalNetworkId
-     * @param vlan
+     * @param broadcastUri
      * @param ipAddress
      * @param gateway
      * @param netmask
      * @param gatewayOwnerId
+     * @param networkOffering
      * @return
      * @throws InsufficientCapacityException
      * @throws ConcurrentOperationException
      * @throws ResourceAllocationException
      */
-    public PrivateGateway createVpcPrivateGateway(long vpcId, Long physicalNetworkId, String vlan, String ipAddress,
-            String gateway, String netmask, long gatewayOwnerId) throws ResourceAllocationException,
+    public PrivateGateway createVpcPrivateGateway(long vpcId, Long physicalNetworkId, String broadcastUri, String ipAddress,
+            String gateway, String netmask, long gatewayOwnerId, String 
+ networkOffering) throws ResourceAllocationException,
             ConcurrentOperationException, InsufficientCapacityException;
 
     /**
diff --git a/api/src/org/apache/cloudstack/api/ApiConstants.java b/api/src/org/apache/cloudstack/api/ApiConstants.java
old mode 100755
new mode 100644
index 1165c7b..c266d78
--- a/api/src/org/apache/cloudstack/api/ApiConstants.java
+++ b/api/src/org/apache/cloudstack/api/ApiConstants.java
@@ -237,6 +237,7 @@
     public static final String PAGE_SIZE = "pagesize";
     public static final String COUNT = "count";
     public static final String TRAFFIC_TYPE = "traffictype";
+    public static final String NETWORK_OFFERING_NAME = 
+ "networkoffering";
     public static final String NETWORK_OFFERING_ID = "networkofferingid";
     public static final String NETWORK_IDS = "networkids";
     public static final String NETWORK_ID = "networkid"; diff --git a/api/src/org/apache/cloudstack/api/command/admin/vpc/CreatePrivateGatewayCmd.java b/api/src/org/apache/cloudstack/api/command/admin/vpc/CreatePrivateGatewayCmd.java
index 9da572d..014d053 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/vpc/CreatePrivateGatewayCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/vpc/CreatePrivateG
+++ atewayCmd.java
@@ -69,6 +69,9 @@
             required=true, description="the VPC network belongs to")
     private Long vpcId;
 
+    @Parameter(name=ApiConstants.NETWORK_OFFERING_NAME, type=CommandType.STRING, description="the name of the network offering to use for the private gateways network connection")
+    private String networkOffering;
+
     /////////////////////////////////////////////////////
     /////////////////// Accessors ///////////////////////
     /////////////////////////////////////////////////////
@@ -97,6 +100,10 @@
         return vpcId;
     }
 
+    public String getNetworkOffering() {
+		return networkOffering;
+	}
+
     /////////////////////////////////////////////////////
     /////////////// API Implementation///////////////////
     /////////////////////////////////////////////////////
@@ -111,7 +118,7 @@
         PrivateGateway result = null;
         try {
             result = _vpcService.createVpcPrivateGateway(getVpcId(), getPhysicalNetworkId(),
-                    getBroadcastUri(), getStartIp(), getGateway(), getNetmask(), getEntityOwnerId());
+                    getBroadcastUri(), getStartIp(), getGateway(), 
+ getNetmask(), getEntityOwnerId(), getNetworkOffering());
         } catch (InsufficientCapacityException ex){
             s_logger.info(ex);
             s_logger.trace(ex);
@@ -129,7 +136,7 @@
         }
     }
 
-    @Override
+	@Override
     public void execute() throws InsufficientCapacityException, ConcurrentOperationException,
     ResourceAllocationException, ResourceUnavailableException {
         PrivateGateway result = _vpcService.applyVpcPrivateGateway(getEntityId(), true); diff --git a/server/src/com/cloud/network/NetworkServiceImpl.java b/server/src/com/cloud/network/NetworkServiceImpl.java
old mode 100755
new mode 100644
index bff98eb..6a5bf3a
--- a/server/src/com/cloud/network/NetworkServiceImpl.java
+++ b/server/src/com/cloud/network/NetworkServiceImpl.java
@@ -3312,14 +3312,19 @@
 
     @Override @DB
     public Network createPrivateNetwork(String networkName, String displayText, long physicalNetworkId, 
-            String broadcastUriString, String startIp, String endIp, String gateway, String netmask, long networkOwnerId, Long vpcId) 
+            String broadcastUriString, String startIp, String endIp, String gateway, String netmask,
+            long networkOwnerId, Long vpcId, String networkOffering)
                     throws ResourceAllocationException, ConcurrentOperationException, InsufficientCapacityException {
         
         Account owner = _accountMgr.getAccount(networkOwnerId);
         
         // Get system network offering
-        NetworkOfferingVO ntwkOff = findSystemNetworkOffering(NetworkOffering.SystemPrivateGatewayNetworkOffering);
-        
+        NetworkOfferingVO ntwkOff = findSystemNetworkOffering(networkOffering);
+        if(ntwkOff == null)
+        {
+        	ntwkOff = findSystemNetworkOffering(NetworkOffering.SystemPrivateGatewayNetworkOffering);
+        }
+
         // Validate physical network
         PhysicalNetwork pNtwk = _physicalNetworkDao.findById(physicalNetworkId);
         if (pNtwk == null) {
@@ -3403,7 +3408,8 @@
         return privateNetwork;
     }
 
-    
+
+    // TODO search the name directly instead of getting them all
     private NetworkOfferingVO findSystemNetworkOffering(String offeringName) {
         List<NetworkOfferingVO> allOfferings = _networkOfferingDao.listSystemNetworkOfferings();
         for (NetworkOfferingVO offer: allOfferings){ diff --git a/server/src/com/cloud/network/vpc/VpcManagerImpl.java b/server/src/com/cloud/network/vpc/VpcManagerImpl.java
index c242334..4db7881 100644
--- a/server/src/com/cloud/network/vpc/VpcManagerImpl.java
+++ b/server/src/com/cloud/network/vpc/VpcManagerImpl.java
@@ -1286,7 +1286,7 @@
     @DB
     @ActionEvent(eventType = EventTypes.EVENT_PRIVATE_GATEWAY_CREATE, eventDescription = "creating vpc private gateway", create=true)
     public PrivateGateway createVpcPrivateGateway(long vpcId, Long physicalNetworkId, String broadcastUri, String ipAddress, 
-            String gateway, String netmask, long gatewayOwnerId) throws ResourceAllocationException, 
+            String gateway, String netmask, long gatewayOwnerId, String 
+ networkOffering) throws ResourceAllocationException,
             ConcurrentOperationException, InsufficientCapacityException {
         
         //Validate parameters
@@ -1313,8 +1313,9 @@
         String networkName = "vpc-" + vpc.getName() + "-privateNetwork";
         
         //TODO specify the right guru/provider??
+        // add the network offering that can supply the broadcastUri
         Network privateNtwk = _ntwkSvc.createPrivateNetwork(networkName, networkName, physicalNetworkId, 
-                broadcastUri, ipAddress, null, gateway, netmask, gatewayOwnerId, vpcId);
+                broadcastUri, ipAddress, null, gateway, netmask, 
+ gatewayOwnerId, vpcId, networkOffering);
         
         //2) create gateway entry
         VpcGatewayVO gatewayVO = new VpcGatewayVO(ipAddress, VpcGateway.Type.Private, vpcId, privateNtwk.getDataCenterId(), diff --git a/server/test/com/cloud/network/MockNetworkManagerImpl.java b/server/test/com/cloud/network/MockNetworkManagerImpl.java

old mode 100755
new mode 100644
index e9987bd..5106b26
--- a/server/test/com/cloud/network/MockNetworkManagerImpl.java
+++ b/server/test/com/cloud/network/MockNetworkManagerImpl.java
@@ -604,7 +604,7 @@
      */
     @Override
     public Network createPrivateNetwork(String networkName, String displayText, long physicalNetworkId, String vlan,
-            String startIp, String endIP, String gateway, String netmask, long networkOwnerId, Long vpcId)
+            String startIp, String endIP, String gateway, String 
+ netmask, long networkOwnerId, Long vpcId, String networkOffering)
                     throws ResourceAllocationException, ConcurrentOperationException, InsufficientCapacityException {
         // TODO Auto-generated method stub
         return null;
diff --git a/server/test/com/cloud/vpc/MockNetworkManagerImpl.java b/server/test/com/cloud/vpc/MockNetworkManagerImpl.java
index 9b18358..6bfacba 100644
--- a/server/test/com/cloud/vpc/MockNetworkManagerImpl.java
+++ b/server/test/com/cloud/vpc/MockNetworkManagerImpl.java
@@ -609,7 +609,7 @@
      */
     @Override
     public Network createPrivateNetwork(String networkName, String displayText, long physicalNetworkId, String vlan,
-            String startIp, String endIP, String gateway, String netmask, long networkOwnerId, Long vpcId)
+            String startIp, String endIP, String gateway, String 
+ netmask, long networkOwnerId, Long vpcId, String networkOffering)
             throws ResourceAllocationException, ConcurrentOperationException, InsufficientCapacityException {
         // TODO Auto-generated method stub
         return null;
diff --git a/server/test/com/cloud/vpc/MockVpcManagerImpl.java b/server/test/com/cloud/vpc/MockVpcManagerImpl.java
index 0f26928..37c4fa3 100644
--- a/server/test/com/cloud/vpc/MockVpcManagerImpl.java
+++ b/server/test/com/cloud/vpc/MockVpcManagerImpl.java
@@ -164,7 +164,7 @@
      * @see com.cloud.network.vpc.VpcService#createVpcPrivateGateway(long, java.lang.Long, java.lang.String, java.lang.String, java.lang.String, java.lang.String, long)
      */
     @Override
-    public PrivateGateway createVpcPrivateGateway(long vpcId, Long physicalNetworkId, String vlan, String ipAddress, String gateway, String netmask, long gatewayOwnerId) throws ResourceAllocationException,
+    public PrivateGateway createVpcPrivateGateway(long vpcId, Long 
+ physicalNetworkId, String vlan, String ipAddress, String gateway, 
+ String netmask, long gatewayOwnerId, String networkOffering) throws 
+ ResourceAllocationException,
     ConcurrentOperationException, InsufficientCapacityException {
         // TODO Auto-generated method stub
         return null;

-----Original Message-----
From: Daan Hoogland [mailto:DHoogland@schubergphilis.com]
Sent: woensdag 1 mei 2013 16:39
To: dev@cloudstack.apache.org
Subject: startup slow after changing api

LS,

I experimented with adding an parameter to the api call createVpcPrivateGateway. I added an optional network offering name. After this the startup time got tens of minutes slower in my eclipse env. I stashed my change away and so where these awful minutes. Is there something to keep in mind when extending the api, something that need regenerated extra with respect to 'mvn clean test install'?

Note: I did add handling code to the implementation in VpcManagerImpl and NetworkManagerImpl.

Thanks for any pointers,
Daan Hoogland

RE: startup slow after changing api

Posted by Daan Hoogland <DH...@schubergphilis.com>.
I noticed this change in startup time is mainly noticeable in the debugger. I made a patch for review. I am puzzled as the change seems trivial:

diff --git a/api/src/com/cloud/network/NetworkService.java b/api/src/com/cloud/network/NetworkService.java
old mode 100755
new mode 100644
index 22f1502..c3850c3
--- a/api/src/com/cloud/network/NetworkService.java
+++ b/api/src/com/cloud/network/NetworkService.java
@@ -148,13 +148,14 @@
      * @param netmask
      * @param networkOwnerId
      * @param vpcId TODO
+     * @param networkOffering
      * @return
      * @throws InsufficientCapacityException
      * @throws ConcurrentOperationException
      * @throws ResourceAllocationException
      */
     Network createPrivateNetwork(String networkName, String displayText, long physicalNetworkId, String broadcastUri,
-            String startIp, String endIP, String gateway, String netmask, long networkOwnerId, Long vpcId)
+            String startIp, String endIP, String gateway, String netmask, long networkOwnerId, Long vpcId, String networkOffering)
                     throws ResourceAllocationException, ConcurrentOperationException, InsufficientCapacityException;
 
     /* Requests an IP address for the guest nic */
diff --git a/api/src/com/cloud/network/vpc/VpcService.java b/api/src/com/cloud/network/vpc/VpcService.java
index 07ce89b..d8c7396 100644
--- a/api/src/com/cloud/network/vpc/VpcService.java
+++ b/api/src/com/cloud/network/vpc/VpcService.java
@@ -165,18 +165,19 @@
      * 
      * @param vpcId TODO
      * @param physicalNetworkId
-     * @param vlan
+     * @param broadcastUri
      * @param ipAddress
      * @param gateway
      * @param netmask
      * @param gatewayOwnerId
+     * @param networkOffering
      * @return
      * @throws InsufficientCapacityException
      * @throws ConcurrentOperationException
      * @throws ResourceAllocationException
      */
-    public PrivateGateway createVpcPrivateGateway(long vpcId, Long physicalNetworkId, String vlan, String ipAddress,
-            String gateway, String netmask, long gatewayOwnerId) throws ResourceAllocationException,
+    public PrivateGateway createVpcPrivateGateway(long vpcId, Long physicalNetworkId, String broadcastUri, String ipAddress,
+            String gateway, String netmask, long gatewayOwnerId, String networkOffering) throws ResourceAllocationException,
             ConcurrentOperationException, InsufficientCapacityException;
 
     /**
diff --git a/api/src/org/apache/cloudstack/api/ApiConstants.java b/api/src/org/apache/cloudstack/api/ApiConstants.java
old mode 100755
new mode 100644
index 1165c7b..c266d78
--- a/api/src/org/apache/cloudstack/api/ApiConstants.java
+++ b/api/src/org/apache/cloudstack/api/ApiConstants.java
@@ -237,6 +237,7 @@
     public static final String PAGE_SIZE = "pagesize";
     public static final String COUNT = "count";
     public static final String TRAFFIC_TYPE = "traffictype";
+    public static final String NETWORK_OFFERING_NAME = "networkoffering";
     public static final String NETWORK_OFFERING_ID = "networkofferingid";
     public static final String NETWORK_IDS = "networkids";
     public static final String NETWORK_ID = "networkid";
diff --git a/api/src/org/apache/cloudstack/api/command/admin/vpc/CreatePrivateGatewayCmd.java b/api/src/org/apache/cloudstack/api/command/admin/vpc/CreatePrivateGatewayCmd.java
index 9da572d..014d053 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/vpc/CreatePrivateGatewayCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/vpc/CreatePrivateGatewayCmd.java
@@ -69,6 +69,9 @@
             required=true, description="the VPC network belongs to")
     private Long vpcId;
 
+    @Parameter(name=ApiConstants.NETWORK_OFFERING_NAME, type=CommandType.STRING, description="the name of the network offering to use for the private gateways network connection")
+    private String networkOffering;
+
     /////////////////////////////////////////////////////
     /////////////////// Accessors ///////////////////////
     /////////////////////////////////////////////////////
@@ -97,6 +100,10 @@
         return vpcId;
     }
 
+    public String getNetworkOffering() {
+		return networkOffering;
+	}
+
     /////////////////////////////////////////////////////
     /////////////// API Implementation///////////////////
     /////////////////////////////////////////////////////
@@ -111,7 +118,7 @@
         PrivateGateway result = null;
         try {
             result = _vpcService.createVpcPrivateGateway(getVpcId(), getPhysicalNetworkId(),
-                    getBroadcastUri(), getStartIp(), getGateway(), getNetmask(), getEntityOwnerId());
+                    getBroadcastUri(), getStartIp(), getGateway(), getNetmask(), getEntityOwnerId(), getNetworkOffering());
         } catch (InsufficientCapacityException ex){
             s_logger.info(ex);
             s_logger.trace(ex);
@@ -129,7 +136,7 @@
         }
     }
 
-    @Override
+	@Override
     public void execute() throws InsufficientCapacityException, ConcurrentOperationException,
     ResourceAllocationException, ResourceUnavailableException {
         PrivateGateway result = _vpcService.applyVpcPrivateGateway(getEntityId(), true);
diff --git a/server/src/com/cloud/network/NetworkServiceImpl.java b/server/src/com/cloud/network/NetworkServiceImpl.java
old mode 100755
new mode 100644
index bff98eb..6a5bf3a
--- a/server/src/com/cloud/network/NetworkServiceImpl.java
+++ b/server/src/com/cloud/network/NetworkServiceImpl.java
@@ -3312,14 +3312,19 @@
 
     @Override @DB
     public Network createPrivateNetwork(String networkName, String displayText, long physicalNetworkId, 
-            String broadcastUriString, String startIp, String endIp, String gateway, String netmask, long networkOwnerId, Long vpcId) 
+            String broadcastUriString, String startIp, String endIp, String gateway, String netmask,
+            long networkOwnerId, Long vpcId, String networkOffering) 
                     throws ResourceAllocationException, ConcurrentOperationException, InsufficientCapacityException {
         
         Account owner = _accountMgr.getAccount(networkOwnerId);
         
         // Get system network offering
-        NetworkOfferingVO ntwkOff = findSystemNetworkOffering(NetworkOffering.SystemPrivateGatewayNetworkOffering);
-        
+        NetworkOfferingVO ntwkOff = findSystemNetworkOffering(networkOffering);
+        if(ntwkOff == null)
+        {
+        	ntwkOff = findSystemNetworkOffering(NetworkOffering.SystemPrivateGatewayNetworkOffering);
+        }
+
         // Validate physical network
         PhysicalNetwork pNtwk = _physicalNetworkDao.findById(physicalNetworkId);
         if (pNtwk == null) {
@@ -3403,7 +3408,8 @@
         return privateNetwork;
     }
 
-    
+
+    // TODO search the name directly instead of getting them all
     private NetworkOfferingVO findSystemNetworkOffering(String offeringName) {
         List<NetworkOfferingVO> allOfferings = _networkOfferingDao.listSystemNetworkOfferings();
         for (NetworkOfferingVO offer: allOfferings){
diff --git a/server/src/com/cloud/network/vpc/VpcManagerImpl.java b/server/src/com/cloud/network/vpc/VpcManagerImpl.java
index c242334..4db7881 100644
--- a/server/src/com/cloud/network/vpc/VpcManagerImpl.java
+++ b/server/src/com/cloud/network/vpc/VpcManagerImpl.java
@@ -1286,7 +1286,7 @@
     @DB
     @ActionEvent(eventType = EventTypes.EVENT_PRIVATE_GATEWAY_CREATE, eventDescription = "creating vpc private gateway", create=true)
     public PrivateGateway createVpcPrivateGateway(long vpcId, Long physicalNetworkId, String broadcastUri, String ipAddress, 
-            String gateway, String netmask, long gatewayOwnerId) throws ResourceAllocationException, 
+            String gateway, String netmask, long gatewayOwnerId, String networkOffering) throws ResourceAllocationException, 
             ConcurrentOperationException, InsufficientCapacityException {
         
         //Validate parameters
@@ -1313,8 +1313,9 @@
         String networkName = "vpc-" + vpc.getName() + "-privateNetwork";
         
         //TODO specify the right guru/provider??
+        // add the network offering that can supply the broadcastUri
         Network privateNtwk = _ntwkSvc.createPrivateNetwork(networkName, networkName, physicalNetworkId, 
-                broadcastUri, ipAddress, null, gateway, netmask, gatewayOwnerId, vpcId);
+                broadcastUri, ipAddress, null, gateway, netmask, gatewayOwnerId, vpcId, networkOffering);
         
         //2) create gateway entry
         VpcGatewayVO gatewayVO = new VpcGatewayVO(ipAddress, VpcGateway.Type.Private, vpcId, privateNtwk.getDataCenterId(),
diff --git a/server/test/com/cloud/network/MockNetworkManagerImpl.java b/server/test/com/cloud/network/MockNetworkManagerImpl.java
old mode 100755
new mode 100644
index e9987bd..5106b26
--- a/server/test/com/cloud/network/MockNetworkManagerImpl.java
+++ b/server/test/com/cloud/network/MockNetworkManagerImpl.java
@@ -604,7 +604,7 @@
      */
     @Override
     public Network createPrivateNetwork(String networkName, String displayText, long physicalNetworkId, String vlan,
-            String startIp, String endIP, String gateway, String netmask, long networkOwnerId, Long vpcId)
+            String startIp, String endIP, String gateway, String netmask, long networkOwnerId, Long vpcId, String networkOffering)
                     throws ResourceAllocationException, ConcurrentOperationException, InsufficientCapacityException {
         // TODO Auto-generated method stub
         return null;
diff --git a/server/test/com/cloud/vpc/MockNetworkManagerImpl.java b/server/test/com/cloud/vpc/MockNetworkManagerImpl.java
index 9b18358..6bfacba 100644
--- a/server/test/com/cloud/vpc/MockNetworkManagerImpl.java
+++ b/server/test/com/cloud/vpc/MockNetworkManagerImpl.java
@@ -609,7 +609,7 @@
      */
     @Override
     public Network createPrivateNetwork(String networkName, String displayText, long physicalNetworkId, String vlan,
-            String startIp, String endIP, String gateway, String netmask, long networkOwnerId, Long vpcId)
+            String startIp, String endIP, String gateway, String netmask, long networkOwnerId, Long vpcId, String networkOffering)
             throws ResourceAllocationException, ConcurrentOperationException, InsufficientCapacityException {
         // TODO Auto-generated method stub
         return null;
diff --git a/server/test/com/cloud/vpc/MockVpcManagerImpl.java b/server/test/com/cloud/vpc/MockVpcManagerImpl.java
index 0f26928..37c4fa3 100644
--- a/server/test/com/cloud/vpc/MockVpcManagerImpl.java
+++ b/server/test/com/cloud/vpc/MockVpcManagerImpl.java
@@ -164,7 +164,7 @@
      * @see com.cloud.network.vpc.VpcService#createVpcPrivateGateway(long, java.lang.Long, java.lang.String, java.lang.String, java.lang.String, java.lang.String, long)
      */
     @Override
-    public PrivateGateway createVpcPrivateGateway(long vpcId, Long physicalNetworkId, String vlan, String ipAddress, String gateway, String netmask, long gatewayOwnerId) throws ResourceAllocationException,
+    public PrivateGateway createVpcPrivateGateway(long vpcId, Long physicalNetworkId, String vlan, String ipAddress, String gateway, String netmask, long gatewayOwnerId, String networkOffering) throws ResourceAllocationException,
     ConcurrentOperationException, InsufficientCapacityException {
         // TODO Auto-generated method stub
         return null;

-----Original Message-----
From: Daan Hoogland [mailto:DHoogland@schubergphilis.com] 
Sent: woensdag 1 mei 2013 16:39
To: dev@cloudstack.apache.org
Subject: startup slow after changing api

LS,

I experimented with adding an parameter to the api call createVpcPrivateGateway. I added an optional network offering name. After this the startup time got tens of minutes slower in my eclipse env. I stashed my change away and so where these awful minutes. Is there something to keep in mind when extending the api, something that need regenerated extra with respect to 'mvn clean test install'?

Note: I did add handling code to the implementation in VpcManagerImpl and NetworkManagerImpl.

Thanks for any pointers,
Daan Hoogland