Lines Matching defs:self

58     def guess_dpdk_remote_dir(self, remote_dir: str | PurePath) -> PurePosixPath:
60 remote_guess = self.join_remote_path(remote_dir, "dpdk-*")
61 result = self.send_command(f"ls -d {remote_guess} | tail -1")
64 def get_remote_tmp_dir(self) -> PurePosixPath:
68 def get_dpdk_build_env_vars(self, arch: Architecture) -> dict:
76 out = self.send_command("find /usr -type d -name pkgconfig")
90 def join_remote_path(self, *args: str | PurePath) -> PurePosixPath:
94 def remote_path_exists(self, remote_path: str | PurePath) -> bool:
96 result = self.send_command(f"test -e {remote_path}")
99 def copy_from(self, source_file: str | PurePath, destination_dir: str | Path) -> None:
101 self.remote_session.copy_from(source_file, destination_dir)
103 def copy_to(self, source_file: str | Path, destination_dir: str | PurePath) -> None:
105 self.remote_session.copy_to(source_file, destination_dir)
108 self,
116 remote_tarball_path = self.create_remote_tarball(source_dir, compress_format, exclude)
118 self.copy_from(remote_tarball_path, destination_dir)
119 self.remove_remote_file(remote_tarball_path)
126 self,
135 self.copy_to(tarball_path, destination_dir)
138 remote_tar_path = self.join_remote_path(
141 self.extract_remote_tarball(remote_tar_path)
142 self.remove_remote_file(remote_tar_path)
144 def remove_remote_file(self, remote_file_path: str | PurePath, force: bool = True) -> None:
147 self.send_command(f"rm{opts} {remote_file_path}")
150 self,
157 self.send_command(f"rm{opts} {remote_dir_path}")
160 self,
185 self.send_command(
194 self, remote_tarball_path: str | PurePath, expected_dir: str | PurePath | None = None
197 self.send_command(
202 self.send_command(f"ls {expected_dir}", verify=True)
204 def is_remote_dir(self, remote_path: PurePath) -> bool:
206 result = self.send_command(f"test -d {remote_path}")
209 def is_remote_tarfile(self, remote_tarball_path: PurePath) -> bool:
211 result = self.send_command(f"tar -tvf {remote_tarball_path}")
215 self, remote_tarball_path: str | PurePath
218 members = self.send_command(f"tar tf {remote_tarball_path}").stdout.split()
231 self,
243 self._logger.info("Reconfiguring DPDK build.")
244 self.send_command(
252 self._logger.info("Configuring DPDK build from scratch.")
253 self.remove_remote_dir(remote_dpdk_build_dir)
254 self.send_command(
261 self._logger.info("Building DPDK.")
262 self.send_command(
268 def get_dpdk_version(self, build_dir: str | PurePath) -> str:
270 out = self.send_command(f"cat {self.join_remote_path(build_dir, 'VERSION')}", verify=True)
273 def kill_cleanup_dpdk_apps(self, dpdk_prefix_list: Iterable[str]) -> None:
275 self._logger.info("Cleaning up DPDK apps.")
276 dpdk_runtime_dirs = self._get_dpdk_runtime_dirs(dpdk_prefix_list)
279 dpdk_pids = self._get_dpdk_pids(dpdk_runtime_dirs)
281 self.send_command(f"kill -9 {dpdk_pid}", 20)
282 self._check_dpdk_hugepages(dpdk_runtime_dirs)
283 self._remove_dpdk_runtime_dirs(dpdk_runtime_dirs)
285 def _get_dpdk_runtime_dirs(self, dpdk_prefix_list: Iterable[str]) -> list[PurePosixPath]:
296 remote_prefixes = self._list_remote_dirs(prefix)
304 def _list_remote_dirs(self, remote_path: str | PurePath) -> list[str] | None:
313 out = self.send_command(f"ls -l {remote_path} | awk '/^d/ {{print $NF}}'").stdout
319 def _get_dpdk_pids(self, dpdk_runtime_dirs: Iterable[str | PurePath]) -> list[int]:
335 if self.remote_path_exists(dpdk_config_file):
336 out = self.send_command(f"lsof -Fp {dpdk_config_file}").stdout
344 def _check_dpdk_hugepages(self, dpdk_runtime_dirs: Iterable[str | PurePath]) -> None:
355 if self.remote_path_exists(hugepage_info):
356 out = self.send_command(f"lsof -Fp {hugepage_info}").stdout
358 self._logger.warning("Some DPDK processes did not free hugepages.")
359 self._logger.warning("*******************************************")
360 self._logger.warning(out)
361 self._logger.warning("*******************************************")
363 def _remove_dpdk_runtime_dirs(self, dpdk_runtime_dirs: Iterable[str | PurePath]) -> None:
365 self.remove_remote_dir(dpdk_runtime_dir)
367 def get_dpdk_file_prefix(self, dpdk_prefix: str) -> str:
371 def get_compiler_version(self, compiler_name: str) -> str:
375 return self.send_command(
379 return self.send_command(
383 return self.send_command("cl", SETTINGS.timeout).stdout
385 return self.send_command(f"{compiler_name} -V", SETTINGS.timeout).stdout
389 def get_node_info(self) -> OSSessionInfo:
391 os_release_info = self.send_command(
395 kernel_version = self.send_command("uname -r", SETTINGS.timeout).stdout