4

更新:共有VMを作成し、そのVMの場所を変更しようとしても、問題は引き続き発生します。

PySphereD:\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'

VIXAPIもインストールしたことに注意してください。ただし、システムPATHの追加に関連する特定のアクションは実行しませんでした。私が本当にこれをする必要があるかどうか私にヒントを教えてもらえますか?

ありがとう!

4

2 に答える 2

3

私はついにそれを理解しました!VM が共有されていることを確認する必要があります。VM->管理->共有...

次に、server.get_registered_vms() の下に表示され、get_vm_by_name を使用できます。

于 2013-07-19T23:41:33.190 に答える
1

ドキュメントによると、生のファイル パスを VM に提供する必要はないと思います。内部パス値があると思います:

http://code.google.com/p/pysphere/wiki/GettingStarted#Getting_VM_properties

  1. get_vm_by_path: 仮想マシン構成ファイルのパスで仮想マシンを取得します。VMWare VI クライアント経由でこの値を取得するには:
    1. リソース ツリーから vm アイコンを右クリックし、[設定の編集...] を選択します。
    2. 「オプション」タブに移動します。
    3. 値は「仮想マシン構成ファイル」フィールドにあります

彼らのサンプルコードはこれを示しています:

vm1 = server.get_vm_by_path("[DataStore1] Ubuntu/Ubuntu-10.vmx")
于 2013-03-18T19:05:33.933 に答える