code: def _create_ucsm_host_to_service_profile_mapping(self):
          
          ucsm_ips = list(CONF.ml2_cisco_ucsm.ucsms)
          for ucsm_ip in ucsm_ips:
              with self.ucsm_connect_disconnect(ucsm_ip) as handle:
                  try:
                      sp_list_temp = handle.ConfigResolveClass('lsServer', None,
                          inHierarchical=False)
                      if sp_list_temp and sp_list_temp.OutConfigs is not None:
                          sp_list = sp_list_temp.OutConfigs.GetChild() or []
                          for sp in sp_list:
                              if sp.PnDn:
                                  server_name = self._get_server_name(handle, sp,
                                      ucsm_ip)
                                  if (server_name and not sp.OperSrcTemplName):
                                      LOG.debug('Server %s info retrieved '
                                          'from UCSM %s', server_name, ucsm_ip)
                                      key = (ucsm_ip, server_name)
                                      self.ucsm_sp_dict[key] = str(sp.Dn)
                                      self.ucsm_host_dict[server_name] = ucsm_ip
                  except Exception as e:
                      # Raise a Neutron exception. Include a description of
                      # the original exception.
                      raise cexc.UcsmConfigReadFailed(ucsm_ip=ucsm_ip, exc=e)
docs: Reads list of Service profiles and finds associated Server.