更新:即使我尝试创建共享虚拟机并更改该虚拟机的位置,问题仍然存在。
我试图使用PySphere访问位于D:\VMs\CentOS-Backup\CentOS-Secondary-Server.vmx
的虚拟机时遇到困难。
你能帮我吗?
到目前为止我所做的只是:
from pysphere import VIServer
server = VIServer()
server.connect("127.0.0.1", "my_system_login", "my_system_password")
# prints 'VMware Workstation'
print server.get_server_type()
# prints '5.1'
print server.get_api_version()
# Exception
vm = server.get_vm_by_path(r"D:\VMs\CentOS-Backup\CentOS-Secondary-Server.vmx")
vm.power_on()
提到的例外是:
Traceback (most recent call last):
File "C:\Program Files (x86)\JetBrains\PyCharm 2.7\helpers\pydev\pydevd.py", line 1473, in <module>
debugger.run(setup['file'], None, None)
File "C:\Program Files (x86)\JetBrains\PyCharm 2.7\helpers\pydev\pydevd.py", line 1117, in run
pydev_imports.execfile(file, globals, locals) #execute the script
File "D:/Projects/PyUnitTesting/pyunittest/launcher.py", line 13, in <module>
vm = server.get_vm_by_path(r"D:\VMs\CentOS-Backup\CentOS-Secondary-Server.vmx")
File "C:\dev\Python27\lib\site-packages\pysphere\vi_server.py", line 291, in get_vm_by_path
FaultTypes.OBJECT_NOT_FOUND)
pysphere.resources.vi_exception.VIException: [Object Not Found]: Could not find a VM with path 'D:\VMs\CentOS-Backup\CentOS-Secondary-Server.vmx'
请注意,我也安装了 VIX API 。但是没有执行与系统PATH添加相关的任何特定操作。如果我真的需要这样做,你能给我一个暗示吗?
谢谢!
答案 0 :(得分:3)
我终于明白了!您需要确保共享VM。 VM-&GT; Manage-&GT;分享...
然后它们将显示在server.get_registered_vms()下,然后您可以使用get_vm_by_name。
答案 1 :(得分:1)
根据文档,我认为您不应该向VM提供原始文件路径。我认为有一个内部路径值:
http://code.google.com/p/pysphere/wiki/GettingStarted#Getting_VM_properties
他们的示例代码显示了这一点:
vm1 = server.get_vm_by_path("[DataStore1] Ubuntu/Ubuntu-10.vmx")