code: func (cs *CSCloud) verifyHosts(nodes []*v1.Node) ([]string, string, error) {
  	hostNames := map[string]bool{}
  	for _, node := range nodes {
  		hostNames[node.Name] = true
  	}
  
  	p := cs.client.VirtualMachine.NewListVirtualMachinesParams()
  	p.SetListall(true)
  
  	if cs.projectID != "" {
  		p.SetProjectid(cs.projectID)
  	}
  
  	l, err := cs.client.VirtualMachine.ListVirtualMachines(p)
  	if err != nil {
  		return nil, "", fmt.Errorf("error retrieving list of hosts: %v", err)
  	}
  
  	var hostIDs []string
  	var networkID string
  
  	// Check if the virtual machine is in the hosts slice, then add the corresponding ID.
  	for _, vm := range l.VirtualMachines {
  		if hostNames[vm.Name] {
  			if networkID != "" && networkID != vm.Nic[0].Networkid {
  				return nil, "", fmt.Errorf("found hosts that belong to different networks")
  			}
  
  			networkID = vm.Nic[0].Networkid
  			hostIDs = append(hostIDs, vm.Id)
  		}
  	}
  
  	return hostIDs, networkID, nil
  }
docs: // verifyHosts verifies if all hosts belong to the same network, and returns the host ID's and network ID.