We use service.yaml in Puppet as a top-level definition of all of our major services, including their discovery status and other attributes like monitoring and paging. In the sre.discovery.datacentre cookbook we have a hand-maintained list of services that we should not switch over for various reasons.
This list should probably be moved out of the cookbook to somewhere more clearly maintained, and also in a manner that service owners can clearly understand and control themselves.
To do this we will need to
- Add support for the attribute to service.yaml
- Copy the existing excluded services over, along with the comments
- Add support for the attribute to spicerack.service.ServiceDiscoveryRecord
- Replace EXCLUDED_SERVICES in datacenter.py