diff --git a/fabfile/tasks/vcenter_prov.py b/fabfile/tasks/vcenter_prov.py index 11f287f4e..1f54ad0e7 100755 --- a/fabfile/tasks/vcenter_prov.py +++ b/fabfile/tasks/vcenter_prov.py @@ -170,7 +170,7 @@ def add_sr_iov_nics(self, si, esxi_info, host, dv_port_name, vm_name): if out.failed: raise Exception("Unable to add sriov interface for physical nic %s on esxi host %s" %(sr_iov_nic, ip)) esxi_version_info = str(out) - esxi_version = esxi_version_info.split()[2] + esxi_version = esxi_version_info.split()[2][:3] cmd = "vmkchdev -l | grep %s" %sr_iov_nic out = run(cmd) if out.failed: @@ -179,7 +179,7 @@ def add_sr_iov_nics(self, si, esxi_info, host, dv_port_name, vm_name): if len(nic_info) == 0: raise Exception("Unable to add sriov interface for physical nic %s on esxi host %s" %(sr_iov_nic, ip)) pci_id = nic_info.split()[0] - if (esxi_version == '5.5.0'): + if (esxi_version == '5.5'): pci_id = pci_id[5:] devices = [] nicspec = self.pyVmomi.vim.vm.device.VirtualDeviceSpec() diff --git a/fabfile/tasks/vmware.py b/fabfile/tasks/vmware.py index b29c304f9..c732c9675 100644 --- a/fabfile/tasks/vmware.py +++ b/fabfile/tasks/vmware.py @@ -65,6 +65,19 @@ def create_vmx (esxi_host, vm_name): vm_mac = esxi_host['contrail_vm']['mac'] assert vm_mac, "MAC address for contrail-compute-vm must be specified" + cmd = "vmware -v" + out = run(cmd) + if out.failed: + raise Exception("Unable to get the vmware version") + esxi_version_info = str(out) + esxi_version = esxi_version_info.split()[2][:3] + if (esxi_version == '5.5'): + hw_version = 10 + elif (esxi_version == '6.0'): + hw_version = 11 + else: + hw_version = 9 + if mode is 'vcenter': eth0_type = "vmxnet3" ext_params = compute_vmx_template.vcenter_ext_template @@ -77,6 +90,7 @@ def create_vmx (esxi_host, vm_name): ext_params += data_intf template_vals = { '__vm_name__' : vm_name, + '__hw_version__' : hw_version, '__vm_mac__' : vm_mac, '__fab_pg__' : fab_pg, '__eth0_type__' : eth0_type, diff --git a/fabfile/templates/compute_vmx_template.py b/fabfile/templates/compute_vmx_template.py index 4906d1f94..875872615 100644 --- a/fabfile/templates/compute_vmx_template.py +++ b/fabfile/templates/compute_vmx_template.py @@ -3,7 +3,7 @@ template = string.Template( '''.encoding = "UTF-8" config.version = "8" -virtualHW.version = "10" +virtualHW.version = "$__hw_version__" vmci0.present = "TRUE" hpet0.present = "TRUE" nvram = "$__vm_name__.nvram"