You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
execute_command_parallel has no ignore_errors param #441
`InfrastructureProvider.execute_command_parallel` (`providers/base.py`) has no `ignore_errors` parameter, unlike `execute_command`. `CloudLabProvider`'s implementation never surfaces remote failures here anyway (`utils.run_on_cloudlab_nodes_in_parallel` calls `.wait()` on each SSH `Popen` without checking the return code), so callers like `DeathstarService.stop()` / `FlinkService.stop_all_jobs()` rely on this being implicitly always-ignore — they call `.stop()` unconditionally as best-effort teardown regardless of whether that component was ever used in the run.
`LocalProvider.execute_command`'s `popen=True` branch (#424) currently swallows `OSError` (e.g. missing `cmd_dir`) unconditionally to match that implicit behavior, since there's no parameter to gate it on. Once this is fixed, that swallow should become conditional on the new `ignore_errors` parameter (mirroring the `popen=False` branch) instead of always-on.
Add `ignore_errors: bool = False` to `execute_command_parallel`'s signature, wire it through `CloudLabProvider`/`LocalProvider`/`CloudLabLocalProvider`, and update `LocalProvider.execute_command`'s `popen=True` exception handling to respect it.
Activity