docs: def nodes(verbose=False):
      '''
      List all compute nodes
  
      verbose : boolean
          print additional information about the node
          e.g. platform version, hvm capable, ...
  
      CLI Example:
  
      .. code-block:: bash
  
          salt-run vmadm.nodes
          salt-run vmadm.nodes verbose=True
      '''
      ret = {} if verbose else []
      client = salt.client.get_local_client(__opts__['conf_file'])
  
      ## get list of nodes
      try:
          for cn in client.cmd_iter('G@virtual:physical and G@os:smartos',
                                    'grains.items', tgt_type='compound'):
              if not cn:
                  continue
              node = next(six.iterkeys(cn))
              if not isinstance(cn[node], dict) or \
                      'ret' not in cn[node] or \
                      not isinstance(cn[node]['ret'], dict):
                  continue
              if verbose:
                  ret[node] = {}
                  ret[node]['version'] = {}
                  ret[node]['version']['platform'] = cn[node]['ret']['osrelease']
                  if 'computenode_sdc_version' in cn[node]['ret']:
                      ret[node]['version']['sdc'] = cn[node]['ret']['computenode_sdc_version']
                  ret[node]['vms'] = {}
                  if 'computenode_vm_capable' in cn[node]['ret'] and \
                          cn[node]['ret']['computenode_vm_capable'] and \
                          'computenode_vm_hw_virt' in cn[node]['ret']:
                      ret[node]['vms']['hw_cap'] = cn[node]['ret']['computenode_vm_hw_virt']
                  else:
                      ret[node]['vms']['hw_cap'] = False
                  if 'computenode_vms_running' in cn[node]['ret']:
                      ret[node]['vms']['running'] = cn[node]['ret']['computenode_vms_running']
              else:
                  ret.append(node)
      except SaltClientError as client_error:
          return "{0}".format(client_error)
  
      if not verbose:
          ret.sort()
      return ret