By default, our promises try to read /var/rudder/cfengine-community/policy_server.dat to determine the server. However, when this code is parsed through cf-promises -c (as cf-serverd runs it), the class based system isn't properly taken into account, leading to cf-promises running a reverse DNS lookup on "rudder".
If this name doesn't exist in DNS, there can be a long timeout. This causes cf-promises to be slow, causing in turn cf-agent runs to take too long, and actually stopping cf-serverd from serving requests during this period.