Honour promiscuous mode from networkOffering (#3765) (#3781)

Honour promiscuous mode from networkOffering (#3765)
This commit is contained in:
dahn 2019-12-20 13:56:04 +01:00 committed by GitHub
commit 06060399ba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 0 deletions

View File

@ -41,6 +41,8 @@ import javax.naming.ConfigurationException;
import com.cloud.agent.api.PrepareForMigrationAnswer;
import com.cloud.agent.api.to.DpdkTO;
import com.cloud.offering.NetworkOffering;
import com.cloud.offerings.dao.NetworkOfferingDetailsDao;
import org.apache.cloudstack.affinity.dao.AffinityGroupVMMapDao;
import org.apache.cloudstack.api.command.admin.vm.MigrateVMCmd;
import org.apache.cloudstack.api.command.admin.volume.MigrateVolumeCmdByAdmin;
@ -320,6 +322,8 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
private AsyncJobManager _jobMgr;
@Inject
private StorageManager storageMgr;
@Inject
private NetworkOfferingDetailsDao networkOfferingDetailsDao;
VmWorkJobHandlerProxy _jobHandlerProxy = new VmWorkJobHandlerProxy(this);
@ -3475,6 +3479,16 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
//3) Convert nicProfile to NicTO
final NicTO nicTO = toNicTO(nic, vmProfile.getVirtualMachine().getHypervisorType());
if (network != null) {
final Map<NetworkOffering.Detail, String> details = networkOfferingDetailsDao.getNtwkOffDetails(network.getNetworkOfferingId());
if (details != null) {
details.putIfAbsent(NetworkOffering.Detail.PromiscuousMode, NetworkOrchestrationService.PromiscuousMode.value().toString());
details.putIfAbsent(NetworkOffering.Detail.MacAddressChanges, NetworkOrchestrationService.MacAddressChanges.value().toString());
details.putIfAbsent(NetworkOffering.Detail.ForgedTransmits, NetworkOrchestrationService.ForgedTransmits.value().toString());
}
nicTO.setDetails(details);
}
//4) plug the nic to the vm
s_logger.debug("Plugging nic for vm " + vm + " in network " + network);