"""
DISPATCH_TABLE = {
constants.CONFD_REQ_PING: querylib.PingQuery,
- constants.CONFD_REQ_NODE_ROLE_BYNAME: querylib.ConfdQuery,
+ constants.CONFD_REQ_NODE_ROLE_BYNAME: querylib.NodeRoleQuery,
constants.CONFD_REQ_NODE_PIP_BY_INSTANCE_IP: querylib.ConfdQuery,
}
"""
self.reader = reader
self.hmac_key = utils.ReadFile(constants.HMAC_CLUSTER_KEY)
+ assert \
+ not constants.CONFD_REQS.symmetric_difference(self.DISPATCH_TABLE), \
+ "DISPATCH_TABLE is unaligned with CONFD_REQS"
def ExecQuery(self, payload_in, ip, port):
"""Process a single UDP request from a client.
msg = "missing requested salt"
raise errors.ConfdRequestError(msg)
- if request.type not in self.DISPATCH_TABLE:
- msg = "Valid request %d not in DISPATCH_TABLE" % request.type
- raise errors.ProgrammerError(msg)
-
query_object = self.DISPATCH_TABLE[request.type](self.reader)
status, answer = query_object.Exec(request.query)
reply = objects.ConfdReply(