Запускать пользовательскую команду оболочки хоста с помощью VMware SDK
Я ищу способ запуска настраиваемой команды оболочки на всех хостах ESXi, подключенных к vCenter, с помощью SDK веб-службы VMware, например, Pyvmomi.
1 ответ
Я вижу здесь 2 основных строительных блока:
Необходимо убедиться, что SSH включен для удаленного доступа (он может быть отключен по умолчанию на сервере EXSi. Включение может быть выполнено через SDK)
Вам понадобится 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()