#!/usr/bin/python """Test program for Xen-API direct PCI device attachment""" SERVER_URL='http://localhost:9363' USER='me' PASSWORD='mypassword' VM_NAME='mydomain' PCI_NAME='0000:0c:00.1' import sys sys.path.append("/usr/lib/python") from xen.xm.XenAPI import Session def main(argv = sys.argv): server = Session(SERVER_URL) server.login_with_password(USER, PASSWORD) # get VM vm_refs = server.xenapi.host.get_resident_VMs( server.xenapi.session.get_this_host(server.getSession())) for vm_ref in vm_refs: vm_record = server.xenapi.VM.get_record(vm_ref) if vm_record['name_label'] == VM_NAME: break # get PPCI ppci_refs = server.xenapi.host.get_PPCIs( server.xenapi.session.get_this_host(server.getSession())) for ppci_ref in ppci_refs: ppci_record = server.xenapi.PPCI.get_record(ppci_ref) if ppci_record['name'] == PCI_NAME: break # create DPCI dpci_record = { 'VM': vm_ref, 'PPCI': ppci_ref, 'hotplug_slot': 0, } dpci_ref = server.xenapi.DPCI.create(dpci_record) server.logout() if __name__ == "__main__": main()