запускать пользовательскую команду оболочки хоста с помощью VMware SDK - PullRequest
0 голосов
/ 28 января 2019

Я ищу способ запуска настраиваемой команды оболочки на всех хостах ESXi, подключенных к vCenter, с помощью SDK веб-службы VMware, например, Pyvmomi

1 Ответ

0 голосов
/ 12 февраля 2019

Я вижу здесь 2 основных строительных блока:

  1. Вам необходимо убедиться, что SSH включен для удаленного доступа (он может быть отключен по умолчанию на сервере EXSi. Включение можетчерез SDK)

  2. Вам понадобится Python SSH-клиент для подключения через SSH и выполнения удаленных команд


IЯ являюсь автором пакета Python vmwc (высокоуровневый клиент VMware SDK на основе pyvmomi).Объединение его с библиотекой SSH, такой как paramiko, даст вам простое решение.

Установка

pip install vmwc paramiko 

Использование:

#!/usr/bin/env python

from vmwc import VMWareClient
import paramiko


def main():
    host = '192.168.1.1'
    username = '<username>'
    password = '<password>'
    remote_ssh_command = 'touch /tmp/hello-world' # Your remote command

    with VMWareClient(host, username, password) as client:
        client.enable_ssh()

        ssh = paramiko.SSHClient()
        ssh.connect(host, username=username, password=password)
        ssh.exec_command(remote_ssh_command)

        client.disable_ssh() # optional in case you want to close the ssh access


if __name__ == '__main__':
    main()
...