def _validate_env(self) -> None: """ Validates executables CORE depends on exist on path. :return: nothing :raises core.errors.CoreError: when an executable does not exist on path """ use_ovs = self.config.get("ovs") == "1" for requirement in get_requirements(use_ovs): utils.which(requirement, required=True)
def add_server(self, name: str, host: str) -> None: """ Add distributed server configuration. :param name: distributed server name :param host: distributed server host address :return: nothing :raises CoreError: when there is an error validating server """ server = DistributedServer(name, host) for requirement in get_requirements(self.session.use_ovs()): try: server.remote_cmd(f"which {requirement}") except CoreCommandError: raise CoreError(f"server({server.name}) failed validation for " f"command({requirement})") self.servers[name] = server cmd = f"mkdir -p {self.session.session_dir}" server.remote_cmd(cmd)