def create_service_files(self, node: CoreNode, service: "CoreServiceType") -> None: """ Creates node service files. :param node: node to reconfigure service for :param service: service to reconfigure :return: nothing """ # get values depending on if custom or not config_files = service.configs if not service.custom: config_files = service.get_configs(node) for file_name in config_files: file_path = Path(file_name) logger.debug("generating service config custom(%s): %s", service.custom, file_name) if service.custom: cfg = service.config_data.get(file_name) if cfg is None: cfg = service.generate_config(node, file_name) # cfg may have a file:/// url for copying from a file try: if self.copy_service_file(node, file_path, cfg): continue except IOError: logger.exception("error copying service file: %s", file_name) continue else: cfg = service.generate_config(node, file_name) node.create_file(file_path, cfg)
def service_reconfigure(self, node: CoreNode, service: "CoreService") -> None: """ Reconfigure a node service. :param node: node to reconfigure service for :param service: service to reconfigure :return: nothing """ config_files = service.configs if not service.custom: config_files = service.get_configs(node) for file_name in config_files: file_path = Path(file_name) if file_name[:7] == "file:///": # TODO: implement this raise NotImplementedError cfg = service.config_data.get(file_name) if cfg is None: cfg = service.generate_config(node, file_name) node.create_file(file_path, cfg)