CLOUDSTACK-9647: NIC adapter type becomes e1000 , even after changing…#1810
CLOUDSTACK-9647: NIC adapter type becomes e1000 , even after changing…#1810karuturi merged 1 commit intoapache:4.9apache/cloudstack:4.9from
Conversation
… the global parameter "vmware.systemvm.nic.device.type" to vmxnet3 for VPC VR Added NicAdapter details in PlugNicCommmand.
|
Thanks @sudhansu7 good catch |
|
@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
|
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-316 |
|
@blueorangutan test centos7 vmware-55u3 |
|
@rhtyd a Trillian-Jenkins test job (centos7 mgmt + vmware-55u3) has been kicked to run smoke tests |
|
Trillian test result (tid-557)
|
|
@blueorangutan package |
|
@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
|
Packaging result: ✔centos6 ✔centos7 ✖debian. JID-335 |
|
@blueorangutan test centos7 vmware-55u3 |
|
@rhtyd a Trillian-Jenkins test job (centos7 mgmt + vmware-55u3) has been kicked to run smoke tests |
|
@blueorangutan test |
|
@rhtyd a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
|
Trillian test result (tid-609)
|
|
@blueorangutan package |
|
@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
|
Packaging result: ✔centos6 ✔centos7 ✖debian. JID-357 |
|
Trillian test result (tid-615)
|
|
@blueorangutan package |
|
@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
|
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-369 |
|
@blueorangutan test centos7 vmware-55u3 |
|
@rhtyd a Trillian-Jenkins test job (centos7 mgmt + vmware-55u3) has been kicked to run smoke tests |
|
Trillian test result (tid-639)
|
|
LGTM for code changes. |
|
I have tested this and LGTM for test. Following are the results : Before applying fix : After applying fix : |
| HypervisorGuru hvGuru = _hvGuruMgr.getGuru(profile.getHypervisorType()); | ||
| VirtualMachineTO vmTO = hvGuru.implement(profile); | ||
| if(vmTO.getDetails() != null){ | ||
| details = vmTO.getDetails(); |
There was a problem hiding this comment.
Should we pass the details irrespective of the hypervisor type?
|
@blueorangutan package |
|
@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
|
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-668 |
|
@blueorangutan test centos7 vmware-55u3 |
|
@rhtyd a Trillian-Jenkins test job (centos7 mgmt + vmware-55u3) has been kicked to run smoke tests |
|
@sudhansu7 can you check test failures? |
|
@blueorangutan test centos7 vmware-55u3 |
|
@borisstoyanov a Trillian-Jenkins test job (centos7 mgmt + vmware-55u3) has been kicked to run smoke tests |
|
Trillian test result (tid-1041)
|
|
failures in BVT are not related to this PR. |
borisstoyanov
left a comment
There was a problem hiding this comment.
LGTM, based on test results and code review
Issue:
NIC adapter type becomes e1000 , even after changing the global parameter "vmware.systemvm.nic.device.type" to vmxnet3.
Description
Repro steps:-
-> Set global parameter "vmware.systemvm.nic.device.type" to vmxnet3.
-> Created a VPC network and deployed a VM using the same network.
-> Checked the router details and found that for private network , it was showing nic adapter type as VMXNET3 and for other networks (public and guest) it was showing as E1000.
-> Rebooted the VPC network and checked it again, it was same as earlier.
/vmfs/volumes/3e5dffc5-9b91346e/r-2805-VM # grep virtualDev r-2805-VM.vmx
pciBridge4.virtualDev = "pcieRootPort"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge7.virtualDev = "pcieRootPort"
scsi0.virtualDev = "lsilogic"
ethernet0.virtualDev = "vmxnet3"
ethernet1.virtualDev = "e1000"
ethernet2.virtualDev = "e1000"
ethernet3.virtualDev = "e1000"
Root Cause:
While preparing PlugNicCommand for VPC Network, NIC adapter type is not used.
PlugNicCommand:
Code Snippet:
public class VpcVirtualNetworkApplianceManagerImpl extends VirtualNetworkApplianceManagerImpl implements VpcVirtualNetworkApplianceManager {
...
...
...
...
//3) PREPARE PLUG NIC COMMANDS
try {
//add VPC router to public networks
...
..
...
...
...
}
...
...
}
Solution:
Fetch and add NIC adapter type to PlugNicCommand.
Command After fix:
Before:
/vmfs/volumes/3e5dffc5-9b91346e/r-2805-VM # grep virtualDev r-2805-VM.vmx
pciBridge4.virtualDev = "pcieRootPort"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge7.virtualDev = "pcieRootPort"
scsi0.virtualDev = "lsilogic"
ethernet0.virtualDev = "vmxnet3"
ethernet1.virtualDev = "e1000"
ethernet2.virtualDev = "e1000"
ethernet3.virtualDev = "e1000"
After
/vmfs/volumes/3e5dffc5-9b91346e/r-2808-VM # grep virtualDev r-2808-VM.vmx
pciBridge4.virtualDev = "pcieRootPort"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge7.virtualDev = "pcieRootPort"
scsi0.virtualDev = "lsilogic"
ethernet0.virtualDev = "vmxnet3"
ethernet1.virtualDev = "vmxnet3"
ethernet2.virtualDev = "vmxnet3"
ethernet3.virtualDev = "vmxnet3"