Open drewoldag opened 1 month ago
Initial testing doesn't make it look like it "just works":
I set up the Klone configuration to look roughly like this:
def klone_resource_config():
return Config(
...
executors=[
HighThroughputExecutor(
label="small_cpu",
provider=SlurmProvider(
partition="compute-bigmem",
account="astro",
min_blocks=0,
max_blocks=4,
init_blocks=1,
parallelism=1,
nodes_per_block=1,
cores_per_node=1, # perhaps should be 8???
mem_per_node=64, # In GB
channel=SSHInteractiveLoginChannel(
hostname="klone.hyak.uw.edu",
username="awoldag",
)
),
),
Then trying to load that config in python:
(parsl) drew@allosaurus:~/code/kbmod-wf$ python
Python 3.12.4 | packaged by conda-forge | (main, Jun 17 2024, 10:23:07) [GCC 12.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import kbmod_wf
>>> kbmod_wf.resource_configs.klone_configuration.klone_resource_config()
Enter klone.hyak.uw.edu Logon password :
Traceback (most recent call last):
File "/home/drew/miniconda3/envs/parsl/lib/python3.12/site-packages/paramiko/transport.py", line 1622, in auth_password
return self.auth_interactive(username, handler)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/drew/miniconda3/envs/parsl/lib/python3.12/site-packages/paramiko/transport.py", line 1727, in auth_interactive
return self.auth_handler.wait_for_response(my_event)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/drew/miniconda3/envs/parsl/lib/python3.12/site-packages/paramiko/auth_handler.py", line 263, in wait_for_response
raise e
paramiko.ssh_exception.AuthenticationException: Authentication failed.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/drew/code/kbmod-wf/src/kbmod_wf/resource_configs/klone_configuration.py", line 41, in klone_resource_config
channel=SSHInteractiveLoginChannel(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/drew/miniconda3/envs/parsl/lib/python3.12/site-packages/parsl/channels/ssh_il/ssh_il.py", line 73, in __init__
transport.auth_password(username, il_password)
File "/home/drew/miniconda3/envs/parsl/lib/python3.12/site-packages/paramiko/transport.py", line 1625, in auth_password
raise e
File "/home/drew/miniconda3/envs/parsl/lib/python3.12/site-packages/paramiko/transport.py", line 1603, in auth_password
return self.auth_handler.wait_for_response(my_event)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/drew/miniconda3/envs/parsl/lib/python3.12/site-packages/paramiko/auth_handler.py", line 263, in wait_for_response
raise e
paramiko.ssh_exception.BadAuthenticationType: Bad authentication type; allowed types: ['gssapi-keyex', 'gssapi-with-mic', 'keyboard-interactive']
Feature request Investigation this: https://parsl.readthedocs.io/en/stable/stubs/parsl.channels.base.Channel.html#parsl.channels.base.Channel
This may be the methodology to use in order to allow the hypervisor to run from a local computer while the resources are requested from Klone (or equivalent)