You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by wi...@apache.org on 2015/04/15 10:05:28 UTC
[28/53] [abbrv] git commit: updated refs/heads/reporter to 5c99784
CLOUDSTACK-7593: allow nic type to be fetched from vm's details
(cherry picked from commit 43db75c319b425f3b39770d556df59333921bf92)
Signed-off-by: Rohit Yadav <ro...@shapeblue.com>
Conflicts:
engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/37820e15
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/37820e15
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/37820e15
Branch: refs/heads/reporter
Commit: 37820e15f2ac5bb4222cd2f7ef5da63e97d5de8a
Parents: c158cff
Author: Rohit Yadav <ro...@shapeblue.com>
Authored: Mon Apr 13 14:25:34 2015 +0530
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Mon Apr 13 15:47:03 2015 +0530
----------------------------------------------------------------------
core/src/com/cloud/agent/api/PlugNicCommand.java | 14 ++++++++++++++
.../src/com/cloud/vm/VirtualMachineManagerImpl.java | 3 +--
.../hypervisor/vmware/resource/VmwareResource.java | 6 +++++-
3 files changed, 20 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/37820e15/core/src/com/cloud/agent/api/PlugNicCommand.java
----------------------------------------------------------------------
diff --git a/core/src/com/cloud/agent/api/PlugNicCommand.java b/core/src/com/cloud/agent/api/PlugNicCommand.java
index e68931d..322b755 100644
--- a/core/src/com/cloud/agent/api/PlugNicCommand.java
+++ b/core/src/com/cloud/agent/api/PlugNicCommand.java
@@ -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;
+ }
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/37820e15/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
----------------------------------------------------------------------
diff --git a/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java b/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
index 3426a0a..f6280c2 100644
--- a/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
+++ b/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
@@ -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);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/37820e15/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
index f90a666..07815ee 100644
--- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
+++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
@@ -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();