2017-03-22 1 views
0

Was die parallel pyVmomi API für die folgenden esxcli-Befehle sind:Erste Liste der ESxS und Systemeinstellungen pro ESX mit pyVmomi

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 

Ich möchte diese Informationen für alle ESxS erhalten, die

in einem bestimmten Rechenzentrum befindet

Danke,

Antwort

0
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() 
Verwandte Themen