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 2014/03/06 10:46:01 UTC

[REGRESSION][4.2]

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 <an...@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

Re: [REGRESSION][4.2]

Posted by Daan Hoogland <da...@gmail.com>.
since no reaction came I will create a bug, apply this to master,
4.3-forward and ask Animesh to cherry-pick shortly.

On Thu, Mar 6, 2014 at 10:46 AM, Daan Hoogland
<DH...@schubergphilis.com> wrote:
> 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 <an...@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



-- 
Daan