如何解决无法使用生成的 Python 代码在 vSphere 服务器上打开 DRS
from pyvmomi import vim
spec = vim.cluster.ConfigSpecEx()
spec.drsConfig = vim.cluster.DrsConfigInfo()
spec.drsConfig.defaultVmBehavior = "fullyAutomated"
spec.drsConfig.scaleDescendantsShares = 'disabled'
spec.drsConfig.vmotionRate = 1
spec.drsConfig.enabled = True
spec.drsConfig.enableVmBehaviorOverrides = True
spec_drsConfig_option_0 = vim.option.OptionValue()
spec_drsConfig_option_0.value = '1'
spec_drsConfig_option_0.key = 'TryBalanceVmsPerHost'
spec_drsConfig_option_1 = vim.option.OptionValue()
spec_drsConfig_option_1.key = 'MaxVcpusPerCore'
spec.drsConfig.option = [spec_drsConfig_option_0,spec_drsConfig_option_1]
spec.proactiveDrsConfig = vim.cluster.ProactiveDrsConfigInfo()
spec.proactiveDrsConfig.enabled = True
spec.dpmConfig = vim.cluster.DpmConfigInfo()
spec.dpmConfig.hostPowerActionRate = 3
spec.dpmConfig.enabled = False
modify = True
managedobject.ReconfigureComputeResource_Task(spec,modify) # ClusterComputeResource-domain-c8
Error: C:\python>python drsTestThing.py
Traceback (most recent call last):
File "C:\python\drsTestThing.py",line 38,in <module>
managedobject.ReconfigureComputeResource_Task(spec,modify) # ClusterComputeResource-domain-c8
NameError: name 'managedobject' is not defined
到目前为止,我根据这个https://vdc-download.vmware.com/vmwb-repository/dcr-public/da47f910-60ac-438b-8b9b-6122f4d14524/16b7274a-bf8b-4b4c-a05e-746f2aa93c8c/doc/vim.ComputeResource.html给出了确定ReconfigureComputeResource_Task函数的返回是一个Task对象,并且它必须被一个集群对象调用。
我的问题是我不明白如何制作集群对象以及如何连接到 vSphere 并更改集群的配置。
目前我正在使用来自 pyVim 库的 SmartConnect 连接到主机。我也有这个与 powerCLI 一起工作,但 connect-vi 服务器方法挂起,所以我想用 python 完成这个任务。
解决方法
看起来您从未将集群(或 ClusterComputeResource)建立为 managedObject
变量。这应该在创建 spec
变量之前完成,但可能在代码捕获输出中遗漏了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。