# Error trying to create a repository in Azure ("No implementation for org.elasticsearch.repositories.Repository was bound")

**URL:** <https://discuss.elastic.co/t/error-trying-to-create-a-repository-in-azure-no-implementation-for-org-elasticsearch-repositories-repository-was-bound/48077>\
**Category:** Elasticsearch\
**Created:** [April 21, 2016, 4:38pm UTC](https://discuss.elastic.co/t/error-trying-to-create-a-repository-in-azure-no-implementation-for-org-elasticsearch-repositories-repository-was-bound/48077 "2016-04-21T16:38:40Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![casieowen](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/casieowen/32/8734_2.png) [@casieowen](https://discuss.elastic.co/u/casieowen)\
**Post date:** [April 21, 2016, 4:38pm UTC](https://discuss.elastic.co/t/error-trying-to-create-a-repository-in-azure-no-implementation-for-org-elasticsearch-repositories-repository-was-bound/48077/1 "2016-04-21T16:38:40Z")

</div>

Hi,

We're trying to create an azure repo. We're getting:

```auto
D:\data\EsStaging\casieotemp>curl -XPUT "http://xxxxx:9200/_snapshot/stgdevsnapshots" -d "{""type"": ""azure""}"

```

```auto
{"error":"RemoteTransportException[[servername][inet[/xx.xxx.xxx.xx:9300]][cluster:admin/repository/put]]; nested:
RepositoryException[[stgdevsnapshots] failed to create repository]; nested: ConfigurationException[Guice configuration e
rrors:\r\n\r\n1) No implementation for org.elasticsearch.repositories.Repository was bound.\r\n at org.elasticsearch.re
positories.Repository\r\n\r\n1 error]; ","status":500}

```

I found [this thread](http://elasticsearch-users.115913.n3.nabble.com/Azure-Storage-Repo-problem-td4061438.html) where someone was getting the same error in which someone suggested enabling tracing, which I did. I used this:

```auto
PUT _cluster/settings
{"transient" : {"logger.cloud.azure" : "TRACE", "logger.repositories.azure" : "TRACE"}}

```

Is that still valid? (The thread is from 2014.) I'm not seeing any relevant output in the log after doing running that. It _appears_ that the cause of the issue the triggered the thread was an incorrectly configured .yml w/r/t the azure storage account. I don't think that's the case here because 1) I've seen ES not even start if the cloud settings in the .yml are badly formed, 2) I've confirmed that the name and key are correct, and 3) (more generally) we've done this in two other environments and had no issue. Two differences come to mind between the enviroments that worked and this one:

1. In this case is that the ES search machines are on premises as opposed to in azure.
2. In this case, we didn't run the command to install the plug in "plugin install elasticsearch/elasticsearch-cloud-azure/2.8.2" but rather only copied the cloud-azure directory from machines that worked. We did that for a reason. Does running the plugin install command do anything other than copy the plugin directory over? If I run plugin --list, "cloud-azure" is returned.

Any help would be appreciated!

Thanks,  
Casie

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [April 22, 2016, 6:11am UTC](https://discuss.elastic.co/t/error-trying-to-create-a-repository-in-azure-no-implementation-for-org-elasticsearch-repositories-repository-was-bound/48077/2 "2016-04-22T06:11:40Z")

</div>

I updated your question to reformat it a bit.

I guess that you restarted your nodes?

What gives a `GET _cat/plugins?v`?

This error message happens when something is wrong in the configuration. There is a pending PR which will make things more explicit but IIRC it's not merged yet.  
So for example if you did not set correctly `ACCOUNT` and `KEY`: [https://github.com/elastic/elasticsearch-cloud-azure/blob/master/src/main/java/org/elasticsearch/cloud/azure/AzureModule.java#L136-L142](https://github.com/elastic/elasticsearch-cloud-azure/blob/master/src/main/java/org/elasticsearch/cloud/azure/AzureModule.java#L136-L142)

Could you share your `elasticsearch.yml` here?  
You can obviously replace your real credentials with `XXXXX` but please keep the formatting intact and format your code with `</>` icon.

---

<div class="post-metadata">

**Author:** ![casieowen](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/casieowen/32/8734_2.png) [@casieowen](https://discuss.elastic.co/u/casieowen)\
**Post date:** [April 25, 2016, 9:41pm UTC](https://discuss.elastic.co/t/error-trying-to-create-a-repository-in-azure-no-implementation-for-org-elasticsearch-repositories-repository-was-bound/48077/3 "2016-04-25T21:41:11Z")

</div>

Yes, we did restart them. I'm including the details you requested below. Please let me know what you see. Thanks for your help!

**elasticsearch.yml**

```auto
node.data: ${datanode}
cluster.routing.allocation.awareness.attributes: zone_id
cluster.name: xoistaging

indices.store.throttle.max_bytes_per_sec : 100mb
index.refresh_interval: 30s
index.translog.flush_threshold_size: 1gb
bootstrap.mlockall: true
http.enabled: true
path.data: ${pathdata}
path.work: ${pathwork}
path.logs: ${pathlogs}
discovery.zen.minimum_master_nodes: 2
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["Server1","Server2","Server3"]
discovery.zen.ping.timeout: 30s
marvel.agent.exporter.es.hosts: ["Marvel1:9200","Marvel2:9200","Marvel3:9200"]

# Defines the weight factor for shards allocated on a node (float). Defaults to 0.45f. Raising this raises the tendency to equalize the number of shards across all nodes in the cluster.
cluster.routing.allocation.balance.shard: 0.75f

#Defines a factor to the number of shards per index allocated on a specific node (float). Defaults to 0.55f. Raising this raises the tendency to equalize the number of shards per index across all nodes in the cluster.
cluster.routing.allocation.balance.index: 0.75f

# Block initial recovery after a full cluster restart until N nodes are started:
gateway.recover_after_nodes: 12

# Disable starting multiple nodes on a single system:
node.max_local_storage_nodes: 1

cloud:
    azure:
        storage:
                account: storageaccountname 
                key: xxx

```

`GET _cat/plugins?v`:

```auto
name component version type url              
Server1 marvel 1.3.1 j/s /_plugin/marvel/ 
Server1 cloud-azure 2.8.2 j                     
Server1 head NA s /_plugin/head/   

Server2 marvel 1.3.1 j/s /_plugin/marvel/ 
Server2 cloud-azure 2.8.2 j                     
Server2 head NA s /_plugin/head/   

Server3 marvel 1.3.1 j/s /_plugin/marvel/ 
Server3 cloud-azure 2.8.2 j                     
Server3 head NA s /_plugin/head/   

Server4 marvel 1.3.1 j/s /_plugin/marvel/ 
Server4 cloud-azure 2.8.2 j                     
Server4 head NA s /_plugin/head/   

Server4 marvel 1.3.1 j/s /_plugin/marvel/ 
Server4 cloud-azure 2.8.2 j                     
Server4 head NA s /_plugin/head/   

Server5 marvel 1.3.1 j/s /_plugin/marvel/ 
Server5 cloud-azure 2.8.2 j                     
Server5 head NA s /_plugin/head/   

Server6 marvel 1.3.1 j/s /_plugin/marvel/ 
Server6 cloud-azure 2.8.2 j                     
Server6 head NA s /_plugin/head/   

Server7 marvel 1.3.1 j/s /_plugin/marvel/ 
Server7 cloud-azure 2.8.2 j                     
Server7 head NA s /_plugin/head/   

Server8 marvel 1.3.1 j/s /_plugin/marvel/ 
Server8 cloud-azure 2.8.2 j                     
Server8 head NA s /_plugin/head/   

Server9 marvel 1.3.1 j/s /_plugin/marvel/ 
Server9 cloud-azure 2.8.2 j                     
Server9 head NA s /_plugin/head/   

Server10 marvel 1.3.1 j/s /_plugin/marvel/ 
Server10 cloud-azure 2.8.2 j                     
Server10 head NA s /_plugin/head/   

Server11 marvel 1.3.1 j/s /_plugin/marvel/ 
Server11 cloud-azure 2.8.2 j                     
Server11 head NA s /_plugin/head/   

Server12 marvel 1.3.1 j/s /_plugin/marvel/ 
Server12 cloud-azure 2.8.2 j                     
Server12 head NA s /_plugin/head/   

Server13 marvel 1.3.1 j/s /_plugin/marvel/ 
Server13 cloud-azure 2.8.2 j                     
Server13 head NA s /_plugin/head/   

Server14 marvel 1.3.1 j/s /_plugin/marvel/ 
Server14 cloud-azure 2.8.2 j                     
Server14 head NA s /_plugin/head/   

Server15 marvel 1.3.1 j/s /_plugin/marvel/ 
Server15 cloud-azure 2.8.2 j                     
Server15 head NA s /_plugin/head/   

Server16 marvel 1.3.1 j/s /_plugin/marvel/ 
Server16 cloud-azure 2.8.2 j                     
Server16 head NA s /_plugin/head/   

Server17 marvel 1.3.1 j/s /_plugin/marvel/ 
Server17 cloud-azure 2.8.2 j                     
Server17 head NA s /_plugin/head/

```

---

<div class="post-metadata">

**Author:** ![casieowen](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/casieowen/32/8734_2.png) [@casieowen](https://discuss.elastic.co/u/casieowen)\
**Post date:** [April 27, 2016, 4:37pm UTC](https://discuss.elastic.co/t/error-trying-to-create-a-repository-in-azure-no-implementation-for-org-elasticsearch-repositories-repository-was-bound/48077/4 "2016-04-27T16:37:03Z")

</div>

I'm not sure what the problem was, but we got this working. 🙂

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [April 27, 2016, 6:00pm UTC](https://discuss.elastic.co/t/error-trying-to-create-a-repository-in-azure-no-implementation-for-org-elasticsearch-repositories-repository-was-bound/48077/5 "2016-04-27T18:00:46Z")

</div>

Great news! Thanks for the follow up.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 5, 2017, 10:55pm UTC](https://discuss.elastic.co/t/error-trying-to-create-a-repository-in-azure-no-implementation-for-org-elasticsearch-repositories-repository-was-bound/48077/6 "2017-07-05T22:55:48Z")

</div>


