Skip to content

feat(roles/opensearch)!: support OpenSearch 3.x, drop 1.x - #508

Merged
NavidSassan merged 3 commits into
mainfrom
feat/opensearch-3.x
Oct 27, 2026
Merged

NavidSassan merged 3 commits into
mainfrom
feat/opensearch-3.x

Conversation

@NavidSassan

Copy link
Copy Markdown
Member

Drops OpenSearch 1.x and supports 2.x and 3.x in repo_opensearch and opensearch.

opensearch

  • 3.x-opensearch.yml.j2 based on 3.9.0 with the LFOps lines of the previous template; the 1.x template is removed and the role aborts on a 1.x host.
  • 2.x template synced to 2.19.7 (upstream only added two commented blocks); sysconfig based on 3.9.0 (adds the Neural Search library path, as the package does).
  • Fix: the transport layer used node-http.key, now node-transport.key.
  • README: upgrade from 2.x to 3.x, incl. the manual jvm.options.rpmnew step (the kept 2.x jvm.options stops 3.x from starting).

repo_opensearch

  • The controller downloaded the key to a fixed /tmp path and get_url never refreshed it, so the second host or a switch from 2.x to 3.x got the wrong key (Bad GPG signature). The file name now carries the series.
  • The armored key was stored as .pgp, which Ubuntu 26.04 ignores; now .asc, the old file is removed.
  • The 2.x signing key binds its user ID with SHA-1: verified that it fails on Rocky 10.2 (Policy rejects ... No binding signature) and Debian 13 (SHA1 is not considered secure since 2026-02-01), works on Rocky 8/9, Debian 12 and Ubuntu 22.04/24.04/26.04. Documented, the role does not change the crypto policy.

Tests: the real playbook in ubi-init containers on Rocky 8 and 9 with 2.19.7 and 3.9.0 (security plugin with own CA, internal users, heap), Rocky 10 with 3.9.0 (needs a test-only systemd sandbox drop-in under rootless podman), in-place upgrade 2.19.7 -> 3.9.0 on Rocky 9, repo_opensearch on Debian 13 and Ubuntu 26.04. Not tested: multi-node cluster (transport key), the role on Debian/Ubuntu, opensearch:generate_certs. No Molecule scenario exists.

… store it as .asc

get_url kept the key the controller downloaded first, so mixing 2.x and
3.x hosts failed with "Bad GPG signature". Ubuntu 26.04 ignores an armored
key named .pgp. Document that the 2.x key is rejected on RHEL 10 and
Debian 13 (SHA-1 binding signature, verified on Rocky 10.2 and Debian 13).
The 3.x template is based on opensearch 3.9.0, the 2.x template is synced
to 2.19.7 and the sysconfig template is based on 3.9.0. The transport
layer uses node-transport.key instead of node-http.key. The README
describes the upgrade from 2.x, including the jvm.options.rpmnew step.

BREAKING CHANGE: OpenSearch 1.x is no longer supported.
@NavidSassan
NavidSassan merged commit bf67363 into main Oct 27, 2026
13 checks passed
@NavidSassan
NavidSassan deleted the feat/opensearch-3.x branch October 27, 2026 15:29
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

Successfully merging this pull request may close these issues.

1 participant