We double checked and actually there is an issue in the elasticsearch core documentation about this. This verify option is available whatever the storage you are using.
But it's a URL attribute. So you should do something like: $ curl -XPUT 'http://localhost:9200/_snapshot/amos0?verify=false' -d '{ "type":"s3", "settings": { "region": "ap-southeast-1", "bucket": "prod-es-backup", "base_path": "elasticsearch/dev/snapshots0" } }' Thanks for reporting this and for the tests BTW. -- David Pilato | Technical Advocate | Elasticsearch.com @dadoonet <https://twitter.com/dadoonet> | @elasticsearchfr <https://twitter.com/elasticsearchfr> | @scrutmydocs <https://twitter.com/scrutmydocs> > Le 28 janv. 2015 à 08:25, David Pilato <da...@pilato.fr> a écrit : > > Perfect. Thanks. > > David > > Le 28 janv. 2015 à 03:55, Amos S <amos.shap...@gmail.com > <mailto:amos.shap...@gmail.com>> a écrit : > >> I opened an issue for AWS plugin project on github, I hope this is what you >> were referring to. Here is the issue: >> https://github.com/elasticsearch/elasticsearch-cloud-aws/issues/167 >> <https://github.com/elasticsearch/elasticsearch-cloud-aws/issues/167> >> About the "type missing" error - it turned out to be my mistake in trying to >> copy the output of the "GET" verbatim to the input of the PUT, it turned out >> that I had to peel off a couple of "{}"'s. Once I did that, the order of the >> "type" attribute in relation to the rest didn't matter and the PUT >> succeeded. See the update I gave in a previous message. >> I ended up making a new copy of the bucket. I'm now trying to restore it to >> the test node. >> Thanks for your help. >> >> --Amos >> >> On Wednesday, 28 January 2015 13:18:24 UTC+11, David Pilato wrote: >> Could you open an issue in AWS plugin project (and may be in azure and gce) >> to support verify option as well? >> >> BTW, I think we should try to support have type after settings or to clearly >> document it needs to be on the first line. Could you open an issue for this >> in elasticsearch? >> >> Coming back to your issue, I'm afraid you need to wait for a next cloud >> plugin release or patch it yourself (and send a PR) or make your repo >> writable. >> >> Best >> >> -- >> David ;-) >> Twitter : @dadoonet / @elasticsearchfr / @scrutmydocs >> >> Le 27 janv. 2015 à 23:30, Amos S <amos.s...@gmail.com <javascript:>> a écrit >> : >> >>> OK, following previous responses by you about the "type is missing" error, >>> I corrected the JSON payload I send to the PUT and got another error: >>> >>> $ curl -XPUT 'http://localhost:9200/_snapshot/amos0' >>> <http://localhost:9200/_snapshot/amos0'> -d '{ >>> "type":"s3", >>> "settings": { >>> "region": "ap-southeast-1", >>> "bucket": "prod-es-backup", >>> "base_path": "elasticsearch/dev/snapshots0", >>> "verify": "false" >>> } >>> }' >>> {"error":"RepositoryVerificationException[[amos0] path >>> [elasticsearch][dev][snapshots0] is not accessible on master node]; nested: >>> IOException[Unable to upload object >>> elasticsearch/dev/snapshots0/tests-ng9f5N6tTm6HZhrGF9s8aQ-master]; nested: >>> AmazonS3Exception[Access Denied (Service: Amazon S3; Status Code: 403; >>> Error Code: AccessDenied; Request ID: 7F3DE23BB617FFF4)]; ","status":500} >>> >>> I think this confirms your suspicion that the repo creation process tries >>> to verify the repository by uploading a test object onto it and also that >>> it ignores the "verify: false" setting. >>> >>> I can either allow this role to write only to this specific prefix or just >>> make a copy of the bucket and allow access to the copy. I'll try the later. >>> >>> Thanks, >>> >>> --Amos >>> >>> On Wednesday, 28 January 2015 09:20:25 UTC+11, Amos S wrote: >>> Thanks David, >>> >>> It seems that the "verify: false" setting is specific to the "fs" type and >>> not recognised by the "s3" type. >>> I tried it anyway and got the same worrying "type is missing" error: >>> >>> $ curl -XPUT 'http://localhost:9200/_snapshot/amos0 >>> <http://localhost:9200/_snapshot/amos0>' -d '{ >>> "s3dev0": { >>> "settings": { >>> "base_path": "elasticsearch/dev/snapshots0", >>> "bucket": "prod-es-backup", >>> "region": "ap-southeast-1", >>> "verify": "false" >>> }, >>> "type": "s3" >>> } >>> } >>> ' >>> {"error":"ActionRequestValidationException[Validation Failed: 1: type is >>> missing;]","status":400} >>> >>> I think I first have to address the "type is missing" issue. I suspect >>> ElasticSearch doesn't recognise the "s3" type. >>> >>> On Tuesday, 27 January 2015 17:13:53 UTC+11, David Pilato wrote: >>> Could you try to set verify to false? >>> >>> http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-snapshots.html#_repositories >>> >>> <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-snapshots.html#_repositories> >>> >>> Not sure if it works but would love to know. >>> >>> -- >>> David ;-) >>> Twitter : @dadoonet / @elasticsearchfr / @scrutmydocs >>> >>> Le 27 janv. 2015 à 07:09, Amos S <amos.s...@gmail.com <>> a écrit : >>> >>>> Thanks David, >>>> >>>> That would explain it. >>>> >>>> Is there a way to skip the validation? >>>> >>>> On Tuesday, 27 January 2015 16:52:11 UTC+11, David Pilato wrote: >>>> IIRC when you create a repository we first try to validate it by writing a >>>> sample file in it. >>>> >>>> As you set it to read only, I guess it could be the cause. >>>> >>>> -- >>>> David ;-) >>>> Twitter : @dadoonet / @elasticsearchfr / @scrutmydocs >>>> >>>> Le 27 janv. 2015 à 06:20, Amos S <amos.s...@gmail.com <>> a écrit : >>>> >>>>> Hello, >>>>> >>>>> For some investigation work, I'm trying to restore specific indices from >>>>> our production ES cluster to a single one-off node. >>>>> >>>>> We run a cluster of ES 1.4.2 on EC2, the data is stored locally on each >>>>> EC2 instance with snapshots stored on an S3 bucket. >>>>> >>>>> I've setup a one-off EC2 instance and am trying to restore a single index >>>>> from snapshot into that new instance. >>>>> >>>>> The instance has its own cluster name and node name, and I've setup a >>>>> read-only S3 role for it so it doesn't accidentally overwrite our backup. >>>>> >>>>> Trying to follow instructions I found in various locations on the web, I >>>>> think the next step for me is to configure the S3 snapshot bucket as a >>>>> repository on the new instance, is that correct? >>>>> >>>>> So I did the following to find the S3 snapshot repository configuration >>>>> in the production environment: >>>>> >>>>> $ curl -XGET http://production-cluster:9200/_snapshot/ >>>>> <http://production-cluster:9200/_snapshot/> | python -mjson.tool >>>>> { >>>>> "s3prod0": { >>>>> "settings": { >>>>> "base_path": "elasticsearch/prod/snapshots0", >>>>> "bucket": "prod-es-backup", >>>>> "region": "ap-southeast-1" >>>>> }, >>>>> "type": "s3" >>>>> } >>>>> } >>>>> >>>>> I then tried to feed this into my new node's configuration: >>>>> >>>>> $ curl -XPUT 'http://localhost:9200/_snapshot/amos0' >>>>> <http://localhost:9200/_snapshot/amos0'> -d ' >>>>> { >>>>> "type": "s3", >>>>> "s3prod0": { >>>>> "settings": { >>>>> "base_path": "elasticsearch/prod/snapshots0", >>>>> "bucket": "prod-es-backup", >>>>> "region": "ap-southeast-1" >>>>> } >>>>> } >>>>> } >>>>> ' >>>>> {"error":"RepositoryException[[amos0] failed to create repository]; >>>>> nested: CreationException[Guice creation errors:\n\n1) Error injecting >>>>> constructor, org.elasticsearch.repositories.RepositoryException: [amos0] >>>>> No bucket defined for s3 gateway\n at >>>>> org.elasticsearch.repositories.s3.S3Repository.<init>(Unknown Source)\n >>>>> while locating org.elasticsearch.repositories.s3.S3Repository\n while >>>>> locating org.elasticsearch.repositories.Repository\n\n1 error]; nested: >>>>> RepositoryException[[amos0] No bucket defined for s3 gateway]; >>>>> ","status":500} >>>>> >>>>> What am I missing here? >>>>> >>>>> Thanks. >>>>> >>>>> --Amos >>>>> >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google Groups >>>>> "elasticsearch" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send an >>>>> email to elasticsearc...@googlegroups.com <>. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/elasticsearch/e3576b32-02c2-4e05-92de-2a1e5de285d2%40googlegroups.com >>>>> >>>>> <https://groups.google.com/d/msgid/elasticsearch/e3576b32-02c2-4e05-92de-2a1e5de285d2%40googlegroups.com?utm_medium=email&utm_source=footer>. >>>>> For more options, visit https://groups.google.com/d/optout >>>>> <https://groups.google.com/d/optout>. >>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google Groups >>>> "elasticsearch" group. >>>> To unsubscribe from this group and stop receiving emails from it, send an >>>> email to elasticsearc...@googlegroups.com <>. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/elasticsearch/facc1f6f-1626-47be-bd18-28d02a76380e%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/elasticsearch/facc1f6f-1626-47be-bd18-28d02a76380e%40googlegroups.com?utm_medium=email&utm_source=footer>. >>>> For more options, visit https://groups.google.com/d/optout >>>> <https://groups.google.com/d/optout>. >>> >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "elasticsearch" group. >>> To unsubscribe from this group and stop receiving emails from it, send an >>> email to elasticsearc...@googlegroups.com <javascript:>. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/elasticsearch/40cc5b7f-5d3b-4abf-9473-9a77f8bdf215%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/elasticsearch/40cc5b7f-5d3b-4abf-9473-9a77f8bdf215%40googlegroups.com?utm_medium=email&utm_source=footer>. >>> For more options, visit https://groups.google.com/d/optout >>> <https://groups.google.com/d/optout>. >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "elasticsearch" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to elasticsearch+unsubscr...@googlegroups.com >> <mailto:elasticsearch+unsubscr...@googlegroups.com>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/elasticsearch/68e2bc5c-3417-4116-a4bc-f8fb7f9a178e%40googlegroups.com >> >> <https://groups.google.com/d/msgid/elasticsearch/68e2bc5c-3417-4116-a4bc-f8fb7f9a178e%40googlegroups.com?utm_medium=email&utm_source=footer>. >> For more options, visit https://groups.google.com/d/optout >> <https://groups.google.com/d/optout>. -- You received this message because you are subscribed to the Google Groups "elasticsearch" group. To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/400FE638-485D-4EB5-A4FB-A5C57DA3CD15%40pilato.fr. For more options, visit https://groups.google.com/d/optout.