Commit Graph

52 Commits

Author SHA1 Message Date
David Pilato e35e51556e Fix tests
When upgrading to elasticsearch 1.2.1 test framework, some tests are not working anymore because of
`ElasticsearchIntegrationTest#ensureClusterSizeConsistency()` method which check that the number of started nodes
is the number of available nodes in the cluster.

Disabling them temporary.

Also, a new clientNode could be added (depends on seed). It adds a node more than expected.

(cherry picked from commit bcc2cd5)
2014-06-15 23:32:04 +02:00
David Pilato 81742c3c1d Update to elasticsearch 1.3.0
Closes #24.

(cherry picked from commit 9c62411)
2014-06-15 23:31:42 +02:00
David Pilato 37474b43d6 Update instructions for GCE
Some tools have changed on GCE platform.
We need to update the documentation.

Closes #23.
2014-06-15 11:00:16 +02:00
David Pilato b1e27bbb32 NPE when no tags on instance
When no tags exists on other running instances and if we try to filter by tag, we get the following error:

```
[2014-05-19 16:17:37,377][DEBUG][discovery.gce            ] [Theresa Cassidy] start building nodes list using GCE API
[2014-05-19 16:17:37,378][INFO ][cloud.gce                ] [Theresa Cassidy] starting GCE discovery service
[2014-05-19 16:17:37,592][TRACE][discovery.gce            ] [Theresa Cassidy] gce instance hadoop1 with status RUNNING found.
[2014-05-19 16:17:37,597][TRACE][discovery.gce            ] [Theresa Cassidy] start filtering instance hadoop1 with tags [elasticsearch, dev].
[2014-05-19 16:17:37,597][TRACE][discovery.gce            ] [Theresa Cassidy] comparing instance tags null with tags filter [elasticsearch, dev].
[2014-05-19 16:17:37,597][WARN ][discovery.gce            ] [Theresa Cassidy] Exception caught during discovery java.lang.NullPointerException : null
[2014-05-19 16:17:37,597][TRACE][discovery.gce            ] [Theresa Cassidy] Exception caught during discovery
java.lang.NullPointerException
    at org.elasticsearch.discovery.gce.GceUnicastHostsProvider.buildDynamicNodes(GceUnicastHostsProvider.java:157)
    at org.elasticsearch.discovery.zen.ping.unicast.UnicastZenPing.sendPings(UnicastZenPing.java:245)
    at org.elasticsearch.discovery.zen.ping.unicast.UnicastZenPing$2.run(UnicastZenPing.java:176)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)
[2014-05-19 16:17:37,598][DEBUG][discovery.gce            ] [Theresa Cassidy] 0 node(s) added
[2014-05-19 16:17:37,598][DEBUG][discovery.gce            ] [Theresa Cassidy] using dynamic discovery nodes []
```

Closes #22.
2014-06-15 10:59:32 +02:00
David Pilato 7d7b2241e5 Update to Lucene 4.8.0/ elasticsearch 2.0.0
Latest changes break tests

Closes #21.
(cherry picked from commit 04c77e8)
2014-04-29 22:05:41 +02:00
David Pilato 314b146fd5 Create branch es-1.2 2014-04-29 21:59:10 +02:00
David Pilato c0d047dccb Fix tests when running mvn tests
(cherry picked from commit 1edd72e)
2014-04-16 08:01:35 +02:00
David Pilato 89c29c4404 Fix log
Related to #19.
2014-04-14 23:45:17 +02:00
David Pilato 290fb027c3 Upgrade to GCE v1-rev15-1.18.0-rc API
Closes #19.
2014-04-14 23:36:24 +02:00
David Pilato a181b711f2 Fix typo 2014-03-26 20:38:37 +01:00
David Pilato 3643233670 Update to elasticsearch master 2014-03-26 20:25:28 +01:00
David Pilato 4f04ded852 Run tests with only one JVM
(cherry picked from commit d003f39)
2014-03-26 20:09:59 +01:00
David Pilato c5a03cb448 Create branches according to elasticsearch versions
We create branches:

* es-0.90 for elasticsearch 0.90
* es-1.0 for elasticsearch 1.0
* es-1.1 for elasticsearch 1.1
* master for elasticsearch master

We also check that before releasing we don't have a dependency to an elasticsearch SNAPSHOT version.

Add links to each version in documentation
(cherry picked from commit a51926c)
2014-03-26 19:58:45 +01:00
David Pilato d71fd1f02d Disable java and maven version checking
And fix typo in email html
2014-03-19 22:16:33 +01:00
David Pilato cbca1c4838 prepare for next development iteration 2014-03-12 12:19:17 +01:00
David Pilato cba743df3f prepare release elasticsearch-cloud-gce-2.0.0 2014-03-12 12:14:09 +01:00
David Pilato 6aa36aa5be Move tests to elasticsearch test framework
Closes #16.
2014-03-12 12:03:27 +01:00
David Pilato f39ba93ca8 Update to elasticsearch 1.0.0
Closes #14.
2014-03-11 17:45:58 +01:00
David Pilato 91bc7f8aff Add plugin release semi-automatic script
Closes #13.
2014-03-11 17:39:10 +01:00
David Pilato 7fa9d94319 Update with 1.2.0 release 2014-01-29 11:46:42 +01:00
David Pilato 4f11862cce Update to GCE API 1.17.0-rc
Seen in #9, Google changed its APIs. We need to update as it previous version causes a `404` error.

Closes #12.
Closes #9.
2014-01-29 11:21:45 +01:00
David Pilato b065179367 Add more traces when failing 2014-01-28 21:46:00 +01:00
David Pilato fd0354e26f prepare for next development iteration 2014-01-15 19:51:46 +01:00
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