Plugin repository-gcs not working for snapshots

I’m trying to create a snapshot and storing in our google cloud storage for some time with no success. I found this task very hard since there is no documentation. I’m trying to use some of elastic, opeansearch and S3 configuration to make it work.

I’ve already installed repository-gcs and created a registry on keystore like this:

bin/opensearch-keystore add-file gcs.client.some_client.credentials_file google_app_credentials.json

the google_app_credentials.json was generated in GCP following the documentation below

Now I’m trying to configure the repository

curl -X PUT http://localhost:9200/_snapshot/some_repository -H "Content-Type: application/json" -d 
'{
   "type": "gcs", 
   "settings": {
      "bucket": "bucket_name_on_gcp", 
      "base_path": "usr/share/opensearch/repository", 
      "client": "some_client"
     }
   }'

but I’m getting this error:

{
   "error": {
      "root_cause": [
         {
            "type": "repository_verification_exception","reason":"[some_repository] path [usr][share][opensearch][repository] is not accessible on cluster-manager node"
         }
      ],
      "type":"repository_verification_exception",
      "reason":"[thiago_repository] path [usr][share][opensearch][repository] is not accessible on cluster-manager node",
      "caused_by": {
            "type":"access_control_exception",
            "reason":"access denied (\"java.io.FilePermission\" \"/usr/share/opensearch/.config/gcloud/active_config\" \"read\")"
            }
      },
      "status":500
}

someone can help?

Mabe using absolte path instead of relative?. I will try locally and confirm with you.

1 Like