Bug: X-Pack install via Puppet breaks ES startup after meta-plugin introduction in 6.2.0


(Zach) #1

Tested on Ubuntu 16.04, Elasticsearch/X-pack 6.2.0 and 6.2.1, puppet module elastic-elasticsearch v6.2.0.

Issue:
6.2.0 included this merge regarding meta-plugins. When installing x-pack (a meta-plugin) via puppet, a file called '.name' is created in the root x-pack plugin directory (see here). Since this '.name' file is not a valid plugin directory, an error [1] is raised during Elasticsearch startup.

Possible solution:
Adding an additional check here in PluginInfo.extractAllPlugins to exclude .name files.

Workaround:
Individual plugins (like ingest-attachment) do not seem to be impacted. Deleting the .name file will allow Elasticsearch to start.

Repro:

  • install elasticsearch via official puppet module
  • install x-pack via puppet module

[1]: org.elasticsearch.bootstrap.StartupException: org.elasticsearch.bootstrap.BootstrapException: java.nio.file.FileSystemException: /usr/share/elasticsearch/plugins/x-pack/.name/plugin-descriptor.properties: Not a directory


(Tyler Langlois) #2

Hi @st0nez, thanks for reporting this. That's definitely a bug, and a by-product of the mechanism that the module uses to track plugins that it installs. I'll take a look at fixing this on the Puppet side in a more maintainable way that doesn't require creating arbitrary files from Puppet.


(Zach) #3

Great, thanks!


(Tyler Langlois) #4

FYI , the fix has been released.