Skip to content

chore(opensearch): bump OS 3.x test environments to 3.8.0 (#37059) - #37060

Open
fabrizzio-dotCMS wants to merge 1 commit into
mainfrom
issue-37059-bump-opensearch-3-8-0
Open

chore(opensearch): bump OS 3.x test environments to 3.8.0 (#37059)#37060
fabrizzio-dotCMS wants to merge 1 commit into
mainfrom
issue-37059-bump-opensearch-3-8-0

Conversation

@fabrizzio-dotCMS

@fabrizzio-dotCMS fabrizzio-dotCMS commented Aug 13, 2026

Copy link
Copy Markdown
Member

Proposed Changes

Fixes #37059

Every OpenSearch 3.x target in the repo was pinned to 3.4.0 or older, while the latest released OpenSearch 3.x is 3.8.0. This bumps all of them.

File Setting Before After
docker/docker-compose-examples/single-node-os-migration/docker-compose.yml opensearch3 image 3.4.0 3.8.0
docker/docker-compose-examples/single-node-os-migration/docker-compose.yml opensearch3-dashboards image 3.0.0 3.8.0
environments/environment.properties docker.image.search.upgrade 3.4.0 3.8.0
dotCMS/src/docker-compose/it-test/docker-compose.yml OS_IMAGE_UPGRADE default 3.0.0 3.8.0

Plus the docs that spelled the version out: the single-node-os-migration README service table and docs/backend/OPENSEARCH_MIGRATION_TESTER_GUIDE.md (which described the target engine as "OpenSearch 3.4").

A drift worth calling out: the it-test compose fallback was 3.0.0older than what Maven actually injects from environment.properties (3.4.0). Anyone running that compose file directly got a different engine than CI did. Both now say 3.8.0.

What is deliberately not touched — every 1.x pin stays exactly where it is. That includes docker.image.search=opensearchproject/opensearch:1.3.6 (the <opensearch> container in parent/pom.xml, i.e. the engine every integration test runs against), the ES_IMAGE fallbacks in the it-test / local-run composes, the CLI test resources, and the ~10 examples on opensearchproject/opensearch:1 (single-node, cluster-mode, with-redis, experiments, lgtm-observability, push-publish, dev-env/Dockerfile).

Per docs/backend/OPENSEARCH_MIGRATION.md, the ES / OS 1.x side is the engine we are migrating away from — its lifecycle runs active → active (fallback) → decommissioned across phases 0–3. It is a frozen baseline, not a version target. Only the OS 3.x side (the shadow index that gets promoted to primary at Phase 3) moves forward. Bumping the 1.x baseline would also put every integration test on a different engine than the one the migration is defined against, for no migration benefit.

Why

From the OpenSearch migration status thread in #feat-opensearch-upgrade (Aug 13, 2026) — Todd Jacobsen:

Our docker-compose examples use opensearch 3.4 but the latest available version is 3.8. We should bump all our OS test envs to 3.8 and check for compatibility

Added urgency: single-node-os-migration is the reference stack we're about to hand to a self-hosted customer so they can test the LTS→EG changeover together with the OpenSearch upgrade. It shouldn't ship pointing four minors behind.

Checklist

How to Test

docker.image.search.upgrade feeds the opensearch-upgrade Maven profile (dotcms-integration/pom.xml) and every phase-suite run, so CI on this PR is the compatibility check — no separate harness needed.

  1. Upgrade suite against OS 3.8.0:
    just test-integration-upgrade
    # or: ./mvnw verify -pl :dotcms-integration -Dcoreit.test.skip=false -Dopensearch.upgrade.test=true
  2. Phase sweep — exercises dual-write, OS reads, and the Phase 3 cutover:
    just test-integration-phase-all
  3. The example stack boots clean:
    cd docker/docker-compose-examples/single-node-os-migration && docker compose up -d
    Both provisioners should complete, dotCMS should start, and content should index into the OS 3.8.0 cluster (https://localhost:9201, dashboards on http://localhost:5602).

Latest tags verified on Docker Hub 2026-08-13: opensearchproject/opensearch3.8.0, opensearchproject/opensearch-dashboards3.8.0.

🤖 Generated with Claude Code

@claude

claude Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Claude finished @fabrizzio-dotCMS's task in 40s —— View job


PR Review: bump OS 3.x test environments to 3.8.0

  • Read PR diff against origin/main
  • Verify compose image pins and check for lingering 3.4.0/3.0.0 references
  • Post review

No issues found.

This is a config/docs-only version bump. I verified:

  • docker-compose.yml — dashboards image and the two header comments now read 3.8.0. The opensearch3 engine image at line 97 is already opensearchproject/opensearch:3.8.0, so the PR-body table row claiming 3.4.0 → 3.8.0 for that image doesn't correspond to a change in this diff (final state is correct either way — just a cosmetic mismatch in the description, not a code problem).
  • environment.propertiesdocker.image.search.upgrade3.8.0; the docker.image.search=…:1.3.6 1.x baseline correctly left untouched per the migration lifecycle.
  • it-test/docker-compose.ymlOS_IMAGE_UPGRADE default → 3.8.0, resolving the 3.0.0 drift the PR body flags.
  • Docs (README.md, OPENSEARCH_MIGRATION_TESTER_GUIDE.md) — updated to 3.8/3.8.0 consistently.
  • Grepped docker/, dotCMS/src/docker-compose/, environments/, and the tester guide — no remaining OpenSearch 3.4.0/3.0.0 pins. The only 3.4.0/3.4.5 hits are unrelated Maven plugin versions in parent/pom.xml.

Correctness of the actual 3.8.0 engine compatibility is what CI on this PR validates (upgrade + phase suites), as noted in the description — that's the right gate for this change.

• branch issue-37059-bump-opensearch-3-8-0

@claude

claude Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

(test comment retracted)

Every OpenSearch 3.x target was pinned to 3.4.0 or older while 3.8.0 is the
latest release. Bumps all of them and aligns the two that had drifted apart:
the it-test compose fallback (3.0.0) was older than what Maven actually
injects from environment.properties (3.4.0).

- single-node-os-migration: opensearch 3.4.0 -> 3.8.0,
  opensearch-dashboards 3.0.0 -> 3.8.0
- environments/environment.properties: docker.image.search.upgrade -> 3.8.0
- it-test/docker-compose.yml: OS_IMAGE_UPGRADE default -> 3.8.0
- docs: migration tester guide + example README now say 3.8

docker.image.search.upgrade drives the opensearch-upgrade Maven profile and
the phase suites, so OpenSearchUpgradeSuite and the phase sweep run against
3.8.0 from here on -- that is the compatibility check this bump needs.

The OS 1.x images (opensearch:1 / 1.3.6) are untouched: they are the product
baseline, not an OS 3.x test env.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@fabrizzio-dotCMS
fabrizzio-dotCMS force-pushed the issue-37059-bump-opensearch-3-8-0 branch from b33dbcc to 639129c Compare August 14, 2026 14:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area : Backend PR changes Java/Maven backend code Area : Documentation PR changes documentation files

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

Bump all OpenSearch 3.x test environments to 3.8.0 and verify compatibility

1 participant