Unverified Commit 46cd2dae authored by Antoine Kaufmann's avatar Antoine Kaufmann
Browse files

symphony/orchestration: saner deployment defaults for InstantiationEnv

Do not assume that everything is running from the repo. Finding things
relative to the python script paths is also broken once packages get
installed via pip etc. For now just default to having SimBricks under
/simbricks or else this has to be set in the environment.
parent 6f9ba4a9
...@@ -57,14 +57,12 @@ class InstantiationEnvironment(util_base.IdObj): ...@@ -57,14 +57,12 @@ class InstantiationEnvironment(util_base.IdObj):
def __init__( def __init__(
self, self,
repo_path: str = pathlib.Path(__file__).parents[4].resolve(), workdir: pathlib.Path = pathlib.Path.cwd() / pathlib.Path('simbricks-workdir'),
workdir: str | None = None, simbricksdir: pathlib.Path = pathlib.Path('/simbricks'),
): ):
super().__init__() super().__init__()
self._repodir: str = pathlib.Path(repo_path).resolve() self._simbricksdir: str = simbricksdir.resolve()
self._workdir: str = ( self._workdir: str = workdir.resolve()
workdir if workdir else pathlib.Path(f"{self._repodir}/wrkdir").resolve()
)
self._output_base: str = pathlib.Path(f"{self._workdir}/output").resolve() self._output_base: str = pathlib.Path(f"{self._workdir}/output").resolve()
self._tmp_simulation_files: str = pathlib.Path(f"{self._workdir}/tmp").resolve() self._tmp_simulation_files: str = pathlib.Path(f"{self._workdir}/tmp").resolve()
self._imgdir: str = pathlib.Path(f"{self._tmp_simulation_files}/imgs").resolve() self._imgdir: str = pathlib.Path(f"{self._tmp_simulation_files}/imgs").resolve()
...@@ -407,7 +405,7 @@ class Instantiation(): ...@@ -407,7 +405,7 @@ class Instantiation():
def join_repo_base(self, relative_path: str) -> str: def join_repo_base(self, relative_path: str) -> str:
return self._join_paths( return self._join_paths(
base=self.env._repodir, relative_path=relative_path, enforce_existence=True base=self.env._simbricksdir, relative_path=relative_path, enforce_existence=True
) )
def join_output_base(self, relative_path: str) -> str: def join_output_base(self, relative_path: str) -> str:
...@@ -421,7 +419,7 @@ class Instantiation(): ...@@ -421,7 +419,7 @@ class Instantiation():
if Instantiation.is_absolute_exists(hd_name_or_path): if Instantiation.is_absolute_exists(hd_name_or_path):
return hd_name_or_path return hd_name_or_path
path = self._join_paths( path = self._join_paths(
base=self.env._repodir, base=self.env._simbricksdir,
relative_path=f"images/output-{hd_name_or_path}/{hd_name_or_path}", relative_path=f"images/output-{hd_name_or_path}/{hd_name_or_path}",
enforce_existence=True, enforce_existence=True,
) )
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment