Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor Integrations Backend to abstract IO #947

Merged
merged 30 commits into from
Sep 18, 2023

Conversation

Swiddis
Copy link
Collaborator

@Swiddis Swiddis commented Aug 22, 2023

Description

As part of continuing work on enabling remote catalogs, more refactoring for existing code is being done. In particular, we're introducing the concept of a CatalogReader which can be freely swapped out to enable new input sources, such as a URL or a zip file.

The main conversion for the Integrations class is done, but before this PR is ready, there is still some rippling changes to apply, and more tests need updating. In particular, with the introduction of a Result type in #943, the error handling code is being refactored considerably. This PR is just opened early to get an initial look.

Ready for review.

Issues Resolved

N/A

Check List

  • New functionality includes testing.
    • All tests pass, including unit test, integration test and doctest
  • New functionality has been documented.
    • New functionality has javadoc added
    • New functionality has user manual doc added
  • Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Signed-off-by: Simeon Widdis <sawiddis@amazon.com>
Signed-off-by: Simeon Widdis <sawiddis@amazon.com>
Signed-off-by: Simeon Widdis <sawiddis@amazon.com>
Signed-off-by: Simeon Widdis <sawiddis@amazon.com>
This test is unneeded after 12c4bcf

Signed-off-by: Simeon Widdis <sawiddis@amazon.com>
Signed-off-by: Simeon Widdis <sawiddis@amazon.com>
Signed-off-by: Simeon Widdis <sawiddis@amazon.com>
Signed-off-by: Simeon Widdis <sawiddis@amazon.com>
Signed-off-by: Simeon Widdis <sawiddis@amazon.com>
Signed-off-by: Simeon Widdis <sawiddis@amazon.com>
Signed-off-by: Simeon Widdis <sawiddis@amazon.com>
Signed-off-by: Simeon Widdis <sawiddis@amazon.com>
Signed-off-by: Simeon Widdis <sawiddis@amazon.com>
Signed-off-by: Simeon Widdis <sawiddis@amazon.com>
@codecov
Copy link

codecov bot commented Aug 23, 2023

Codecov Report

Merging #947 (ee33a51) into main (e7bdc67) will increase coverage by 0.32%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #947      +/-   ##
==========================================
+ Coverage   43.83%   44.16%   +0.32%     
==========================================
  Files         311      312       +1     
  Lines       18676    18742      +66     
  Branches     4555     4587      +32     
