29 Commits

Author SHA1 Message Date
David Pilato
b2247c977a prepare release elasticsearch-cloud-gce-2.0.0.RC1 2014-01-15 19:07:03 +01:00
David Pilato
853519ae95 Update to elasticsearch 1.0.0.RC1
Closes #7.
2014-01-13 16:12:52 +01:00
David Pilato
431f704d6d Move tests to elasticsearch test framework
Closes #8.
2014-01-13 16:07:27 +01:00
David Pilato
cc786941f4 update headers 2014-01-13 14:57:16 +01:00
David Pilato
0c0d4b9731 Create CONTRIBUTING.md 2013-08-21 11:55:59 +02:00
David Pilato
866880e26d Move version table to markdown format 2013-08-10 18:43:13 +02:00
David Pilato
e2f6e5c152 prepare for next development iteration 2013-08-09 10:08:33 +02:00
David Pilato
1930c09eb2 prepare release elasticsearch-cloud-gce-1.1.0 2013-08-09 10:00:44 +02:00
David Pilato
ed562689f7 Update to Elasticsearch 0.90.3.
Closes #5.
2013-08-09 09:58:38 +02:00
David Pilato
b04b24c91a Fix path for tests 2013-08-09 09:39:14 +02:00
David Pilato
615b1f63e5 Moving log level to debug
We don't want to have too much INFO log level. So we move some parts to log.debug.

Closes #4.
2013-07-23 17:55:55 +02:00
David Pilato
27521f61f3 Fix version number in plugin -install command 2013-07-23 13:41:48 +02:00
David Pilato
d8f308c2ed prepare for next development iteration 2013-07-23 13:40:09 +02:00
David Pilato
e0a99df201 prepare release elasticsearch-cloud-gce-1.0.0 2013-07-23 13:17:44 +02:00
David Pilato
c57903dbaf Cleaning code before release 2013-07-23 13:17:44 +02:00
David Pilato
2814c51c24 Changes after @imotov review. 2013-07-09 18:55:56 +02:00
David Pilato
6c0cc5f678 Make documentation more readable 2013-07-08 22:44:18 +02:00
David Pilato
aaa4768131 Add support for metadata es_port. If you run on a specific port, it will indicate it to GCE plugin. By default, 9300 will be used. 2013-07-08 15:44:24 +02:00
David Pilato
ca45569f0e Adding JUnit test using GCE API Mock 2013-07-08 15:15:41 +02:00
David Pilato
0d40a0e2f9 Trying to Mock GCE API for tests 2013-07-01 23:17:14 +02:00
David Pilato
530ae2169e By default, we don't cache GCE API calls
`refresh_interval` = 0.
2013-07-01 18:13:05 +02:00
David Pilato
1602d82186 Move all discovery process to GceUnicastHostsProvider
We want to be able to rebuild the full list of existing nodes each time we need it so we don't want to have a fixed list of nodes.
2013-07-01 17:56:41 +02:00
David Pilato
db86c13a4e Update documentation.
Thanks to @spinscale
2013-06-28 16:29:40 +02:00
David Pilato
e734028ae2 Google service account name is not required 2013-06-28 16:27:13 +02:00
David Pilato
e3b08e3481 Update documentation.
Thanks to @spinscale
2013-06-28 16:25:19 +02:00
David Pilato
0a088c6a0c Ignore TERMINATED instances
When an instance is removed, its status become `TERMINATED`.
As stated in [GCE Documentation](https://developers.google.com/compute/docs/instances#checkmachinestatus):

> TERMINATED - The instance either failed for some reason or was shutdown. This is a permanent status, and the only way to repair the instance is to delete and recreate it.

So we need to ignore instances with such a status.

Closes #3.
2013-06-28 15:49:18 +02:00
David Pilato
703c2b3e82 Filtering by tags
-----------------

The GCE discovery can also filter machines to include in the cluster based on tags using `discovery.gce.tags` settings.
For example, setting `discovery.gce.tags` to `dev` will only filter instances having a tag set to `dev`. Several tags
set will require all of those tags to be set for the instance to be included.

One practical use for tag filtering is when an GCE cluster contains many nodes that are not running
elasticsearch. In this case (particularly with high ping_timeout values) there is a risk that a new node's discovery
phase will end before it has found the cluster (which will result in it declaring itself master of a new cluster
with the same name - highly undesirable). Adding tag on elasticsearch GCE nodes and then filtering by that
tag will resolve this issue.

Add your tag when building the new instance:

```sh
gcutil --project=es-cloud addinstance myesnode1 --service_account_scope=compute-rw --persistent_boot_disk \
       --tags=elasticsearch,dev
```

Then, define it in `elasticsearch.yml`:

```yaml
  cloud:
      gce:
          project_id: es-cloud
          zone: europe-west1-a
  discovery:
          type: gce
          gce:
                tags: elasticsearch, dev
```
Closes #2.
2013-06-28 15:44:52 +02:00
David Pilato
5e14147991 Add cloud discovery for google compute engine
Google Compute Engine VM discovery allows to use the google APIs to perform automatic discovery (similar to multicast in non hostile
multicast environments). Here is a simple sample configuration:

```yaml
  cloud:
      gce:
          project_id: <your-google-project-id>
          zone: <your-zone>
  discovery:
          type: gce
```

How to start (short story)
--------------------------

* Create Google Compute Engine instance
* Install Elasticsearch
* Install Google Compute Engine Cloud plugin
* Modify `elasticsearch.yml` file
* Start Elasticsearch

Closes #1.
2013-06-28 09:45:02 +02:00
David Pilato
222b36344f Initial commit 2013-06-28 09:22:10 +02:00