Запускать пользовательскую команду оболочки хоста с помощью VMware SDK

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

1 ответ

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

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

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


Я являюсь автором пакета 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()
Другие вопросы по тегам