docs: def get_roles_in_node(node, recursive=False, depth=0):
      """Returns a list of roles found in the run_list of a node
      * recursive: True feches roles recursively
      * depth: Keeps track of recursion depth
  
      """
      LIMIT = 5
      roles = []
      for elem in node.get('run_list', []):
          if elem.startswith("role"):
              role = elem.split('[')[1].split(']')[0]
              if role not in roles:
                  roles.append(role)
                  if recursive and depth <= LIMIT:
                      roles.extend(get_roles_in_node(_get_role(role),
                                                     recursive=True,
                                                     depth=depth + 1))
      return list(set(roles))