mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Merge branch '4.11'
This commit is contained in:
commit
76a4e56ef3
@ -46,8 +46,6 @@ import com.cloud.utils.component.PluggableService;
|
||||
|
||||
public interface NuageVspManager extends PluggableService {
|
||||
|
||||
String nuageVspSharedNetworkOfferingWithSGServiceName = "DefaultNuageVspSharedNetworkOfferingWithSGService";
|
||||
|
||||
String nuageVPCOfferingName = "Nuage VSP VPC Offering";
|
||||
|
||||
String nuageVPCOfferingDisplayText = "Nuage VSP VPC Offering";
|
||||
|
||||
@ -19,46 +19,12 @@
|
||||
|
||||
package com.cloud.network.manager;
|
||||
|
||||
import com.google.common.base.MoreObjects;
|
||||
import com.google.common.base.Strings;
|
||||
import com.google.common.collect.HashMultimap;
|
||||
import com.google.common.collect.ImmutableMultimap;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Multimap;
|
||||
import net.nuage.vsp.acs.client.api.NuageVspPluginClientLoader;
|
||||
import net.nuage.vsp.acs.client.api.model.VspApiDefaults;
|
||||
import net.nuage.vsp.acs.client.api.model.VspDomain;
|
||||
import net.nuage.vsp.acs.client.api.model.VspDomainCleanUp;
|
||||
import net.nuage.vsp.acs.client.api.model.VspDomainTemplate;
|
||||
import net.nuage.vsp.acs.client.api.model.VspHost;
|
||||
import net.nuage.vsp.acs.client.common.NuageVspApiVersion;
|
||||
import net.nuage.vsp.acs.client.common.NuageVspConstants;
|
||||
import net.nuage.vsp.acs.client.common.model.Pair;
|
||||
import net.nuage.vsp.acs.client.exception.NuageVspException;
|
||||
import org.apache.cloudstack.api.ResponseGenerator;
|
||||
import org.apache.cloudstack.context.CallContext;
|
||||
import org.apache.cloudstack.framework.config.ConfigKey;
|
||||
import org.apache.cloudstack.framework.config.Configurable;
|
||||
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
|
||||
import org.apache.cloudstack.framework.config.impl.ConfigurationVO;
|
||||
import org.apache.cloudstack.framework.messagebus.MessageBus;
|
||||
import org.apache.cloudstack.network.ExternalNetworkDeviceManager;
|
||||
import org.apache.cloudstack.resourcedetail.VpcDetailVO;
|
||||
import org.apache.cloudstack.resourcedetail.dao.VpcDetailsDao;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.log4j.Logger;
|
||||
import static com.cloud.agent.api.sync.SyncNuageVspCmsIdCommand.SyncType;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.inject.Inject;
|
||||
import javax.naming.ConfigurationException;
|
||||
import java.net.URI;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedList;
|
||||
@ -70,6 +36,45 @@ import java.util.TreeSet;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.inject.Inject;
|
||||
import javax.naming.ConfigurationException;
|
||||
|
||||
import net.nuage.vsp.acs.client.api.NuageVspPluginClientLoader;
|
||||
import net.nuage.vsp.acs.client.api.model.VspApiDefaults;
|
||||
import net.nuage.vsp.acs.client.api.model.VspDomain;
|
||||
import net.nuage.vsp.acs.client.api.model.VspDomainCleanUp;
|
||||
import net.nuage.vsp.acs.client.api.model.VspDomainTemplate;
|
||||
import net.nuage.vsp.acs.client.api.model.VspHost;
|
||||
import net.nuage.vsp.acs.client.common.NuageVspApiVersion;
|
||||
import net.nuage.vsp.acs.client.common.NuageVspConstants;
|
||||
import net.nuage.vsp.acs.client.common.model.Pair;
|
||||
import net.nuage.vsp.acs.client.exception.NuageVspException;
|
||||
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.google.common.base.MoreObjects;
|
||||
import com.google.common.base.Strings;
|
||||
import com.google.common.collect.HashMultimap;
|
||||
import com.google.common.collect.ImmutableMultimap;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Multimap;
|
||||
|
||||
import org.apache.cloudstack.api.ResponseGenerator;
|
||||
import org.apache.cloudstack.context.CallContext;
|
||||
import org.apache.cloudstack.framework.config.ConfigKey;
|
||||
import org.apache.cloudstack.framework.config.Configurable;
|
||||
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
|
||||
import org.apache.cloudstack.framework.config.impl.ConfigurationVO;
|
||||
import org.apache.cloudstack.framework.messagebus.MessageBus;
|
||||
import org.apache.cloudstack.network.ExternalNetworkDeviceManager;
|
||||
import org.apache.cloudstack.resourcedetail.VpcDetailVO;
|
||||
import org.apache.cloudstack.resourcedetail.dao.VpcDetailsDao;
|
||||
|
||||
import com.cloud.agent.AgentManager;
|
||||
import com.cloud.agent.Listener;
|
||||
import com.cloud.agent.api.Answer;
|
||||
@ -142,9 +147,6 @@ import com.cloud.network.vpc.VpcVO;
|
||||
import com.cloud.network.vpc.dao.VpcDao;
|
||||
import com.cloud.network.vpc.dao.VpcOfferingDao;
|
||||
import com.cloud.network.vpc.dao.VpcOfferingServiceMapDao;
|
||||
import com.cloud.offering.NetworkOffering;
|
||||
import com.cloud.offerings.NetworkOfferingServiceMapVO;
|
||||
import com.cloud.offerings.NetworkOfferingVO;
|
||||
import com.cloud.offerings.dao.NetworkOfferingDao;
|
||||
import com.cloud.offerings.dao.NetworkOfferingServiceMapDao;
|
||||
import com.cloud.resource.ResourceManager;
|
||||
@ -167,8 +169,6 @@ import com.cloud.vm.VirtualMachine;
|
||||
import com.cloud.vm.dao.NicDao;
|
||||
import com.cloud.vm.dao.VMInstanceDao;
|
||||
|
||||
import static com.cloud.agent.api.sync.SyncNuageVspCmsIdCommand.SyncType;
|
||||
|
||||
public class NuageVspManagerImpl extends ManagerBase implements NuageVspManager, Configurable, StateListener<Status, Status.Event, Host> {
|
||||
|
||||
private static final Logger s_logger = Logger.getLogger(NuageVspManagerImpl.class);
|
||||
@ -1219,7 +1219,6 @@ public class NuageVspManagerImpl extends ManagerBase implements NuageVspManager,
|
||||
public boolean configure(String name, Map<String, Object> params) throws ConfigurationException {
|
||||
initMessageBusListeners();
|
||||
initNuageVspResourceListeners();
|
||||
initNuageNetworkOffering();
|
||||
initNuageVspVpcOffering();
|
||||
Status.getStateMachine().registerListener(this);
|
||||
return true;
|
||||
@ -1290,39 +1289,6 @@ public class NuageVspManagerImpl extends ManagerBase implements NuageVspManager,
|
||||
_agentMgr.registerForHostEvents(new NuageVspResourceListener(), false, true, false);
|
||||
}
|
||||
|
||||
@DB
|
||||
private void initNuageNetworkOffering() {
|
||||
Transaction.execute(new TransactionCallbackNoReturn() {
|
||||
@Override
|
||||
public void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
NetworkOffering sharedNetworkOfferingWithSG = _networkOfferingDao.findByUniqueName(nuageVspSharedNetworkOfferingWithSGServiceName);
|
||||
if (sharedNetworkOfferingWithSG == null) {
|
||||
NetworkOfferingVO defaultNuageVspSharedSGNetworkOffering =
|
||||
new NetworkOfferingVO(nuageVspSharedNetworkOfferingWithSGServiceName, "Offering for NuageVsp Shared Security group enabled networks",
|
||||
Networks.TrafficType.Guest, false, false, null, null, true, NetworkOffering.Availability.Optional, null, Network.GuestType.Shared, true, true, false, false, false,
|
||||
false);
|
||||
|
||||
defaultNuageVspSharedSGNetworkOffering.setState(NetworkOffering.State.Enabled);
|
||||
defaultNuageVspSharedSGNetworkOffering = _networkOfferingDao.persistDefaultNetworkOffering(defaultNuageVspSharedSGNetworkOffering);
|
||||
|
||||
Map<Network.Service, Network.Provider> defaultNuageVspSharedSGNetworkOfferingProviders = new HashMap<Network.Service, Network.Provider>();
|
||||
defaultNuageVspSharedSGNetworkOfferingProviders.put(Network.Service.Dhcp, Network.Provider.NuageVsp);
|
||||
defaultNuageVspSharedSGNetworkOfferingProviders.put(Network.Service.SecurityGroup, Network.Provider.NuageVsp);
|
||||
defaultNuageVspSharedSGNetworkOfferingProviders.put(Network.Service.Connectivity, Network.Provider.NuageVsp);
|
||||
|
||||
for (Network.Service service : defaultNuageVspSharedSGNetworkOfferingProviders.keySet()) {
|
||||
NetworkOfferingServiceMapVO offService =
|
||||
new NetworkOfferingServiceMapVO(defaultNuageVspSharedSGNetworkOffering.getId(), service, defaultNuageVspSharedSGNetworkOfferingProviders.get(service));
|
||||
_networkOfferingServiceMapDao.persist(offService);
|
||||
if (s_logger.isTraceEnabled()) {
|
||||
s_logger.trace("Added service for the NuageVsp network offering: " + offService);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private Long getNuageVspHostId(long physicalNetworkId) {
|
||||
List<NuageVspDeviceVO> nuageVspDevices = _nuageVspDao.listByPhysicalNetwork(physicalNetworkId);
|
||||
if (nuageVspDevices != null && (!nuageVspDevices.isEmpty())) {
|
||||
|
||||
@ -596,9 +596,9 @@ public class CapacityManagerImpl extends ManagerBase implements CapacityManager,
|
||||
ClusterDetailsVO clusterDetailRam = _clusterDetailsDao.findDetail(cluster.getId(), "memoryOvercommitRatio");
|
||||
Float clusterCpuOvercommitRatio = Float.parseFloat(clusterDetailCpu.getValue());
|
||||
Float clusterRamOvercommitRatio = Float.parseFloat(clusterDetailRam.getValue());
|
||||
Float cpuOvercommitRatio = 1f;
|
||||
Float ramOvercommitRatio = 1f;
|
||||
for (VMInstanceVO vm : vms) {
|
||||
Float cpuOvercommitRatio = 1.0f;
|
||||
Float ramOvercommitRatio = 1.0f;
|
||||
Map<String, String> vmDetails = _userVmDetailsDao.listDetailsKeyPairs(vm.getId());
|
||||
String vmDetailCpu = vmDetails.get("cpuOvercommitRatio");
|
||||
String vmDetailRam = vmDetails.get("memoryOvercommitRatio");
|
||||
@ -628,6 +628,8 @@ public class CapacityManagerImpl extends ManagerBase implements CapacityManager,
|
||||
s_logger.debug("Found " + vmsByLastHostId.size() + " VM, not running on host " + host.getId());
|
||||
}
|
||||
for (VMInstanceVO vm : vmsByLastHostId) {
|
||||
Float cpuOvercommitRatio = 1.0f;
|
||||
Float ramOvercommitRatio = 1.0f;
|
||||
long secondsSinceLastUpdate = (DateUtil.currentGMTTime().getTime() - vm.getUpdateTime().getTime()) / 1000;
|
||||
if (secondsSinceLastUpdate < _vmCapacityReleaseInterval) {
|
||||
UserVmDetailVO vmDetailCpu = _userVmDetailsDao.findDetail(vm.getId(), "cpuOvercommitRatio");
|
||||
|
||||
@ -29,6 +29,7 @@ import java.util.UUID;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import com.cloud.dc.DomainVlanMapVO;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import org.apache.cloudstack.acl.ControlledEntity.ACLType;
|
||||
@ -727,6 +728,11 @@ public class IpAddressManagerImpl extends ManagerBase implements IpAddressManage
|
||||
dedicatedVlanDbIds.add(map.getVlanDbId());
|
||||
}
|
||||
}
|
||||
List<DomainVlanMapVO> domainMaps = _domainVlanMapDao.listDomainVlanMapsByDomain(owner.getDomainId());
|
||||
for (DomainVlanMapVO map : domainMaps) {
|
||||
if (vlanDbIds == null || vlanDbIds.contains(map.getVlanDbId()))
|
||||
dedicatedVlanDbIds.add(map.getVlanDbId());
|
||||
}
|
||||
List<VlanVO> nonDedicatedVlans = _vlanDao.listZoneWideNonDedicatedVlans(dcId);
|
||||
for (VlanVO nonDedicatedVlan : nonDedicatedVlans) {
|
||||
if (vlanDbIds == null || vlanDbIds.contains(nonDedicatedVlan.getId()))
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user