From 0a11bf7a921130be135c5fd4c5ac17d6c79083ac Mon Sep 17 00:00:00 2001 From: Kevin Hunter Kesling Date: Thu, 9 Jan 2025 11:55:43 -0500 Subject: [PATCH] Update Parsl to 2025.1.6 I am unable to recreate the recent CI failures (that are so consistent in CI!) locally. However, there was a major fix recently to be more clean during Parsl shutdown, so I'm hoping this addresses the flakiness. Let's see what happens! --- changelog.d/20250109_115759_kevin_update_parsl.rst | 8 ++++++++ .../globus_compute_endpoint/endpoint/config/model.py | 9 --------- .../globus_compute_endpoint/engines/globus_compute.py | 6 ------ compute_endpoint/setup.py | 2 +- 4 files changed, 9 insertions(+), 16 deletions(-) create mode 100644 changelog.d/20250109_115759_kevin_update_parsl.rst diff --git a/changelog.d/20250109_115759_kevin_update_parsl.rst b/changelog.d/20250109_115759_kevin_update_parsl.rst new file mode 100644 index 000000000..3e0ddd09d --- /dev/null +++ b/changelog.d/20250109_115759_kevin_update_parsl.rst @@ -0,0 +1,8 @@ +Changed +^^^^^^^ + +- Update Parsl to `2025.1.6 `_. Note + that Parsl's Channels were deprecated in Aug, 2024, and now completely + removed (see `Parsl Issue #3515 + `_); consequently, this will be a + breaking change for those using Parsl's Channels. diff --git a/compute_endpoint/globus_compute_endpoint/endpoint/config/model.py b/compute_endpoint/globus_compute_endpoint/endpoint/config/model.py index 3ae57f8b3..0781f2dc4 100644 --- a/compute_endpoint/globus_compute_endpoint/endpoint/config/model.py +++ b/compute_endpoint/globus_compute_endpoint/endpoint/config/model.py @@ -13,7 +13,6 @@ from globus_compute_endpoint import engines, strategies from globus_compute_endpoint.endpoint.config.pam import PamConfiguration from parsl import addresses as parsl_addresses -from parsl import channels as parsl_channels from parsl import launchers as parsl_launchers from parsl import providers as parsl_providers @@ -66,19 +65,11 @@ class LauncherModel(BaseConfigModel): _validate_type = _validate_import("type", parsl_launchers) -class ChannelModel(BaseConfigModel): - type: str - - _validate_type = _validate_import("type", parsl_channels) - - class ProviderModel(BaseConfigModel): type: str - channel: t.Optional[ChannelModel] launcher: t.Optional[LauncherModel] _validate_type = _validate_import("type", parsl_providers) - _validate_channel = _validate_params("channel") _validate_launcher = _validate_params("launcher") diff --git a/compute_endpoint/globus_compute_endpoint/engines/globus_compute.py b/compute_endpoint/globus_compute_endpoint/engines/globus_compute.py index ddaba244a..253480179 100644 --- a/compute_endpoint/globus_compute_endpoint/engines/globus_compute.py +++ b/compute_endpoint/globus_compute_endpoint/engines/globus_compute.py @@ -253,12 +253,6 @@ def start( f"Containerized launch cmd template: {self.executor.launch_cmd}" ) - if ( - getattr(self.executor.provider, "channel", None) - and not self.executor.provider.channel.script_dir - ): - self.executor.provider.channel.script_dir = script_dir - os.makedirs(self.executor.provider.script_dir, exist_ok=True) if results_passthrough: # Only update the default queue in GCExecutorBase if diff --git a/compute_endpoint/setup.py b/compute_endpoint/setup.py index 3fb0c06e1..c006ec76d 100644 --- a/compute_endpoint/setup.py +++ b/compute_endpoint/setup.py @@ -35,7 +35,7 @@ # 'parsl' is a core requirement of the globus-compute-endpoint, essential to a range # of different features and functions # pin exact versions because it does not use semver - "parsl==2024.11.25", + "parsl==2025.1.6", "pika>=1.2.0", "pyprctl<0.2.0", "setproctitle>=1.3.2,<1.4",