Как управлять виртуальной машиной VMware vSphere/ESXi с помощью Python и получить экран виртуальной машины?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как управлять виртуальной машиной VMware vSphere/ESXi с помощью Python и получить экран виртуальной машины?

Сообщение Anonymous »

Я пытаюсь управлять виртуальной машиной (и получать содержимое экрана) с помощью Python, размещенного на VMware vSphere/ESXi. Как это сделать?
Я не нашел подходящего способа сделать это и уже что-то пробовал. Как мне это сделать правильно?
Я уже пробовал получить билет с помощью vm.AcquireTicket('webmks') и патчил VNCDOTOOL для подключения к серверу веб-сокетов с помощью autobahn. (вероятно, неправильный подход):
# monkeypatch vncdotool for websockets
__old_vncdotool_factory_connect = vncdotool.client.factory_connect
def __vncdotool_factory_connect(factory: vncdotool.api.VNCDoToolFactory, url: vim.VirtualMachine.Ticket, *_):

factory = autobahn.twisted.WrappingWebSocketClientFactory(factory, url.url, reactor=vncdotool.client.reactor)
__old_vncdotool_factory_connect(factory, url.host, url.port, socket.AF_INET)

vncdotool.client.factory_connect = __vncdotool_factory_connect
vncdotool.api.factory_connect = __vncdotool_factory_connect

def __vncdotool_parse_server(server):
logger.debug("Received server parse request with ticket %s", server)
return (socket.AF_INET, server, -1)

vncdotool.command.parse_server = __vncdotool_parse_server
# ...
ticket = get_webmks_ticket(self.vSphere, self.vm)
self.client = vncdotool.api.connect(ticket)
# Some time later:
self.client.keyPress('enter')

Это не работает — когда я вызываю любую функцию VNCDOTOOL (например, self.client.keyPress('enter') или self.client.captureScreen('test. png')), поток зависает, и действие (в данном случае нажатие клавиши ввода и захват экрана) не происходит. Я ожидал, что он выполнит действие. Я также получаю это в журналах:
[2024-09-28 12:30:59,201] [twisted] [_legacy.py:147] INFO: Starting factory
[2024-09-28 12:30:59,201] [twisted] [_legacy.py:147] INFO: Starting factory
[2024-09-28 12:30:59,204] [twisted] [_legacy.py:147] INFO: Stopping factory
[2024-09-28 12:30:59,204] [twisted] [_legacy.py:147] INFO: Stopping factory


Подробнее здесь: https://stackoverflow.com/questions/790 ... get-the-vm
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»