使用 pyVmomi 获取 ESX 列表和每个 ESX 的系统设置
Getting List of ESXs and system settings per ESX using pyVmomi
以下 esxcli 命令的并行 pyVmomi API 是什么:
esxcli system settings advanced list --option /DataMover/HardwareAcceleratedMove
esxcli system settings advanced list --option /DataMover/HardwareAcceleratedInit
esxcli system settings advanced list --option /VMFS3/HardwareAcceleratedLocking
esxcli system settings advanced list --option /VMFS3/EnableBlockDelete
esxcli storage nmp device list
我想获取驻留在特定数据中心的所有 ESX 的此信息
谢谢,
import atexit
from pyVim import connect
from pyVmomi import vmodl
from pyVmomi import vim
import tools.cli as cli
def print_host_info(host_machine):
"""
Print information for a particular host machine
"""
print host_machine.config.network.dnsConfig.hostName
print host_machine.config.product.version
for option in host_machine.config.option:
if option.key in ('VMFS3.UseATSForHBOnVMFS5','DataMover.HardwareAcceleratedInit','DataMover.HardwareAcceleratedMove','VMFS3.HardwareAcceleratedLocking','VMFS3.EnableBlockDelete') :
print option.key,option.value
def main():
"""
Simple command-line program for listing the hosts machines on a system.
"""
args = cli.get_args()
try:
service_instance = connect.SmartConnect(host=args.host,
user=args.user,
pwd=args.password,
port=int(args.port))
atexit.register(connect.Disconnect, service_instance)
content = service_instance.RetrieveContent()
container = content.rootFolder # starting point to look into
viewType = [vim.HostSystem] # object types to look for
recursive = True # whether we should look into it recursively
containerView = content.viewManager.CreateContainerView(
container, viewType, recursive)
children = containerView.view
for child in children:
print_host_info(child)
except vmodl.MethodFault as error:
print("Caught vmodl fault : " + error.msg)
return -1
return 0
# Start program
if __name__ == "__main__":
main()
以下 esxcli 命令的并行 pyVmomi API 是什么:
esxcli system settings advanced list --option /DataMover/HardwareAcceleratedMove
esxcli system settings advanced list --option /DataMover/HardwareAcceleratedInit
esxcli system settings advanced list --option /VMFS3/HardwareAcceleratedLocking
esxcli system settings advanced list --option /VMFS3/EnableBlockDelete
esxcli storage nmp device list
我想获取驻留在特定数据中心的所有 ESX 的此信息
谢谢,
import atexit
from pyVim import connect
from pyVmomi import vmodl
from pyVmomi import vim
import tools.cli as cli
def print_host_info(host_machine):
"""
Print information for a particular host machine
"""
print host_machine.config.network.dnsConfig.hostName
print host_machine.config.product.version
for option in host_machine.config.option:
if option.key in ('VMFS3.UseATSForHBOnVMFS5','DataMover.HardwareAcceleratedInit','DataMover.HardwareAcceleratedMove','VMFS3.HardwareAcceleratedLocking','VMFS3.EnableBlockDelete') :
print option.key,option.value
def main():
"""
Simple command-line program for listing the hosts machines on a system.
"""
args = cli.get_args()
try:
service_instance = connect.SmartConnect(host=args.host,
user=args.user,
pwd=args.password,
port=int(args.port))
atexit.register(connect.Disconnect, service_instance)
content = service_instance.RetrieveContent()
container = content.rootFolder # starting point to look into
viewType = [vim.HostSystem] # object types to look for
recursive = True # whether we should look into it recursively
containerView = content.viewManager.CreateContainerView(
container, viewType, recursive)
children = containerView.view
for child in children:
print_host_info(child)
except vmodl.MethodFault as error:
print("Caught vmodl fault : " + error.msg)
return -1
return 0
# Start program
if __name__ == "__main__":
main()