Could not load plugin descriptor for existing plugin [readonlyrest-1.16.14_es5.1.1.zip]. Was the plugin built before 2.0?

Hi, I’m trying to install ROR on 5.1.1, using readonlyrest-1.16.14_es5.1.1.zip (I’m using the new guide on github, including readonlyrest.yml). I’m getting:
“Could not load plugin descriptor for existing plugin [readonlyrest-1.16.14_es5.1.1.zip]. Was the plugin built before 2.0?”
The logs say:
“C:\Program Files\SailPoint\elasticsearch-5.1.1\plugins\readonlyrest-1.16.14_es5.1.1.zip\plugin-descriptor.properties”
Cannot be found, and indeed I found that inside the zip file is a folder call “elasticsearch” , inside of which are the files (.properties included).
I tried putting the files directly under the zip, but the outcome didn’t change.

Thanks!

Hello @shlomi,

I just downloaded the file you chose.

First sanity check: is the property file present? Yes.

$ jar -ft  /tmp/readonlyrest-1.16.14_es5.1.1.zip |grep prop
elasticsearch/plugin-descriptor.properties

Second sanity check: does it contain the right stuff? Yes.

$ unzip -c /tmp/readonlyrest-1.16.14_es5.1.1.zip elasticsearch/plugin-descriptor.properties
Archive:  /tmp/readonlyrest-1.16.14_es5.1.1.zip
  inflating: elasticsearch/plugin-descriptor.properties
#
# This file is part of ReadonlyREST.
#
#     ReadonlyREST is free software: you can redistribute it and/or modify
#     it under the terms of the GNU General Public License as published by
#     the Free Software Foundation, either version 3 of the License, or
#     (at your option) any later version.
#
#     ReadonlyREST is distributed in the hope that it will be useful,
#     but WITHOUT ANY WARRANTY; without even the implied warranty of
#     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#     GNU General Public License for more details.
#
#     You should have received a copy of the GNU General Public License
#     along with ReadonlyREST.  If not, see http://www.gnu.org/licenses/
#
#
# Elasticsearch plugin descriptor file
# This file must exist as 'plugin-descriptor.properties' in a folder named `elasticsearch`
# inside all plugins.
#
name=readonlyrest
version=1.16.14
description=Safely expose Elasticsearch REST API
classname=tech.beshu.ror.es.ReadonlyRestPlugin
java.version=1.8
elasticsearch.version=5.1.1

# ES 2.x compatibility
site=false
jvm=true
isolated=false

I also tried to install it:

$  bin/elasticsearch-plugin install file:///tmp/readonlyrest-1.16.14_es5.1.1.zip

And everything worked well.

So I have two questions

  1. What’s the sha1 sum of your zip file? I got this:
$ shasum /tmp/readonlyrest-1.16.14_es5.1.1.zip
c1f00c92bd78f6ad93aa902c469adb7b341e732f  /tmp/readonlyrest-1.16.14_es5.1.1.zip
  1. What commands are you using to install it?

I figured out the problem: the zip itself was in the “plugins” folder, and apparently that messes up the installation. Installing it from anywhere else works.
Might want to add that to the troubleshooting.
Thanks anyway!

1 Like