cea-hpc / clustershell

Scalable cluster administration Python framework — Manage node sets, node groups and execute commands on cluster nodes in parallel.
https://clustershell.readthedocs.io/
427 stars 85 forks source link

`ssh_user: root` only for certain hosts / connections #554

Open skwde opened 8 months ago

skwde commented 8 months ago

To my understanding the way to do this is to implement a specific run mode, i.e. a file clush.conf.d/root-ssh.conf

[mode:root-ssh]
ssh_user: root
ssh_options: -i <identitiy file to use> -oStrictHostKeyChecking=no

I see two problems with this

  1. I always have to explicitly use --mode root-ssh
  2. It is not possible to specify which nodes should use --mode root-ssh and which should use normal ssh in a single command.
degremont commented 8 months ago

Indeed there is no easy way at the moment to specify different ssh options depending on the host.

Could you use ssh config file to achieve the same thing, until this feature is available in ClusterShell?

skwde commented 8 months ago

I would like to avoid making changes to ssh config because this would require either that all clustershell users make the change or I make a modification on all machines.

For now I go with ssh as root to all machines.

Are there any plans when / if something like run modes for host groups are implemented?

thiell commented 8 months ago

Thanks @skwde for clearly describing your issues / use cases!

Are there any plans when / if something like run modes for host groups are implemented?

It would indeed be a natural improvement for clush to support automatic run mode selection by node sets (and groups) as defined in clush.conf for example.

Let us think about the best way to implement this.

skwde commented 8 months ago

Perfect. Just found a related issue: https://github.com/cea-hpc/clustershell/issues/407