Hi, Dear Mr/Mrs.

I have trouble in connecting to a VM ESXi server with python.

I am a developer using libvirt to control remote VM ESXi with python language. But I am not able to connect to a remote VM ESXi server.

I make my try to solve this issue:

1: I use the function libvirt.Open() to open the remote VM ESXi Server, but I don’t know how to input the password. It seems that there is no parameter for password input.

2: I use “virsh connect ---“. It is succeed when it is executed on locale machine manual, but failed when I invoke this command in python environment. I use “subprocess.Popen” to execute the command “virsh”, but this function would be hung on after command “communicate” executed.

-bash-4.1# python

Python 2.6.6 (r266:84292, May 20 2011, 16:42:11)

[GCC 4.4.5 20110214 (Red Hat 4.4.5-6)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> from subprocess import Popen,PIPE,STDOUT

>>> command=['virsh', '-c', 'esx://192.168.58.144/?no_verify=1','list', '--all']

>>> p=Popen(command, stdin=PIPE,stdout=PIPE, stderr=STDOUT)

>>> output = p.communicate()[0]

How to fix it?

 

Thanks for help!

Best regards!