From 0116c46d5b53a3007bff929fc5f5661509a3e62d Mon Sep 17 00:00:00 2001 From: Andrew Rowley Date: Mon, 31 Jul 2023 15:42:25 +0100 Subject: [PATCH 1/4] Allow extraction of EBRAINS env from environment (useful in testing) --- spinn_front_end_common/interface/abstract_spinnaker_base.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spinn_front_end_common/interface/abstract_spinnaker_base.py b/spinn_front_end_common/interface/abstract_spinnaker_base.py index eac8e1c4dd..256e4debdc 100644 --- a/spinn_front_end_common/interface/abstract_spinnaker_base.py +++ b/spinn_front_end_common/interface/abstract_spinnaker_base.py @@ -314,7 +314,8 @@ def __get_collab_id_from_folder(self, folder): """ Currently hacky way to get the EBRAINS collab id from the drive folder, replicated from the NMPI collab template. """ - ebrains_drive_client = ebrains_drive.connect(token=self.__bearer_token) + ebrains_drive_client = ebrains_drive.connect( + token=self.__bearer_token, env=os.getenv("EBRAINS_ENV", "")) repo_by_title = ebrains_drive_client.repos.get_repos_by_name(folder) if len(repo_by_title) != 1: logger.warning(f"The repository for collab {folder} could not be" From 63c473735350634b4aa8d830a469f7a4d587db58 Mon Sep 17 00:00:00 2001 From: Andrew Rowley Date: Mon, 31 Jul 2023 15:46:59 +0100 Subject: [PATCH 2/4] More ways to get a collab or group --- .../interface/abstract_spinnaker_base.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/spinn_front_end_common/interface/abstract_spinnaker_base.py b/spinn_front_end_common/interface/abstract_spinnaker_base.py index 256e4debdc..9c25b98228 100644 --- a/spinn_front_end_common/interface/abstract_spinnaker_base.py +++ b/spinn_front_end_common/interface/abstract_spinnaker_base.py @@ -302,9 +302,24 @@ def __group_collab_or_job(self): return self.__get_collab_id_from_folder( match_obj.group(SHARED_WITH_GROUP)) + # Allow this too as it helps in testing; it doesn't matter if it is + # spoofed since the user has to have the right permissions for it to + # work. + collab_id = os.getenv("COLLAB_ID") + if collab_id is not None: + logger.info(f"Requesting job in collaboratory {collab_id}") + return {"collab": collab_id} + + # Another way to get a collab id + collab_id = get_config_str("Machine", "spalloc_collab") + if collab_id is not None: + logger.info(f"Requesting job in collaboratory {collab_id}") + return {"collab": collab_id} + # Try to use the config to get a group group = get_config_str("Machine", "spalloc_group") if group is not None: + logger.info(f"Requesting job in group {group}") return {"group": group} # Nothing ventured, nothing gained From 89b077fe2056aaf6303e62264332e344f2d33a00 Mon Sep 17 00:00:00 2001 From: Andrew Rowley Date: Mon, 31 Jul 2023 15:54:31 +0100 Subject: [PATCH 3/4] Add collab here --- spinn_front_end_common/interface/spinnaker.cfg | 1 + 1 file changed, 1 insertion(+) diff --git a/spinn_front_end_common/interface/spinnaker.cfg b/spinn_front_end_common/interface/spinnaker.cfg index 6298c959dd..7a420fe600 100644 --- a/spinn_front_end_common/interface/spinnaker.cfg +++ b/spinn_front_end_common/interface/spinnaker.cfg @@ -114,6 +114,7 @@ spalloc_server = None spalloc_port = 22244 spalloc_user = None spalloc_group = None +spalloc_collab = None spalloc_machine = None spalloc_use_proxy = True # A comma seperated list of ip addresses to avoid. From 2e4e5f43a3e30f4779f22d853bc64f8f6d63f822 Mon Sep 17 00:00:00 2001 From: Andrew Rowley Date: Thu, 3 Aug 2023 07:53:31 +0100 Subject: [PATCH 4/4] Fix this oops too --- spinn_front_end_common/interface/java_caller.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spinn_front_end_common/interface/java_caller.py b/spinn_front_end_common/interface/java_caller.py index b0fb46d3c6..9c881a74d1 100644 --- a/spinn_front_end_common/interface/java_caller.py +++ b/spinn_front_end_common/interface/java_caller.py @@ -136,7 +136,7 @@ def _find_java_jar(self): f"No jar file at {auto_jar_file} " "nor is java_jar_path set.") elif os.path.exists(java_jar_path): - self._jar_file = auto_jar_file + self._jar_file = java_jar_path else: raise ConfigurationException( f"No file found at java_jar_path: {java_jar_path}")