From 663dce1f184fba6b827d9d6d4ef3daabc029b653 Mon Sep 17 00:00:00 2001 From: nvazquez Date: Thu, 2 Jan 2025 12:27:46 -0300 Subject: [PATCH] Fix build --- .../userdata/DeleteCniConfigurationCmd.java | 5 ++-- .../userdata/ListCniConfigurationCmd.java | 5 ++-- .../userdata/RegisterCniConfigurationCmd.java | 5 ++-- .../cluster/KubernetesClusterManagerImpl.java | 11 +++----- .../KubernetesClusterDestroyWorker.java | 6 ++-- .../com/cloud/network/NetworkServiceImpl.java | 28 ------------------- 6 files changed, 16 insertions(+), 44 deletions(-) diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/DeleteCniConfigurationCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/DeleteCniConfigurationCmd.java index 77dd514bbb0..286ad1f9d2e 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/DeleteCniConfigurationCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/DeleteCniConfigurationCmd.java @@ -22,10 +22,11 @@ import org.apache.cloudstack.api.ApiErrorCode; import org.apache.cloudstack.api.ServerApiException; import org.apache.cloudstack.api.response.SuccessResponse; import org.apache.cloudstack.context.CallContext; -import org.apache.log4j.Logger; import com.cloud.user.Account; import com.cloud.user.UserData; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; @APICommand(name = "deleteCniConfiguration", description = "Deletes a CNI Configuration", responseObject = SuccessResponse.class, entityType = {UserData.class}, @@ -33,7 +34,7 @@ import com.cloud.user.UserData; authorized = {RoleType.Admin, RoleType.ResourceAdmin, RoleType.DomainAdmin, RoleType.User}) public class DeleteCniConfigurationCmd extends DeleteUserDataCmd { - public static final Logger s_logger = Logger.getLogger(DeleteUserDataCmd.class.getName()); + public static final Logger logger = LogManager.getLogger(DeleteUserDataCmd.class.getName()); ///////////////////////////////////////////////////// diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/ListCniConfigurationCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/ListCniConfigurationCmd.java index ecd769eb5a1..86b02bd18d0 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/ListCniConfigurationCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/ListCniConfigurationCmd.java @@ -23,7 +23,8 @@ import org.apache.cloudstack.api.APICommand; import org.apache.cloudstack.api.ApiConstants; import org.apache.cloudstack.api.response.ListResponse; import org.apache.cloudstack.api.response.UserDataResponse; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import java.util.ArrayList; import java.util.List; @@ -32,7 +33,7 @@ import java.util.List; requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, since = "4.20", authorized = {RoleType.Admin, RoleType.ResourceAdmin, RoleType.DomainAdmin, RoleType.User}) public class ListCniConfigurationCmd extends ListUserDataCmd { - public static final Logger s_logger = Logger.getLogger(ListCniConfigurationCmd.class.getName()); + public static final Logger logger = LogManager.getLogger(ListCniConfigurationCmd.class.getName()); ///////////////////////////////////////////////////// /////////////// API Implementation/////////////////// diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/RegisterCniConfigurationCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/RegisterCniConfigurationCmd.java index 5e07356a4ad..87ad87dc1a0 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/RegisterCniConfigurationCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/RegisterCniConfigurationCmd.java @@ -24,7 +24,8 @@ import org.apache.cloudstack.api.Parameter; import org.apache.cloudstack.api.response.SuccessResponse; import org.apache.cloudstack.api.response.UserDataResponse; import org.apache.cloudstack.context.CallContext; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; @APICommand(name = "registerCniConfiguration", description = "Register a CNI Configuration to be used with CKS cluster", @@ -34,7 +35,7 @@ import org.apache.log4j.Logger; responseHasSensitiveInfo = false, authorized = {RoleType.Admin, RoleType.ResourceAdmin, RoleType.DomainAdmin, RoleType.User}) public class RegisterCniConfigurationCmd extends BaseRegisterUserDataCmd { - public static final Logger s_logger = Logger.getLogger(RegisterCniConfigurationCmd.class.getName()); + public static final Logger logger = LogManager.getLogger(RegisterCniConfigurationCmd.class.getName()); ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// diff --git a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterManagerImpl.java b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterManagerImpl.java index fbddb46bd20..1400dac8303 100644 --- a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterManagerImpl.java +++ b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterManagerImpl.java @@ -47,16 +47,14 @@ import java.util.stream.Collectors; import javax.inject.Inject; import javax.naming.ConfigurationException; -import com.cloud.dc.ASNumberVO; +import com.cloud.bgp.BGPService; import com.cloud.dc.DedicatedResourceVO; -import com.cloud.dc.dao.ASNumberDao; import com.cloud.dc.dao.DedicatedResourceDao; import com.cloud.exception.ManagementServerException; import com.cloud.exception.ResourceUnavailableException; import com.cloud.host.Host; import com.cloud.kubernetes.cluster.KubernetesServiceHelper.KubernetesClusterNodeType; import com.cloud.kubernetes.cluster.actionworkers.KubernetesClusterRemoveWorker; -import com.cloud.network.NetworkServiceImpl; import com.cloud.network.dao.NsxProviderDao; import com.cloud.network.element.NsxProviderVO; import com.cloud.kubernetes.cluster.actionworkers.KubernetesClusterAddWorker; @@ -324,7 +322,7 @@ public class KubernetesClusterManagerImpl extends ManagerBase implements Kuberne @Inject RoutedIpv4Manager routedIpv4Manager; @Inject - private ASNumberDao asNumberDao; + private BGPService bgpService; private void logMessage(final Level logLevel, final String message, final Exception e) { if (logLevel == Level.WARN) { @@ -1085,9 +1083,8 @@ public class KubernetesClusterManagerImpl extends ManagerBase implements Kuberne network = networkService.createGuestNetwork(networkOffering.getId(), clusterName + "-network", owner.getAccountName() + "-network", owner, physicalNetwork, zone.getId(), ControlledEntity.ACLType.Account); - ASNumberVO asNumberVO = NetworkServiceImpl.checkAndSelectASNumber(asNumber, zone, networkOffering, asNumberDao); - if (Objects.nonNull(asNumber)) { - NetworkServiceImpl.allocateASNumber(asNumberVO, network, asNumberDao); + if (!networkOffering.isForVpc() && NetworkOffering.RoutingMode.Dynamic == networkOffering.getRoutingMode()) { + bgpService.allocateASNumber(zone.getId(), asNumber, network.getId(), null); } } catch (ConcurrentOperationException | InsufficientCapacityException | ResourceAllocationException e) { logAndThrow(Level.ERROR, String.format("Unable to create network for the Kubernetes cluster: %s", clusterName)); diff --git a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterDestroyWorker.java b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterDestroyWorker.java index 9500f24020b..fa8b95422b0 100644 --- a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterDestroyWorker.java +++ b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterDestroyWorker.java @@ -23,8 +23,8 @@ import java.util.stream.Collectors; import javax.inject.Inject; +import com.cloud.bgp.BGPService; import com.cloud.dc.ASNumberVO; -import com.cloud.dc.BGPService; import com.cloud.dc.DataCenter; import com.cloud.dc.dao.ASNumberDao; import org.apache.cloudstack.annotation.AnnotationService; @@ -156,8 +156,8 @@ public class KubernetesClusterDestroyWorker extends KubernetesClusterResourceMod DataCenter zone = dataCenterDao.findById(zoneId); ASNumberVO asNumber = asNumberDao.findByZoneAndNetworkId(zone.getId(), networkId); if (asNumber != null) { - LOGGER.debug(String.format("Releasing AS number %s from network %s", asNumber.getAsNumber(), networkId)); - bgpService.releaseASNumber(zone.getId(), asNumber.getAsNumber()); + logger.debug(String.format("Releasing AS number %s from network %s", asNumber.getAsNumber(), networkId)); + bgpService.releaseASNumber(zone.getId(), asNumber.getAsNumber(), true); } } diff --git a/server/src/main/java/com/cloud/network/NetworkServiceImpl.java b/server/src/main/java/com/cloud/network/NetworkServiceImpl.java index ea51b03602f..6ddcfe6e469 100644 --- a/server/src/main/java/com/cloud/network/NetworkServiceImpl.java +++ b/server/src/main/java/com/cloud/network/NetworkServiceImpl.java @@ -41,7 +41,6 @@ import javax.inject.Inject; import javax.naming.ConfigurationException; import com.cloud.bgp.BGPService; -import com.cloud.dc.ASNumberVO; import com.cloud.dc.VlanDetailsVO; import com.cloud.dc.dao.ASNumberDao; import com.cloud.dc.dao.VlanDetailsDao; @@ -1730,9 +1729,6 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C routedIpv4Manager.validateBgpPeers(owner, zone.getId(), bgpPeerIds); } - // Check AS number if provided - ASNumberVO asNumberVO = checkAndSelectASNumber(asNumber, zone, ntwkOff, asNumberDao); - if (ipv4) { // For non-root admins check cidr limit - if it's allowed by global config value if (!_accountMgr.isRootAdmin(caller.getId()) && cidr != null) { @@ -1843,10 +1839,6 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C routedIpv4Manager.persistBgpPeersForGuestNetwork(network.getId(), bgpPeerIds); } - if (asNumberVO != null) { - bgpService.allocateASNumber(zone.getId(), asNumberVO.getAsNumber(), network.getId(), network.getVpcId()); - } - // if the network offering has persistent set to true, implement the network if (ntwkOff.isPersistent()) { return implementedNetworkInCreation(caller, zone, network); @@ -1858,26 +1850,6 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C return !networkOffering.isForVpc() && NetworkOffering.RoutingMode.Dynamic == networkOffering.getRoutingMode(); } - public static ASNumberVO checkAndSelectASNumber(Long asNumber, DataCenter zone, NetworkOffering networkOffering, ASNumberDao asNumberDao) { - if (NetworkOffering.RoutingMode.Dynamic != networkOffering.getRoutingMode()) { - return null; - } - return BooleanUtils.toBoolean(networkOffering.isSpecifyAsNumber()) ? - validateASNumber(asNumber, asNumberDao) : - asNumberDao.findOneByAllocationStateAndZone(zone.getId(), false); - } - - protected static ASNumberVO validateASNumber(Long asNumber, ASNumberDao asNumberDao) { - if (asNumber == null) { - return null; - } - ASNumberVO asNumberVO = asNumberDao.findByAsNumber(asNumber); - if (asNumberVO == null || asNumberVO.isAllocated()) { - throw new InvalidParameterValueException(String.format("The AS Number %s is already allocated, please select a free AS Number", asNumber)); - } - return asNumberVO; - } - private void validateNetworkCreationSupported(long zoneId, String zoneName, GuestType guestType) { NsxProviderVO nsxProviderVO = nsxProviderDao.findByZoneId(zoneId); if (Objects.nonNull(nsxProviderVO) && GuestType.L2.equals(guestType)) {