The existing OpenDaylight service deployment model assumes symmetric clusters, where all services are activated on all nodes in the cluster. However, many services require that there is a single active service instance per cluster. We call such services 'singleton services'. Examples of singleton services are global MD-SAL RPC services, services that use centralized data processing, or the OpenFlow Topology Manager, which needs to interact with all OF switches connected to a clustered controller and determine how the switches are interconnected. Developers of singleton services must create logic that determines the active service instance, manages service failovers and ensures that a service instance always runs in the surviving partition of a cluster. This logic must interact with the Entity Ownership Service (EOS), and it is not easy to implement and debug. Moreover, each developer of an ODL-based singleton service has to design and implement essentially the same functionality, each with its own behavior, engineering and issues. The Cluster Singleton Service is intended to abstract this funtionality into a simple-to-use service that can be used by all developers of ODL-based singleton services.