OpenMetadata icon indicating copy to clipboard operation
OpenMetadata copied to clipboard

TEST - Allow to run integration tests with opensearch

Open pmbrull opened this issue 1 month ago • 1 comments

Describe your changes:

Give us the chance to prepare integration tests with opensearch. Useful for some collate integrations we have going on with OS

Type of change:

  • [ ] Bug fix
  • [ ] Improvement
  • [ ] New feature
  • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • [ ] Documentation

Checklist:

  • [x] I have read the CONTRIBUTING document.
  • [ ] My PR title is Fixes <issue-number>: <short explanation>
  • [ ] I have commented on my code, particularly in hard-to-understand areas.
  • [ ] For JSON Schema changes: I updated the migration scripts or explained why it is not needed.

Summary by Gitar

  • Test infrastructure enhancement:
    • Added opt-in OpenSearch support to OpenMetadataApplicationTest via runWithOpensearch flag (default: Elasticsearch)
  • New test file:
    • OpenSearchConfigurationTest validates OpenSearch container startup, configuration, and cluster health
  • Container management:
    • GenericContainer for OpenSearch 2.11.0 with security disabled and HTTP health checks

This will update automatically on new commits.


pmbrull avatar Dec 10 '25 13:12 pmbrull

🔍 CI failure analysis for 2b6b8fc: Four CI failures: IBM timeout, Playwright E2E tests (3 failures), and Python lineage tests (2 failures on both 3.10 & 3.11)

Multiple CI Failures Detected

Four distinct types of CI failures affecting this PR.


Failure 1: py-run-build-tests (Infrastructure)

Issue: Docker build timeout downloading IBM DB2 drivers
Status: Recurring infrastructure issue, NOT related to PR


Failure 2: playwright-ci-postgresql (6, 6) - 3 Test Failures

Test Results: 370 passed, 3 failed, 21 skipped (1.1h duration)

Failed Tests:

  1. Lineage creation from Container entity
  2. Lineage creation from Metric entity
  3. Tag Page with Limited EditTag Permission

Error: Timed out 5000ms waiting for expect(locator).not.toBeVisible()

Status: POTENTIALLY related to PR changes - test infrastructure modifications could affect UI test behavior


Failures 3 & 4: py-run-tests Python 3.10 & 3.11 - PostgreSQL Lineage Tests

Issue

Both Python test jobs failed with identical 2 test failures:

FAILED ingestion/tests/integration/postgres/test_lineage.py::test_native_lineage[includeDDL=False-]
FAILED ingestion/tests/integration/postgres/test_lineage.py::test_native_lineage[includeDDL=True-]

Test Results:

  • Python 3.11: 2 failed, 484 passed, 21 skipped (1:11:55)
  • Python 3.10: 2 failed, 484 passed, 21 skipped (1:10:17)

Root Cause

The lineage extraction workflow fails to parse PostgreSQL CREATE TRIGGER and CREATE FUNCTION statements using SqlFluff. Tests expect 3 lineage nodes but get 0.

This is the same pre-existing issue from earlier commits - SqlFluff parser cannot handle PostgreSQL-specific syntax:

  • CREATE TRIGGER ... EXECUTE PROCEDURE statements
  • CREATE FUNCTION ... RETURNS trigger statements
  • PL/pgSQL function bodies

Suggested Fix

  1. Update SqlFluff dialect configuration to use 'postgres' instead of generic
  2. Add trigger/procedure support to lineage parser
  3. Improve function parsing for PL/pgSQL
  4. Consider using PostgreSQL-native parser

Status

NOT related to this PR's changes - this is a pre-existing test failure that has persisted across multiple commits. The PR only modifies Java test infrastructure for OpenSearch support.


Summary

4 CI failure types:

  1. py-run-build-tests - IBM server timeout (infrastructure) - NOT related to PR
  2. playwright-ci-postgresql - 3 E2E test failures (Lineage, Tag) - POTENTIALLY related to PR
  3. py-run-tests (Python 3.11) - 2 PostgreSQL lineage test failures - NOT related to PR (pre-existing)
  4. py-run-tests (Python 3.10) - 2 PostgreSQL lineage test failures - NOT related to PR (pre-existing)

Recommendations

  1. Playwright failures: Re-run to determine if consistent or flaky
  2. PostgreSQL lineage tests: These are pre-existing failures unrelated to OpenSearch changes
  3. IBM timeout: Infrastructure team should add retry logic to Dockerfile

[!TIP] Comment Gitar fix CI or enable auto apply.

Auto-apply is off - Gitar will not commit updates to this branch. Enable by commenting gitar auto-apply:on. Was this helpful? React with 👍 / 👎 | This comment will update automatically (Docs)

gitar-bot[bot] avatar Dec 10 '25 17:12 gitar-bot[bot]