code: def _collect_node_profiles(self):
          
          bm_client = self.app.client_manager.rdomanager_oscplugin.baremetal()
  
          # map of profile capability -> [node_uuid, ...]
          profile_map = collections.defaultdict(list)
  
          for node in bm_client.node.list(maintenance=False):
              node = bm_client.node.get(node.uuid)
              profiles = re.findall(r'profile:(.*?)(?:,|$)',
                                    node.properties.get('capabilities', ''))
              if not profiles:
                  profile_map[None].append(node.uuid)
              for p in profiles:
                  profile_map[p].append(node.uuid)
  
          return dict(profile_map)
docs: Gather a map of profile -> [node_uuid] for ironic boot profiles