opensearch-project / opensearch-api-specification

API specification for OpenSearch
Apache License 2.0
34 stars 62 forks source link

add workload management querygroup api specs #649

Closed ruai0511 closed 3 weeks ago

ruai0511 commented 3 weeks ago

Description

API spec for workload management, more specifically, for the query group lifecycle APIs. Related PR: https://github.com/opensearch-project/OpenSearch/pull/14680, https://github.com/opensearch-project/OpenSearch/pull/14775/, https://github.com/opensearch-project/OpenSearch/pull/14735, https://github.com/opensearch-project/OpenSearch/pull/14709

github-actions[bot] commented 3 weeks ago

Changes Analysis

Commit SHA: dae9c9890d0c71e01aeb9c0672327b478f1437da Comparing To SHA: 931a61ae023b453e3611f37a802ef27b9c4877a1

API Changes

Summary

├─┬Paths
│ ├──[➕] path (9221:3)
│ └──[➕] path (9190:3)
└─┬Components
  ├──[➕] requestBodies (26973:7)
  ├──[➕] requestBodies (26967:7)
  ├──[➕] responses (30073:7)
  ├──[➕] responses (30099:7)
  ├──[➕] responses (30079:7)
  ├──[➕] responses (30088:7)
  ├──[➕] parameters (25354:7)
  ├──[➕] parameters (25340:7)
  ├──[➕] parameters (25347:7)
  ├──[➕] schemas (56280:7)
  ├──[➕] schemas (56361:7)
  ├──[➕] schemas (56372:7)
  └──[➕] schemas (56317:7)
Document Element Total Changes Breaking Changes
paths 2 0
components 13 0

Report

The full API changes report is available at: https://github.com/opensearch-project/opensearch-api-specification/actions/runs/11601758306/artifacts/2125468248

API Coverage

Before After Δ
Covered (%) 588 (57.59 %) 588 (57.59 %) 0 (0 %)
Uncovered (%) 433 (42.41 %) 433 (42.41 %) 0 (0 %)
Unknown 30 35 5
github-actions[bot] commented 3 weeks ago

Spec Test Coverage Analysis

Total Tested
510 320 (62.75 %)
ruai0511 commented 3 weeks ago

Workload Management plugin is only available in 2.17.0, but when I use the default ${OPENSEARCH_VERSION:-latest} in docker-compose file, it only gives 2.14.0. So I hardcoded 2.17.0 in it. I'm wondering if there's any better ways of doing it?

ruai0511 commented 3 weeks ago

Thanks!

The docker compose in tests/plugins/wlm is identical to the default one. We do custom plugins/xyz for when additional setup is required, so move this into tests/default and you don't need a special entry in the CI matrix.

The default docker compose uses ${OPENSEARCH_VERSION:-latest} which is 2.14.0, but we need 2.17.0 here. That's why I put the tests in plugin since we need Dockerfile (to install the workload-management plugin) and docker compose with version 2.17.0

dblock commented 3 weeks ago

Thanks! The docker compose in tests/plugins/wlm is identical to the default one. We do custom plugins/xyz for when additional setup is required, so move this into tests/default and you don't need a special entry in the CI matrix.

The default docker compose uses ${OPENSEARCH_VERSION:-latest} which is 2.14.0, but we need 2.17.0 here. That's why I put the tests in plugin since we need Dockerfile (to install the workload-management plugin) and docker compose with version 2.17.0

You should upgrade that number, and it's 2.17 in CI: https://github.com/opensearch-project/opensearch-api-specification/blob/main/.github/workflows/test-spec.yml

ruai0511 commented 3 weeks ago

Thanks! The docker compose in tests/plugins/wlm is identical to the default one. We do custom plugins/xyz for when additional setup is required, so move this into tests/default and you don't need a special entry in the CI matrix.

The default docker compose uses ${OPENSEARCH_VERSION:-latest} which is 2.14.0, but we need 2.17.0 here. That's why I put the tests in plugin since we need Dockerfile (to install the workload-management plugin) and docker compose with version 2.17.0

You should upgrade that number, and it's 2.17 in CI: https://github.com/opensearch-project/opensearch-api-specification/blob/main/.github/workflows/test-spec.yml

wlm is not installed by default. So we still need a separate dockerfile to install it and think it should be in the plugins directory

dblock commented 3 weeks ago

Thanks! The docker compose in tests/plugins/wlm is identical to the default one. We do custom plugins/xyz for when additional setup is required, so move this into tests/default and you don't need a special entry in the CI matrix.

The default docker compose uses ${OPENSEARCH_VERSION:-latest} which is 2.14.0, but we need 2.17.0 here. That's why I put the tests in plugin since we need Dockerfile (to install the workload-management plugin) and docker compose with version 2.17.0

You should upgrade that number, and it's 2.17 in CI: https://github.com/opensearch-project/opensearch-api-specification/blob/main/.github/workflows/test-spec.yml

wlm is not installed by default. So we still need a separate dockerfile to install it and it should be in the plugins directory

Sorry to be a pest, the plugin is called workload-management not wlm so let's make the folder tests/plugins/workload-management? The namespace is correct, since the route is wlm.