@@ -5322,31 +5322,41 @@ public Vlan createVlanAndPublicIpRange(final long zoneId, final long networkId,
53225322 ipv4 , zone , vlanType , ipv6Range , ipRange , forSystemVms , provider );
53235323
53245324 if (vlan != null ) {
5325- final NetworkVO networkVO = _networkDao .findById (networkId );
53265325 if (ipv4 ) {
5327- String networkCidr = networkVO .getCidr ();
5328- String newCidr = NetUtils .getCidrFromGatewayAndNetmask (vlanGateway , vlanNetmask );
5329- String newNetworkCidr = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkCidr , newCidr , true );
5330- networkVO .setCidr (newNetworkCidr );
5331-
5332- String networkGateway = networkVO .getGateway ();
5333- String newNetworkGateway = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkGateway , vlanGateway , true );
5334- networkVO .setGateway (newNetworkGateway );
5326+ addCidrAndGatewayForIpv4 (networkId , vlanGateway , vlanNetmask );
53355327 } else if (ipv6 ) {
5336- String networkIp6Cidr = networkVO .getIp6Cidr ();
5337- String newNetworkIp6Cidr = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkIp6Cidr , vlanIp6Cidr , true );
5338- networkVO .setIp6Cidr (newNetworkIp6Cidr );
5339-
5340- String networkIp6Gateway = networkVO .getIp6Gateway ();
5341- String newNetworkIp6Gateway = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkIp6Gateway , vlanIp6Gateway , true );
5342- networkVO .setIp6Gateway (newNetworkIp6Gateway );
5328+ addCidrAndGatewayForIpv6 (networkId , vlanIp6Gateway , vlanIp6Cidr );
53435329 }
5344- _networkDao .update (networkId , networkVO );
53455330 }
53465331
53475332 return vlan ;
53485333 }
53495334
5335+ private void addCidrAndGatewayForIpv4 (final long networkId , final String vlanGateway , final String vlanNetmask ) {
5336+ final NetworkVO networkVO = _networkDao .findById (networkId );
5337+ String networkCidr = networkVO .getCidr ();
5338+ String newCidr = NetUtils .getCidrFromGatewayAndNetmask (vlanGateway , vlanNetmask );
5339+ String newNetworkCidr = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkCidr , newCidr , true );
5340+ networkVO .setCidr (newNetworkCidr );
5341+
5342+ String networkGateway = networkVO .getGateway ();
5343+ String newNetworkGateway = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkGateway , vlanGateway , true );
5344+ networkVO .setGateway (newNetworkGateway );
5345+ _networkDao .update (networkId , networkVO );
5346+ }
5347+
5348+ private void addCidrAndGatewayForIpv6 (final long networkId , final String vlanIp6Gateway , final String vlanIp6Cidr ) {
5349+ final NetworkVO networkVO = _networkDao .findById (networkId );
5350+ String networkIp6Cidr = networkVO .getIp6Cidr ();
5351+ String newNetworkIp6Cidr = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkIp6Cidr , vlanIp6Cidr , true );
5352+ networkVO .setIp6Cidr (newNetworkIp6Cidr );
5353+
5354+ String networkIp6Gateway = networkVO .getIp6Gateway ();
5355+ String newNetworkIp6Gateway = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkIp6Gateway , vlanIp6Gateway , true );
5356+ networkVO .setIp6Gateway (newNetworkIp6Gateway );
5357+ _networkDao .update (networkId , networkVO );
5358+ }
5359+
53505360 private boolean isConnectivityWithoutVlan (Network network ) {
53515361 boolean connectivityWithoutVlan = false ;
53525362 if (_networkModel .areServicesSupportedInNetwork (network .getId (), Service .Connectivity )) {
@@ -6390,33 +6400,44 @@ private boolean deleteAndPublishVlanAndPublicIpRange(final long userId, final lo
63906400 final boolean ipv4 = deletedVlan .getVlanGateway () != null ;
63916401 final boolean ipv6 = deletedVlan .getIp6Gateway () != null ;
63926402 final long networkId = deletedVlan .getNetworkId ();
6393- final NetworkVO networkVO = _networkDao . findById ( networkId );
6403+
63946404 if (ipv4 ) {
6395- String networkCidr = networkVO .getCidr ();
6396- String cidrToRemove = NetUtils .getCidrFromGatewayAndNetmask (deletedVlan .getVlanGateway (), deletedVlan .getVlanNetmask ());
6397- String newNetworkCidr = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkCidr , cidrToRemove , false );
6398- networkVO .setCidr (newNetworkCidr );
6399-
6400- String networkGateway = networkVO .getGateway ();
6401- String newNetworkGateway = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkGateway , deletedVlan .getVlanGateway (), false );
6402- networkVO .setGateway (newNetworkGateway );
6405+ removeCidrAndGatewayForIpv4 (networkId , deletedVlan );
64036406 } else if (ipv6 ) {
6404- String networkIp6Cidr = networkVO .getIp6Cidr ();
6405- String newNetworkIp6Cidr = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkIp6Cidr , deletedVlan .getIp6Cidr (), false );
6406- networkVO .setIp6Cidr (newNetworkIp6Cidr );
6407-
6408- String networkIp6Gateway = networkVO .getIp6Gateway ();
6409- String newNetworkIp6Gateway = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkIp6Gateway , deletedVlan .getIp6Gateway (), false );
6410- networkVO .setIp6Gateway (newNetworkIp6Gateway );
6407+ removeCidrAndGatewayForIpv6 (networkId , deletedVlan );
64116408 }
6412- _networkDao .update (networkId , networkVO );
64136409
64146410 messageBus .publish (_name , MESSAGE_DELETE_VLAN_IP_RANGE_EVENT , PublishScope .LOCAL , deletedVlan );
64156411 return true ;
64166412 }
64176413 return false ;
64186414 }
64196415
6416+ private void removeCidrAndGatewayForIpv4 (final long networkId , VlanVO deletedVlan ) {
6417+ final NetworkVO networkVO = _networkDao .findById (networkId );
6418+ String networkCidr = networkVO .getCidr ();
6419+ String cidrToRemove = NetUtils .getCidrFromGatewayAndNetmask (deletedVlan .getVlanGateway (), deletedVlan .getVlanNetmask ());
6420+ String newNetworkCidr = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkCidr , cidrToRemove , false );
6421+ networkVO .setCidr (newNetworkCidr );
6422+
6423+ String networkGateway = networkVO .getGateway ();
6424+ String newNetworkGateway = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkGateway , deletedVlan .getVlanGateway (), false );
6425+ networkVO .setGateway (newNetworkGateway );
6426+ _networkDao .update (networkId , networkVO );
6427+ }
6428+
6429+ private void removeCidrAndGatewayForIpv6 (final long networkId , VlanVO deletedVlan ) {
6430+ final NetworkVO networkVO = _networkDao .findById (networkId );
6431+ String networkIp6Cidr = networkVO .getIp6Cidr ();
6432+ String newNetworkIp6Cidr = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkIp6Cidr , deletedVlan .getIp6Cidr (), false );
6433+ networkVO .setIp6Cidr (newNetworkIp6Cidr );
6434+
6435+ String networkIp6Gateway = networkVO .getIp6Gateway ();
6436+ String newNetworkIp6Gateway = com .cloud .utils .StringUtils .updateCommaSeparatedStringWithValue (networkIp6Gateway , deletedVlan .getIp6Gateway (), false );
6437+ networkVO .setIp6Gateway (newNetworkIp6Gateway );
6438+ _networkDao .update (networkId , networkVO );
6439+ }
6440+
64206441 @ Override
64216442 public void checkDiskOfferingAccess (final Account caller , final DiskOffering dof , DataCenter zone ) {
64226443 for (final SecurityChecker checker : _secChecker ) {
0 commit comments