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

Support external shell interface modules #1481

Open
ferki opened this issue Mar 13, 2021 · 0 comments
Open

Support external shell interface modules #1481

ferki opened this issue Mar 13, 2021 · 0 comments
Labels
feature request A suggested idea for the project

Comments

@ferki
Copy link
Member

ferki commented Mar 13, 2021

User story

As a Rex maintainer.
I would like to support external shell interface modules,
so I can enable more authors to provide them.

Additional context

Thanks to @alip, there are now external shell modules available on CPAN, like Rex::Interface::Shell::Ilo and Rex::Interface::Shell::Idrac4.

Currently we would need to add them explicitly to %SHELL_PROVIDER map in Rex::Interface::Shell, but even then Rex would bail out when it can't load some of these while trying to discover the remote shell.

Describe the solution you'd like

Ideally, Rex would only try to load shell modules that are available. For bonus points, there might also be a way to make the shell provider mapping obsolete (e.g. by using standardized naming, like "uppercase initial, lowercase rest", or adding heuristics to try some of these variations).

Describe alternatives you've considered

Alternatively a simple error checking might do as a minimal implementation. If it tries to load a shell module but fails, let's log it as a debug message, but continue trying the next one. If no matches found, log a message about it.

@ferki ferki added the feature request A suggested idea for the project label Mar 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request A suggested idea for the project
Projects
None yet
Development

No branches or pull requests

1 participant