docs: def get_cluster_interfaces(cluster, extra_cond=lambda nic: True):
      """Get the network interfaces names corresponding to a criteria.
  
      Note that the cluster is passed (not the individual node names), thus it is
      assumed that all nodes in a cluster have the same interface names same
      configuration. In addition to ``extra_cond``, only the mountable and
      Ehernet interfaces are returned.
  
      Args:
          cluster(str): the cluster to consider
          extra_cond(lambda): boolean lambda that takes the nic(dict) as
              parameter
      """
      nics = get_nics(cluster)
      # NOTE(msimonin): Since 05/18 nics on g5k nodes have predictable names but
      # the api description keep the legacy name (device key) and the new
      # predictable name (key name).  The legacy names is still used for api
      # request to the vlan endpoint This should be fixed in
      # https://intranet.grid5000.fr/bugzilla/show_bug.cgi?id=9272
      # When its fixed we should be able to only use the new predictable name.
      nics = [(nic['device'], nic['name']) for nic in nics
              if nic['mountable']
              and nic['interface'] == 'Ethernet'
              and not nic['management']
              and extra_cond(nic)]
      nics = sorted(nics)
      return nics