code: def _get_unscheduled_routers(self, plugin, context):
          
          if NEUTRON_VERSION.version[0] <= NEUTRON_NEWTON_VERSION.version[0]:
              context, plugin = plugin, context
          # TODO(gongysh) consider the disabled agent's router
          no_agent_binding = ~sql.exists().where(
              bc.Router.id == bc.rb_model.RouterL3AgentBinding.router_id)
          # Modified to only include routers of network namespace type
          ns_routertype_id = plugin.get_namespace_router_type_id(context)
          query = context.session.query(bc.Router.id)
          query = query.join(l3_models.RouterHostingDeviceBinding)
          query = query.filter(
              l3_models.RouterHostingDeviceBinding.router_type_id ==
              ns_routertype_id, no_agent_binding)
          unscheduled_router_ids = [router_id_[0] for router_id_ in query]
          if unscheduled_router_ids:
              return plugin.get_routers(
                  context, filters={'id': unscheduled_router_ids})
          return []
docs: Get routers with no agent binding.