H,

We found a functionality that we use once in a while no longer is permitted in 
4.2.1. It seems in line with the philosophy of cloudstack but is hurting our 
operation. In 4.1.1 we could add a bridged network with the following network 
offering:

cno.traffictype = "GUEST"
cno.guestiptype = "Isolated"
cno.specifyipranges = True
cno.specifyvlan = False

cno.serviceproviderlist = [ { "service": "Connectivity", "provider": 
"NiciraNvp"},
                            { "service": "UserData", "provider": 
"VirtualRouter"},
                            { "service": "Dhcp", "provider": "VirtualRouter"} ]

This is no longer allowed. The use case we have for this is to bridge isolated 
networks using nicira into hardware/baremetal networks. We tried to work around 
it yesterday by using shared networks but can't because as of now we only 
support isolated networks on nicira. The cause of the regression is part of 
commit
commit bdac0f8ebc6ee9368d52a263156259a747a219a6
Author: Anthony Xu <anthony...@citrix.com> 2013-07-22 23:16:20

in one zone, Admin should not be allowed to add a Shared Network with a subnet 
that is already associated with another Vlan.

Which changes mostly the overlap code in 
server/src/com/cloud/configuration/ConfigurationManagerImpl.java but also some 
code in NetworkServiceImpl:
------------- server/src/com/cloud/network/NetworkServiceImpl.java ------------
diff --git a/server/src/com/cloud/network/NetworkServiceImpl.java 
b/server/src/com/cloud/network/NetworkServiceImpl.java
index 5ebd702..7e6b581 100755
--- a/server/src/com/cloud/network/NetworkServiceImpl.java
+++ b/server/src/com/cloud/network/NetworkServiceImpl.java
@@ -1248,13 +1248,10 @@
             }
         }
-        // Vlan is created in 2 cases - works in Advance zone only:
+        // Vlan is created in 1 cases - works in Advance zone only:
         // 1) GuestType is Shared
-        // 2) GuestType is Isolated, but SourceNat service is disabled
         boolean createVlan = (startIP != null && endIP != null && 
zone.getNetworkType() == NetworkType.Advanced
-                && ((ntwkOff.getGuestType() == Network.GuestType.Shared)
-                || (ntwkOff.getGuestType() == GuestType.Isolated &&
-                !areServicesSupportedByNetworkOffering(ntwkOff.getId(), 
Service.SourceNat))));
+                && (ntwkOff.getGuestType() == Network.GuestType.Shared));
         if (!createVlan) {
              // Only support advance shared network in IPv6, which means 
createVlan is a must
I made a custom patch for 4.2.1 to maintain daily operation and would like to 
consider putting this in 4.3 as well. Any alternatives will be considered.

Kind regards,
Daan

Reply via email to