Skip to content

[Feature/extensions] Run AD backend plugin as an Extension to create a detector #3635

Closed

Description

Image for: Description

Is your feature request related to a problem? Please describe.
To move forward with Anomaly Detection backend plugin as an extension, we plan to start with creating a detector as the first feature to pick up. Currently, we are targeting the detector without scheduling the job for it (removes the dependencies of Job Scheduler) and without auth user(removes the dependencies of Common Utils).To integrate the detector from AD boils down to the following dependencies from OpenSearch

  1. AnomalyDetectorPlugin -> getActions() -> IndexAnomalyDetectorTransportAction
    Dependencies from OpenSearch:
    a. client
    b. transportService
    c. clusterService
    d. NamedXContentRegistry

  2. doExecute
    Dependencies from OpenSearch:
    a. ActionListener actionListener
    b. User from Common Utils

  3. initAnomalyDetectorIndex
    Dependencies from OpenSearch:
    a. CreateIndexRequest API

The action items to achieve the above:

  1. [FEATURE] Utilize the codebase required to create a detector from Anomaly Detector Plugin opensearch-sdk-java#20.
  2. [META] Create Transport APIs for the dependencies of OpenSearch for creating detector opensearch-sdk-java#21
  3. [META] APIs for Extension Point for creating a detector of AD opensearch-sdk-java#100
  4. [FEATURE] Remove dependent code associated with the Client thread pool/context in AD for creating detector opensearch-sdk-java#22
  5. [FEATURE] Remove the ThreadContext dependency on the User from Common Utils for creating detector opensearch-sdk-java#23
  6. [META] Migrate Anomaly Detector plugin to work as an Extension opensearch-sdk-java#24
  7. Meta: [FEATURE/Extensions] Interaction of AD Extension with OpenSearch opensearch-sdk-java#132

Next Steps:

  1. Feature to update the detector
  2. Deleting the detector
  3. Validating the detector

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Metadata

Image for: Metadata

Metadata

Image for: Metadata

Assignees

Labels

Build Libraries & InterfacesMetaMeta issue, not directly linked to a PRenhancementEnhancement or improvement to existing feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

Image for: Issue actions