Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate elasticsearch configuration using ansible #366

Open
philbudne opened this issue Feb 19, 2025 · 8 comments
Open

Investigate elasticsearch configuration using ansible #366

philbudne opened this issue Feb 19, 2025 · 8 comments
Assignees

Comments

@philbudne
Copy link
Contributor

Keeping notes about what I learn here...
The issue about cluster configuration is #365

@philbudne philbudne self-assigned this Feb 19, 2025
@philbudne
Copy link
Contributor Author

philbudne commented Feb 19, 2025

The first thing I found is an archived github repo: https://github.com/elastic/ansible-elasticsearch?tab=readme-ov-file
which doesn't support ES 8.x: https://github.com/elastic/ansible-elasticsearch/blob/main/docs/8x-support.md#what-is-not-working

The second thing I found is stuff to manage elastic (snapshots, reindex) using ansible, so not applicable in THIS situation:
https://galaxy.ansible.com/ui/repo/published/community/elastic/docs/
Tho it's possible https://galaxy.ansible.com/ui/repo/published/community/elastic/content/module/elastic_cluster_settings/
might do what we want/need [note: I don't think so... looks like run-time variables]

The third thing: https://github.com/geerlingguy/ansible-role-elasticsearch
"An Ansible Role that installs Elasticsearch on RedHat/CentOS or Debian/Ubuntu."
Author Information: This role was created in 2014 by Jeff Geerling Ansible for DevOps

@philbudne
Copy link
Contributor Author

At Ansible Galaxy:

https://galaxy.ansible.com/ui/standalone/roles/ricardobarbosams/elasticsearch/
https://github.com/ricardobarbosams/elasticsearch (updated 7 months ago)
"This is a role to install Elasticsearch."
Requirements: Ubuntu 22 or previous [we're on Ubuntu 24]

https://galaxy.ansible.com/ui/standalone/roles/shaneholloman/elasticsearch/
An Ansible Role that installs Elasticsearch up to version 7.x on RedHat/CentOS or Debian/Ubuntu.
This role was created in 2023

https://galaxy.ansible.com/ui/standalone/roles/claranet/elasticsearch/
https://github.com/claranet/ansible-role-elasticsearch (updated 8 months ago)
Saw has updates for Ubuntu 24, but nothing (yet) about ES v8 (default elasticsearch_version: 7.17.6)

@philbudne
Copy link
Contributor Author

philbudne commented Feb 19, 2025

@philbudne
Copy link
Contributor Author

philbudne commented Feb 19, 2025

Of the forks of the original elastic ansible role (first link), these seem to have been updated for 8.x:
https://github.com/thuync/ansible-elasticsearch
https://github.com/ES-MAD-GEMMA-ROADMAP/ansible-elasticsearch

Unclear how many (if any) changes are ACTUALLY needed for v8!
(but as mentioned above, updates for ansible changes are needed)

Many have changes for changes to ansible "include" directive.

@pgulley
Copy link
Member

pgulley commented Feb 21, 2025

Great work compiling resources! So it seems we're stuck using a fork of ansible to get this done- I say just pick one that looks good, I'm not sure what input I have that might help differentiate, other than it should probably be minimally different from ansible core so we can keep up with changes there.

@philbudne
Copy link
Contributor Author

The repos I'm looking at aren't forks of ansible proper, but rather add-ins to ansible. ansible has an ecosystem called "ansible galaxy" of add-ins, but I haven't spotted the candidates (last two links above) that seem most promising....

Since we're looking at using someone's github fork (almost certainly of the "role" that elastic published, then dropped support for), I'm wondering if we'll want to make a sub-fork into the mediacloud project, so we're not at risk of having something we depend on disappear or break....

I've put together a "task" to install the agent to report system stats to grafana, testing against a Docker container, and have worked on collecting and arranging the parameters for configuring ES, getting a quick reminder of all the things I hate about ansible (primarily yaml and jinja2 related, but also that it expects data structures to be layed out JUST so), edging closer to trying to install ES into athe container..

@pgulley
Copy link
Member

pgulley commented Feb 24, 2025

Nice work getting a draft up in #367- @thepsalmist, can you take a look at that PR when you get a chance? I think you have the most direct experience setting up ES clusters so I'd love for you to take the lead in making sure we've covered our bases with the main setup procedure here.

@pgulley
Copy link
Member

pgulley commented Feb 28, 2025

Hey Xavier! Just wanted to ask for a status update here- do you think we'll have something working here before next wednesday?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants