Currently you have a policy of enforcing bootstrap checks if not binding to localhost. This prevents me from testing on circleci because the docker test setup there does not bind to localhost and starting the elasticsearch container fails due to
[2017-04-02T03:30:05,591][INFO ][o.e.b.BootstrapChecks ] [Vwkcgeo] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
ERROR: bootstrap checks failed
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[2017-04-02T03:30:05,597][INFO ][o.e.n.Node ] [Vwkcgeo] stopping ...
[2017-04-02T03:30:05,659][INFO ][o.e.n.Node ] [Vwkcgeo] stopped
[2017-04-02T03:30:05,660][INFO ][o.e.n.Node ] [Vwkcgeo] closing ...
[2017-04-02T03:30:05,667][INFO ][o.e.n.Node ] [Vwkcgeo] closed
Exited with code 78
It would be nice if we could explicitly disable bootstrap checks.
Relief is coming for the this scenario. See #23598.
Great. Thanks. Also figured out the transport trick. I was able to use circleci by setting the transport.host to localhost as follows in the circleci config.yml:
...
- image: docker.elastic.co/elasticsearch/elasticsearch:5.2.2
environment:
xpack.security.enabled: false
transport.host: localhost
That's right. If you do not need transport, that's the preferred and simplest option. :smile:
We have added a new discovery type suitable for binding transport to an external interface for the purpose of testing the transport client against Elasticsearch in situations where might not have permissions to modify the configuration of the host to pass the bootstrap checks (for example, CI providers). To summarize the situation:
single-nodesingle-node it can not form a cluster with another nodesingle-node the bootstrap checks are disabledsingle-node in production, they should enable the system property es.enable.bootstrap.checks to force the bootstrap checks to run; they are at their own risk if they do not do thisThis is documented in the bootstrap checks docs.
This will be available starting with Elasticsearch 5.4.0.
Relates #23585, relates #23595, relates #23598
I have been trying your example with no luck, thoughts on https://stackoverflow.com/questions/46597848/circleci-2-ruby-rails-elastic-search
@chrishough
I have been trying your example with no luck
Please don't append new problems onto closed github issues - the difficulty you are facing has nothing to do with this particular issue. I realise that probably isn't clear to you - you're just facing an problem with circle-ci and this is a circle-ci ticket, but that's exactly why you shouldn't just add these comments onto someone else's issue until you actually know that it's the same problem.
In the future, please ask these sorts of questions on our discussion forum where someone can help diagnose it for you.
In this case, I will save you the trouble and answer on stackoverflow.
Will do, I appreciate your guidance as I have been battling this for awhile now and figured that SO post would be great for the community.
Most helpful comment
We have added a new discovery type suitable for binding transport to an external interface for the purpose of testing the transport client against Elasticsearch in situations where might not have permissions to modify the configuration of the host to pass the bootstrap checks (for example, CI providers). To summarize the situation:
single-nodesingle-nodeit can not form a cluster with another nodesingle-nodethe bootstrap checks are disabledsingle-nodein production, they should enable the system propertyes.enable.bootstrap.checksto force the bootstrap checks to run; they are at their own risk if they do not do thisThis is documented in the bootstrap checks docs.
This will be available starting with Elasticsearch 5.4.0.
Relates #23585, relates #23595, relates #23598