def determine_helper_hostname(session, logger, config, dbswitch): """Try to figure out a useful helper from the mappings. """ helper_name = config.get("broker", "poll_helper_service") if not helper_name: # pragma: no cover return helper_service = Service.get_unique(session, helper_name, compel=InternalError) mapped_instances = ServiceInstance.get_mapped_instance_cache( dbpersonality=None, dblocation=dbswitch.location, dbservices=[helper_service]) for dbsi in mapped_instances.get(helper_service, []): if dbsi.server_hosts: # Poor man's load balancing... jump = choice(dbsi.server_hosts).fqdn logger.client_info("Using jump host {0} from {1:l} to run CheckNet " "for {2:l}.".format(jump, dbsi, dbswitch)) return jump logger.client_info("No jump host for %s, calling CheckNet from %s." % (dbswitch, config.get("broker", "hostname"))) return None
def cache_service_maps(self, dbservices): self.service_maps = ServiceInstance.get_mapped_instance_cache( self.personality, self.location, dbservices, self.network)
def cache_service_maps(self, dbservices): self.service_maps = ServiceInstance.get_mapped_instance_cache( self.personality, self.location, dbservices, self.network)