【问题标题】:Is there a way to execute shell commands on VMWare server via PyVMomi有没有办法通过 PyVMomi 在 VMWare 服务器上执行 shell 命令
【发布时间】:2014-03-31 06:18:44
【问题描述】:

我希望充分利用最近引入的 pyvmomi 模块来进一步管理,我想删除 ssh 的使用并通过 API 转换实用程序调用;这可能吗?

【问题讨论】:

    标签: python vmware-server


    【解决方案1】:

    抱歉回复慢!我发现你的 Q 我自己正在寻找一些关于这方面的信息。在 vSphere 5 及更高版本中,只要您是系统上的注册用户(并且可以遵守身份验证机制),就可以运行命令。

    如果你是 Pythonista,你的生活会变得很轻松!有一个漂亮的模块叫做 Pyvmomi - https://github.com/vmware/pyvmomi

    这允许与 vSphere 的 API 轻松通信。

    步骤如下:

    • 创建连接 (SmartConnect),明智的做法是使用 atexit 进行破坏!
    • 从 API 获取内容
    • 找到要在其上运行的 VM
    • 创建/准备命令
    • 触发命令
    • 验证进程是否存在并取回数据

    https://github.com/vmware/pyvmomi-community-samples 的社区样本页面中有许多样本会弄湿你的胃!

    我曾尝试在较低版本的 vSphere 中获得此功能,但发现我真的不得不滥用控制台 API - 遗憾的是,代码现在已经变得适当,所以我无法分享 :-(

    自动化快乐! //P

    【讨论】:

    • 你能再具体一点吗? “创建/准备命令”是哪个调用?谢谢
    • 嗨@Johnny - 我刚刚看到这个 - 如果你看看github.com/ITV/vSPLAT/blob/master/vSphere.py - 第 522 行 - 这个项目是我为了帮助自动化一些 VM 部署而拼凑起来的。第 522 行包含一个名为 run_a_command 的函数,它有望向您展示如何准备变量并设置它们以通过 API 在 VM 上运行命令。如果您需要更多信息,请联系我们 :-)
    • 谁能帮我在venter vm server,python函数中触发类似“ls -a”的命令
    猜你喜欢
    • 1970-01-01
    • 2021-08-30
    • 2013-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    相关资源
    最近更新 更多