What do you want to do?
In OpenSearch, its possible that some plugins can extend functionality of other plugins. When a plugin has a required dependency on another plugin, the dependency needs to be installed first before the extending plugin can be installed. Currently, the documentation on installing plugins has no mention of extended plugins.
For instance, when I try to install opensearch-index-management on a node where opensearch-job-scheduler is not present, the opensearch-plugin script exits with an error.
% ./bin/opensearch-plugin install file:/path/to/opensearch-index-management-3.0.0.0-SNAPSHOT.zip
-> Installing file:/path/to/opensearch-index-management-3.0.0.0-SNAPSHOT.zip
-> Downloading file:/path/to/opensearch-index-management-3.0.0.0-SNAPSHOT.zip
[=================================================] 100%
-> Failed installing file:/path/to/opensearch-index-management-3.0.0.0-SNAPSHOT.zip
-> Rolling back file:/path/to/opensearch-index-management-3.0.0.0-SNAPSHOT.zip
-> Rolled back file:/path/to/opensearch-index-management-3.0.0.0-SNAPSHOT.zip
Exception in thread "main" java.lang.IllegalArgumentException: Missing plugin [opensearch-job-scheduler], dependency of [opensearch-index-management]
at org.opensearch.plugins.PluginsService.addSortedBundle(PluginsService.java:532)
at org.opensearch.plugins.PluginsService.sortBundles(PluginsService.java:495)
at org.opensearch.plugins.InstallPluginCommand.jarHellCheck(InstallPluginCommand.java:833)
at org.opensearch.plugins.InstallPluginCommand.loadPluginInfo(InstallPluginCommand.java:807)
at org.opensearch.plugins.InstallPluginCommand.installPlugin(InstallPluginCommand.java:852)
at org.opensearch.plugins.InstallPluginCommand.execute(InstallPluginCommand.java:274)
at org.opensearch.plugins.InstallPluginCommand.execute(InstallPluginCommand.java:248)
at org.opensearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:104)
at org.opensearch.cli.Command.mainWithoutErrorHandling(Command.java:138)
at org.opensearch.cli.MultiCommand.execute(MultiCommand.java:104)
at org.opensearch.cli.Command.mainWithoutErrorHandling(Command.java:138)
at org.opensearch.cli.Command.main(Command.java:101)
at org.opensearch.plugins.PluginCli.main(PluginCli.java:66)
The documentation on installing plugins should include information about plugin dependencies.
Version: List the OpenSearch version to which this issue applies, e.g. 2.14, 2.12--2.14, or all.
All
What other resources are available? Provide links to related issues, POCs, steps for testing, etc.
Came up for discussion on opensearch-project/OpenSearch#16909
What do you want to do?
In OpenSearch, its possible that some plugins can extend functionality of other plugins. When a plugin has a required dependency on another plugin, the dependency needs to be installed first before the extending plugin can be installed. Currently, the documentation on installing plugins has no mention of extended plugins.
For instance, when I try to install
opensearch-index-managementon a node whereopensearch-job-scheduleris not present, theopensearch-pluginscript exits with an error.The documentation on installing plugins should include information about plugin dependencies.
Version: List the OpenSearch version to which this issue applies, e.g. 2.14, 2.12--2.14, or all.
All
What other resources are available? Provide links to related issues, POCs, steps for testing, etc.
Came up for discussion on opensearch-project/OpenSearch#16909