==========================================
+ Hits         8187     8277      +90     
+ Misses      10447     9922     -525     
- Partials       42      543     +501     
Flag Coverage Δ
dashboards-observability 44.16% <ø> (+0.32%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

see 84 files with indirect coverage changes

Signed-off-by: Simeon Widdis <sawiddis@amazon.com>
Signed-off-by: Simeon Widdis <sawiddis@amazon.com>
Signed-off-by: Simeon Widdis <sawiddis@amazon.com>
Let it be known at on this day, with this commit,
I have truly grokked why we don't use `any` in typescript.

Signed-off-by: Simeon Widdis <sawiddis@amazon.com>
Signed-off-by: Simeon Widdis <sawiddis@amazon.com>
Signed-off-by: Simeon Widdis <sawiddis@amazon.com>
@Swiddis Swiddis marked this pull request as ready for review August 23, 2023 20:39
@Swiddis Swiddis added enhancement New feature or request integrations Used to denote items related to the Integrations project labels Aug 23, 2023
Copy link
Contributor

@pjfitzgibbons pjfitzgibbons left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would like to discuss design/architecture of these changes.

@Swiddis
Copy link
Collaborator Author

Swiddis commented Sep 11, 2023

After talking with Peter a bit about potential directions for building on the architecture of this, I've worked out some next steps to maybe work out both comments, will see about getting this PR ready in the next couple days with some corresponding issues for further architecture work.

@Swiddis Swiddis self-assigned this Sep 11, 2023
Signed-off-by: Simeon Widdis <sawiddis@amazon.com>
Signed-off-by: Simeon Widdis <sawiddis@amazon.com>
Signed-off-by: Simeon Widdis <sawiddis@amazon.com>
@Swiddis Swiddis changed the title Refactor Integrations class to rely on CatalogReader Refactor Integrations Backend to abstract IO and simplify logic Sep 14, 2023
@Swiddis Swiddis changed the title Refactor Integrations Backend to abstract IO and simplify logic Refactor Integrations Backend to abstract IO Sep 14, 2023
Signed-off-by: Simeon Widdis <sawiddis@amazon.com>
@Swiddis Swiddis merged commit 35a4d28 into opensearch-project:main Sep 18, 2023
8 of 9 checks passed
@Swiddis Swiddis deleted the prototype-network-catalog branch September 18, 2023 16:11
derek-ho pushed a commit to derek-ho/dashboards-observability that referenced this pull request Oct 4, 2023
pjfitzgibbons added a commit that referenced this pull request Oct 5, 2023
* Update mocha (#960)
* added code for the change of design of the sidebar, fixed overriding … (#928)
* Refactor add_integration_flyout to break out nested methods (#956)
* [Log Explorer] Remove top level tabs (#970)
* Explorer's timeheader & color change (#959)
* Update caching (#965)
* Move query_utils to /public (#983)
* Remove Zeppelin Parser from Notebook (#985)
* Explorer empty bucket (#990)
* refactored classnames for sidebar (#933)
* Refactor Integrations Backend to abstract IO (#947)
* Create React component for Integrations Setup UI (#1009)
* Create Data sources plugin with Manage Datasources Flow  (#1035)
* Manage datasources (#967)
* Add acceleration management UI  (#989)
* Rename data sources to data connections (#1004)
* Add fallback to show if user does not have datasource API permissions (#1008)
* Add access control tab content (#992)
* Delete datasource and Connection Configuration Tab (#1024)
* adjust explorer chart color and spacing (#1051)
* Configure S3 datasource flow (#1049)
* Manage datasources (#967)
* Add acceleration management UI  (#989)
* Rename data sources to data connections (#1004)
* Add fallback to show if user does not have datasource API permissions (#1008)
* Add access control tab content (#992)
* Delete datasource and Connection Configuration Tab (#1024)
* modified explorer data grid to follow discover look and feel (#1041)
* Create prometheus datasource flow (#1054)
* Manage datasources (#967)
* Add acceleration management UI  (#989)
* Rename data sources to data connections (#1004)
* Add fallback to show if user does not have datasource API permissions (#1008)
* Add access control tab content (#992)
* Delete datasource and Connection Configuration Tab (#1024)
* added design changes for sidebar (#1061)
* updated snapshots (#1062)
* Update UI for integrations setup (#1052)
* Data sources UI improvements (#1059)
* adding redirection to datasources (#1063)
* Move convertDateTime, refactor query_utils (#1064)
* Setup S3 connection with integrations (#1057)
* Use approved svg from UX (#1066)
* Fix missing import 'moment' on query_utils. (#1067)

---------

Signed-off-by: Derek Ho <dxho@amazon.com>
Signed-off-by: sumukhswamy <sumukhhs@amazon.com>
Signed-off-by: Eric Wei <menwe@amazon.com>
Signed-off-by: Paul Sebastian <paulstn@amazon.com>
Signed-off-by: Peter Fitzgibbons <peter.fitzgibbons@gmail.com>
Signed-off-by: Shenoy Pratik <sgguruda@amazon.com>
Signed-off-by: Simeon Widdis <sawiddis@gmail.com>
Co-authored-by: sumukhswamy <sumukhhs@amazon.com>
Co-authored-by: Eric Wei <menwe@amazon.com>
Co-authored-by: Paul Sebastian <paul_sebastian@live.com>
Co-authored-by: Peter Fitzgibbons <peter.fitzgibbons@gmail.com>
Co-authored-by: Paul Sebastian <paulstn@amazon.com>
Co-authored-by: Shenoy Pratik <sgguruda@amazon.com>
Co-authored-by: Simeon Widdis <sawiddis@amazon.com>
amsiglan pushed a commit to amsiglan/dashboards-observability that referenced this pull request Jun 7, 2024
* Update mocha (opensearch-project#960)
* added code for the change of design of the sidebar, fixed overriding … (opensearch-project#928)
* Refactor add_integration_flyout to break out nested methods (opensearch-project#956)
* [Log Explorer] Remove top level tabs (opensearch-project#970)
* Explorer's timeheader & color change (opensearch-project#959)
* Update caching (opensearch-project#965)
* Move query_utils to /public (opensearch-project#983)
* Remove Zeppelin Parser from Notebook (opensearch-project#985)
* Explorer empty bucket (opensearch-project#990)
* refactored classnames for sidebar (opensearch-project#933)
* Refactor Integrations Backend to abstract IO (opensearch-project#947)
* Create React component for Integrations Setup UI (opensearch-project#1009)
* Create Data sources plugin with Manage Datasources Flow  (opensearch-project#1035)
* Manage datasources (opensearch-project#967)
* Add acceleration management UI  (opensearch-project#989)
* Rename data sources to data connections (opensearch-project#1004)
* Add fallback to show if user does not have datasource API permissions (opensearch-project#1008)
* Add access control tab content (opensearch-project#992)
* Delete datasource and Connection Configuration Tab (opensearch-project#1024)
* adjust explorer chart color and spacing (opensearch-project#1051)
* Configure S3 datasource flow (opensearch-project#1049)
* Manage datasources (opensearch-project#967)
* Add acceleration management UI  (opensearch-project#989)
* Rename data sources to data connections (opensearch-project#1004)
* Add fallback to show if user does not have datasource API permissions (opensearch-project#1008)
* Add access control tab content (opensearch-project#992)
* Delete datasource and Connection Configuration Tab (opensearch-project#1024)
* modified explorer data grid to follow discover look and feel (opensearch-project#1041)
* Create prometheus datasource flow (opensearch-project#1054)
* Manage datasources (opensearch-project#967)
* Add acceleration management UI  (opensearch-project#989)
* Rename data sources to data connections (opensearch-project#1004)
* Add fallback to show if user does not have datasource API permissions (opensearch-project#1008)
* Add access control tab content (opensearch-project#992)
* Delete datasource and Connection Configuration Tab (opensearch-project#1024)
* added design changes for sidebar (opensearch-project#1061)
* updated snapshots (opensearch-project#1062)
* Update UI for integrations setup (opensearch-project#1052)
* Data sources UI improvements (opensearch-project#1059)
* adding redirection to datasources (opensearch-project#1063)
* Move convertDateTime, refactor query_utils (opensearch-project#1064)
* Setup S3 connection with integrations (opensearch-project#1057)
* Use approved svg from UX (opensearch-project#1066)
* Fix missing import 'moment' on query_utils. (opensearch-project#1067)

---------

Signed-off-by: Derek Ho <dxho@amazon.com>
Signed-off-by: sumukhswamy <sumukhhs@amazon.com>
Signed-off-by: Eric Wei <menwe@amazon.com>
Signed-off-by: Paul Sebastian <paulstn@amazon.com>
Signed-off-by: Peter Fitzgibbons <peter.fitzgibbons@gmail.com>
Signed-off-by: Shenoy Pratik <sgguruda@amazon.com>
Signed-off-by: Simeon Widdis <sawiddis@gmail.com>
Co-authored-by: sumukhswamy <sumukhhs@amazon.com>
Co-authored-by: Eric Wei <menwe@amazon.com>
Co-authored-by: Paul Sebastian <paul_sebastian@live.com>
Co-authored-by: Peter Fitzgibbons <peter.fitzgibbons@gmail.com>
Co-authored-by: Paul Sebastian <paulstn@amazon.com>
Co-authored-by: Shenoy Pratik <sgguruda@amazon.com>
Co-authored-by: Simeon Widdis <sawiddis@amazon.com>
(cherry picked from commit 171acde)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request integrations Used to denote items related to the Integrations project
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants