mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-02 20:02:29 +01:00
CLOUDSTACK-7593: allow nic type to be fetched from vm's details
(cherry picked from commit 43db75c319b425f3b39770d556df59333921bf92) Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com> Conflicts: engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
This commit is contained in:
parent
c158cff68c
commit
37820e15f2
@ -22,11 +22,14 @@ package com.cloud.agent.api;
|
||||
import com.cloud.agent.api.to.NicTO;
|
||||
import com.cloud.vm.VirtualMachine;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class PlugNicCommand extends Command {
|
||||
|
||||
NicTO nic;
|
||||
String instanceName;
|
||||
VirtualMachine.Type vmType;
|
||||
Map<String, String> details;
|
||||
|
||||
public NicTO getNic() {
|
||||
return nic;
|
||||
@ -46,6 +49,13 @@ public class PlugNicCommand extends Command {
|
||||
this.vmType = vmtype;
|
||||
}
|
||||
|
||||
public PlugNicCommand(NicTO nic, String instanceName, VirtualMachine.Type vmtype, Map<String, String> details) {
|
||||
this.nic = nic;
|
||||
this.instanceName = instanceName;
|
||||
this.vmType = vmtype;
|
||||
this.details = details;
|
||||
}
|
||||
|
||||
public String getVmName() {
|
||||
return instanceName;
|
||||
}
|
||||
@ -53,4 +63,8 @@ public class PlugNicCommand extends Command {
|
||||
public VirtualMachine.Type getVMType() {
|
||||
return vmType;
|
||||
}
|
||||
|
||||
public Map<String, String> getDetails() {
|
||||
return this.details;
|
||||
}
|
||||
}
|
||||
|
||||
@ -3422,8 +3422,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
||||
final VMInstanceVO router = _vmDao.findById(vm.getId());
|
||||
if (router.getState() == State.Running) {
|
||||
try {
|
||||
final PlugNicCommand plugNicCmd = new PlugNicCommand(nic, vm.getName(), vm.getType());
|
||||
|
||||
final PlugNicCommand plugNicCmd = new PlugNicCommand(nic, vm.getName(), vm.getType(), vm.getDetails());
|
||||
final Commands cmds = new Commands(Command.OnError.Stop);
|
||||
cmds.addCommand("plugnic", plugNicCmd);
|
||||
_agentMgr.send(dest.getHost().getId(), cmds);
|
||||
|
||||
@ -916,8 +916,12 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
|
||||
return new PlugNicAnswer(cmd, false, "Unable to execute PlugNicCommand due to " + errMsg);
|
||||
}
|
||||
*/
|
||||
// TODO need a way to specify the control of NIC device type
|
||||
// Fallback to E1000 if no specific nicAdapter is passed
|
||||
VirtualEthernetCardType nicDeviceType = VirtualEthernetCardType.E1000;
|
||||
Map details = cmd.getDetails();
|
||||
if (details != null) {
|
||||
nicDeviceType = VirtualEthernetCardType.valueOf((String) details.get("nicAdapter"));
|
||||
}
|
||||
|
||||
// find a usable device number in VMware environment
|
||||
VirtualDevice[] nicDevices = vmMo.getNicDevices();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user