@@ -5287,31 +5287,41 @@ public Vlan createVlanAndPublicIpRange(final long zoneId, final long networkId,
52875287 ipv4 , zone , vlanType , ipv6Range , ipRange , forSystemVms , forNsx );
52885288
52895289 if (vlan != null ) {
5290- final NetworkVO networkVO = _networkDao .findById (networkId );
52915290 if (ipv4 ) {
5292- String networkCidr = networkVO .getCidr ();
5293- String newCidr = NetUtils .getCidrFromGatewayAndNetmask (vlanGateway , vlanNetmask );
5294- String newNetworkCidr = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkCidr , newCidr , true );
5295- networkVO .setCidr (newNetworkCidr );
5296-
5297- String networkGateway = networkVO .getGateway ();
5298- String newNetworkGateway = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkGateway , vlanGateway , true );
5299- networkVO .setGateway (newNetworkGateway );
5291+ addCidrAndGatewayForIpv4 (networkId , vlanGateway , vlanNetmask );
53005292 } else if (ipv6 ) {
5301- String networkIp6Cidr = networkVO .getIp6Cidr ();
5302- String newNetworkIp6Cidr = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkIp6Cidr , vlanIp6Cidr , true );
5303- networkVO .setIp6Cidr (newNetworkIp6Cidr );
5304-
5305- String networkIp6Gateway = networkVO .getIp6Gateway ();
5306- String newNetworkIp6Gateway = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkIp6Gateway , vlanIp6Gateway , true );
5307- networkVO .setIp6Gateway (newNetworkIp6Gateway );
5293+ addCidrAndGatewayForIpv6 (networkId , vlanIp6Gateway , vlanIp6Cidr );
53085294 }
5309- _networkDao .update (networkId , networkVO );
53105295 }
53115296
53125297 return vlan ;
53135298 }
53145299
5300+ private void addCidrAndGatewayForIpv4 (final long networkId , final String vlanGateway , final String vlanNetmask ) {
5301+ final NetworkVO networkVO = _networkDao .findById (networkId );
5302+ String networkCidr = networkVO .getCidr ();
5303+ String newCidr = NetUtils .getCidrFromGatewayAndNetmask (vlanGateway , vlanNetmask );
5304+ String newNetworkCidr = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkCidr , newCidr , true );
5305+ networkVO .setCidr (newNetworkCidr );
5306+
5307+ String networkGateway = networkVO .getGateway ();
5308+ String newNetworkGateway = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkGateway , vlanGateway , true );
5309+ networkVO .setGateway (newNetworkGateway );
5310+ _networkDao .update (networkId , networkVO );
5311+ }
5312+
5313+ private void addCidrAndGatewayForIpv6 (final long networkId , final String vlanIp6Gateway , final String vlanIp6Cidr ) {
5314+ final NetworkVO networkVO = _networkDao .findById (networkId );
5315+ String networkIp6Cidr = networkVO .getIp6Cidr ();
5316+ String newNetworkIp6Cidr = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkIp6Cidr , vlanIp6Cidr , true );
5317+ networkVO .setIp6Cidr (newNetworkIp6Cidr );
5318+
5319+ String networkIp6Gateway = networkVO .getIp6Gateway ();
5320+ String newNetworkIp6Gateway = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkIp6Gateway , vlanIp6Gateway , true );
5321+ networkVO .setIp6Gateway (newNetworkIp6Gateway );
5322+ _networkDao .update (networkId , networkVO );
5323+ }
5324+
53155325 private boolean isConnectivityWithoutVlan (Network network ) {
53165326 boolean connectivityWithoutVlan = false ;
53175327 if (_networkModel .areServicesSupportedInNetwork (network .getId (), Service .Connectivity )) {
@@ -6344,33 +6354,44 @@ private boolean deleteAndPublishVlanAndPublicIpRange(final long userId, final lo
63446354 final boolean ipv4 = deletedVlan .getVlanGateway () != null ;
63456355 final boolean ipv6 = deletedVlan .getIp6Gateway () != null ;
63466356 final long networkId = deletedVlan .getNetworkId ();
6347- final NetworkVO networkVO = _networkDao . findById ( networkId );
6357+
63486358 if (ipv4 ) {
6349- String networkCidr = networkVO .getCidr ();
6350- String cidrToRemove = NetUtils .getCidrFromGatewayAndNetmask (deletedVlan .getVlanGateway (), deletedVlan .getVlanNetmask ());
6351- String newNetworkCidr = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkCidr , cidrToRemove , false );
6352- networkVO .setCidr (newNetworkCidr );
6353-
6354- String networkGateway = networkVO .getGateway ();
6355- String newNetworkGateway = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkGateway , deletedVlan .getVlanGateway (), false );
6356- networkVO .setGateway (newNetworkGateway );
6359+ removeCidrAndGatewayForIpv4 (networkId , deletedVlan );
63576360 } else if (ipv6 ) {
6358- String networkIp6Cidr = networkVO .getIp6Cidr ();
6359- String newNetworkIp6Cidr = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkIp6Cidr , deletedVlan .getIp6Cidr (), false );
6360- networkVO .setIp6Cidr (newNetworkIp6Cidr );
6361-
6362- String networkIp6Gateway = networkVO .getIp6Gateway ();
6363- String newNetworkIp6Gateway = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkIp6Gateway , deletedVlan .getIp6Gateway (), false );
6364- networkVO .setIp6Gateway (newNetworkIp6Gateway );
6361+ removeCidrAndGatewayForIpv6 (networkId , deletedVlan );
63656362 }
6366- _networkDao .update (networkId , networkVO );
63676363
63686364 messageBus .publish (_name , MESSAGE_DELETE_VLAN_IP_RANGE_EVENT , PublishScope .LOCAL , deletedVlan );
63696365 return true ;
63706366 }
63716367 return false ;
63726368 }
63736369
6370+ private void removeCidrAndGatewayForIpv4 (final long networkId , VlanVO deletedVlan ) {
6371+ final NetworkVO networkVO = _networkDao .findById (networkId );
6372+ String networkCidr = networkVO .getCidr ();
6373+ String cidrToRemove = NetUtils .getCidrFromGatewayAndNetmask (deletedVlan .getVlanGateway (), deletedVlan .getVlanNetmask ());
6374+ String newNetworkCidr = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkCidr , cidrToRemove , false );
6375+ networkVO .setCidr (newNetworkCidr );
6376+
6377+ String networkGateway = networkVO .getGateway ();
6378+ String newNetworkGateway = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkGateway , deletedVlan .getVlanGateway (), false );
6379+ networkVO .setGateway (newNetworkGateway );
6380+ _networkDao .update (networkId , networkVO );
6381+ }
6382+
6383+ private void removeCidrAndGatewayForIpv6 (final long networkId , VlanVO deletedVlan ) {
6384+ final NetworkVO networkVO = _networkDao .findById (networkId );
6385+ String networkIp6Cidr = networkVO .getIp6Cidr ();
6386+ String newNetworkIp6Cidr = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkIp6Cidr , deletedVlan .getIp6Cidr (), false );
6387+ networkVO .setIp6Cidr (newNetworkIp6Cidr );
6388+
6389+ String networkIp6Gateway = networkVO .getIp6Gateway ();
6390+ String newNetworkIp6Gateway = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkIp6Gateway , deletedVlan .getIp6Gateway (), false );
6391+ networkVO .setIp6Gateway (newNetworkIp6Gateway );
6392+ _networkDao .update (networkId , networkVO );
6393+ }
6394+
63746395 @ Override
63756396 public void checkDiskOfferingAccess (final Account caller , final DiskOffering dof , DataCenter zone ) {
63766397 for (final SecurityChecker checker : _secChecker ) {
0 commit comments