Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate the use of "Channels" in parsl to allow execution from a laptop on Klone #19

Open
drewoldag opened this issue Jul 19, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@drewoldag
Copy link
Collaborator

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)

@drewoldag drewoldag added the enhancement New feature or request label Jul 19, 2024
@drewoldag
Copy link
Collaborator Author

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']

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant