Назад | Перейти на главную страницу

Доступ к серверу vSphere ESX / ESXi через python

Я хотел бы автоматически получить список или массив виртуальных машин (MAC-адрес / имя / пул ресурсов), которые в настоящее время созданы на сервере vSphere, и использовать его в приложении Python. Может кто-нибудь предложить хороший подход или решение для этого? Я новичок в платформе vSphere. Спасибо.

Вам, вероятно, стоит взглянуть на VMWare VIX API:

http://www.vmware.com/support/developer/vix-api/

К сожалению, у него нет поддержки Python. Я не знаю, можно ли заставить python использовать поддержку C? Вы можете использовать Perl или Powershell

Если это должен быть python, тогда есть pyvix:

http://sourceforge.net/projects/pyvix/

Никогда не использовал и не знаю, работает ли.

Я недавно выпустил pysphere: http://code.google.com/p/pysphere/

В частности, для вашего случая

from pysphere import *
server = VIServer()
server.connect("your.esx.or.vcenter.hostname", "user", "password")
vms = server.get_registered_vms()
vm = server.get_vm_by_path(vms[0])
print vm.get_property("mac_address")
print vm.get_property("ip_address")
print vm.get_property("name")
print vm.get_resource_pool_name()

Взгляните на pyVmomi проект, который является официальным SDK Python для VMware vSphere API, который позволяет управлять ESX, ESXi и vCenter.

Более того, pyvmomi-сообщества-образцы репозиторий содержит множество примеров.

Пришло время, чтобы Python получил привязки vSphere / VMware.

Я запустил API поверх пены. Возможно, вы захотите подписаться на мой проект на BitBucket (или присоединиться к нему):

http://jkinred.bitbucket.org/psphere/

Я новичок в Python, но, как минимум, он покажет вам, как использовать пену для общения с SDK веб-сервисов.