예제 #1
0
 def generate(self):
     config_dict = {}
     for topo_id, as_topo in self.args.topo_dicts.items():
         ele_dict = defaultdict(list)
         for br_id, br_ele in as_topo["border_routers"].items():
             a = prom_addr(br_ele["internal_addr"], DEFAULT_BR_PROM_PORT)
             ele_dict["BorderRouters"].append(a)
         for elem_id, elem in as_topo["control_service"].items():
             a = prom_addr(elem["addr"], CS_PROM_PORT)
             ele_dict["ControlService"].append(a)
         if self.args.docker:
             host_dispatcher = prom_addr_dispatcher(self.args.docker,
                                                    topo_id,
                                                    self.args.networks,
                                                    DISP_PROM_PORT, "")
             br_dispatcher = prom_addr_dispatcher(self.args.docker, topo_id,
                                                  self.args.networks,
                                                  DISP_PROM_PORT, "br")
             ele_dict["Dispatcher"] = [host_dispatcher, br_dispatcher]
         sd_prom_addr = '[%s]:%d' % (sciond_ip(
             self.args.docker, topo_id,
             self.args.networks), SCIOND_PROM_PORT)
         ele_dict["Sciond"].append(sd_prom_addr)
         config_dict[topo_id] = ele_dict
     self._write_config_files(config_dict)
     self._write_dc_file()
     self._write_disp_file()
예제 #2
0
 def generate(self):
     config_dict = {}
     for topo_id, as_topo in self.args.topo_dicts.items():
         ele_dict = defaultdict(list)
         for br_id, br_ele in as_topo["BorderRouters"].items():
             ele_dict["BorderRouters"].append(prom_addr_br(br_id, br_ele, DEFAULT_BR_PROM_PORT))
         for elem_id, elem in as_topo["BeaconService"].items():
             prom_addr = prom_addr_infra(self.args.docker, elem_id, elem, BS_PROM_PORT)
             ele_dict["BeaconService"].append(prom_addr)
         for elem_id, elem in as_topo["PathService"].items():
             prom_addr = prom_addr_infra(self.args.docker, elem_id, elem, PS_PROM_PORT)
             ele_dict["PathService"].append(prom_addr)
         for elem_id, elem in as_topo["CertificateService"].items():
             prom_addr = prom_addr_infra(self.args.docker, elem_id, elem, CS_PROM_PORT)
             ele_dict["CertificateService"].append(prom_addr)
         if self.args.docker:
             host_dispatcher = prom_addr_dispatcher(self.args.docker, topo_id,
                                                    self.args.networks, DISP_PROM_PORT, "")
             br_dispatcher = prom_addr_dispatcher(self.args.docker, topo_id,
                                                  self.args.networks, DISP_PROM_PORT, "br")
             ele_dict["Dispatcher"] = [host_dispatcher, br_dispatcher]
         sd_prom_addr = prom_addr_sciond(self.args.docker, topo_id,
                                         self.args.networks, SCIOND_PROM_PORT)
         ele_dict["Sciond"].append(sd_prom_addr)
         config_dict[topo_id] = ele_dict
     self._write_config_files(config_dict)
     self._write_dc_file()
     self._write_disp_file()
예제 #3
0
파일: go.py 프로젝트: shitz/scion
 def _build_disp_conf(self, name, topo_id=None):
     prometheus_addr = prom_addr_dispatcher(self.args.docker, topo_id,
                                            self.args.networks,
                                            DISP_PROM_PORT, name)
     api_addr = prom_addr_dispatcher(self.args.docker, topo_id,
                                     self.args.networks,
                                     DISP_PROM_PORT + 700, name)
     return {
         'dispatcher': {
             'id': name,
         },
         'log': self._log_entry(name),
         'metrics': {
             'prometheus': prometheus_addr,
         },
         'features': translate_features(self.args.features),
         'api': {
             'addr': api_addr,
         },
     }
예제 #4
0
 def _build_disp_conf(self, name, topo_id=None):
     prometheus_addr = prom_addr_dispatcher(self.args.docker, topo_id,
                                            self.args.networks, DISP_PROM_PORT, name)
     return {
         'dispatcher': {
             'ID': name,
         },
         'logging': self._log_entry(name),
         'metrics': {
             'Prometheus': prometheus_addr,
         },
     }
예제 #5
0
 def _build_disp_conf(self, name, topo_id=None):
     disp_type = "br" if name.startswith("disp_br") else ""
     prometheus_addr = prom_addr_dispatcher(self.args.docker, topo_id,
                                            self.args.networks, DISP_PROM_PORT, disp_type)
     return {
         'dispatcher': {
             'ID': name,
         },
         'logging': self._log_entry("dispatcher"),
         'metrics': {
             'Prometheus': prometheus_addr,
         },
     }