0

Python 2.7.6 の使用

OVF から VM を展開し、その上に SRIOV ネットワーク デバイスを構成する機能を探しています (vsphere Web UI を使用するのと同様 -> ネットワーク アダプターの追加 -> ネットワーク アダプターの種類を SRIOV に変更します)。これには 2 つのことが必要です。方法が見つかりませんでした:

1) ESXi ホスト自体にクエリを実行し、SRIOV をサポートしている NIC と、それらが公開している仮想機能の数を把握します (おそらく vCenter にクエリを実行します)。

2) このタイプの SRIOV ネットワーク アダプターを使用して vm 自体を構成します (OVF からデプロイされた後)。

git サンプルと vsphere sdk のドキュメントを調べましたが、これを行う方法が見つかりませんでした。また、pyVmomi に関するドキュメントはほとんどないようです。

ありがとう

4

1 に答える 1

2

わかりました、私自身の質問に答えるために(将来の世代のために)

devices = []
network_name = "Data"
vnic_label = "pyvmomi sriov nic1"

content = si.content
vm = get_obj(content, [vim.VirtualMachine], vm_name)
nic = vim.vm.device.VirtualDeviceSpec()

# VM device
nic.operation = vim.vm.device.VirtualDeviceSpec.Operation.add
nic.device = vim.vm.device.VirtualSriovEthernetCard()
nic.device.addressType = 'assigned'
nic.device.key = 13016
nic.device.deviceInfo = vim.Description()
nic.device.deviceInfo.label = vnic_label
nic.device.deviceInfo.summary = network_name
nic.device.backing = vim.vm.device.VirtualEthernetCard.NetworkBackingInfo()
nic.device.backing.network = get_obj(content, [vim.Network], network_name)
nic.device.backing.deviceName = network_name
nic.device.backing.useAutoDetect = False
nic.device.connectable = vim.vm.device.VirtualDevice.ConnectInfo()
nic.device.connectable.startConnected = True
nic.device.connectable.allowGuestControl = True

nic.device.sriovBacking = vim.vm.device.VirtualSriovEthernetCard.SriovBackingInfo()
nic.device.sriovBacking.physicalFunctionBacking = vim.vm.device.VirtualPCIPassthrough.DeviceBackingInfo()
nic.device.sriovBacking.physicalFunctionBacking.id = '84:00.1'
nic.device.sriovBacking.virtualFunctionBacking = vim.vm.device.VirtualPCIPassthrough.DeviceBackingInfo()
nic.device.sriovBacking.virtualFunctionBacking.id = '84:11.1'

devices.append(nic)

vmconf = vim.vm.ConfigSpec(deviceChange=devices)
task = vm.ReconfigVM_Task(vmconf)
于 2015-05-17T15:19:55.927 に答える