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

[Enhancement] Display cluster-level information in the ReactFlow workspace #377

Open
ohltyler opened this issue Sep 13, 2024 · 8 comments
Open
Assignees
Labels
enhancement New feature or request workflow details

Comments

@ohltyler
Copy link
Member

ohltyler commented Sep 13, 2024

The current view of ingest and search pipelines in the ReactFlow workspace is ambiguous on where/when these resources are created. A few ways this can be improved.

  1. (first goal) Where the resources are created. We should display the cluster (local or remote) within the workspace in a visual way. Perhaps a larger parent node encapsulating both the ingest and search flows (see example below). At the least, have more helpful text indicating that these pipelines are being built within the specified cluster.
Screenshot 2024-09-13 at 1 50 15 PM
  1. (stretch goal): When the resources are created. Users will iteratively build out these pipelines, and we should reflect what is created only after the users create them, not just based on the UI configuration. This could mean showing the pipelines as greyed-out/disabled, or not shown at all, until they are concretely provisioned.

Example:

Screenshot 2024-09-13 at 1 56 45 PM
@dblock
Copy link
Member

dblock commented Oct 7, 2024

[Catch All Triage - 1, 2, 3, 4]

@ohltyler
Copy link
Member Author

Another potential option for Item 2 is adding labeling/status per pipeline (or per-component) indicating if it has been provisioned or not. Overall, the "Preview" is supposed to show the proposed configuration, and does not need to be one-to-one parity with what is provisioned.

@kamingleung
Copy link

@ohltyler What are the statuses and states we have for Ingest/Search pipeline? Do the two pipelines have different states?

@ohltyler
Copy link
Member Author

For each pipeline individually, we currently track:

  1. If it has been provisioned or not
  2. If the form differs than what's been provisioned (unsaved "provision" changes - e.g., configure and provision processor A, configure processor B, but not yet provisioned processor B)

Further per-processor granularity is available for ingest, and for search, there is ongoing work for that - see opensearch-project/OpenSearch#14745. I'd consider per-processor state a P2+-type item based on the backend dependencies.

@kamingleung
Copy link

kamingleung commented Nov 7, 2024

For First goal, we can leverage the existing multiple data source picker on the top menu bar. It displays which cluster this workflow and resources are belonging to:
image

@kamingleung
Copy link

kamingleung commented Nov 8, 2024

For the Second goal, we can consider displaying statuses to the pipelines.

We should dive deep into the different possible states and status before implementing this.

  • One area to display this is in the preview of a pipeline like this with OuiHealth:
    image

  • We can also consider displaying the statuses in the resources lists: we can add a Status column to the resource table:
    image

@kamingleung
Copy link

To help exploring the states, I am mapping out the lifecycle of the pipeline as users are working through the workflows:
image

Proposing:
Pipeline status:

  • Inactive: The pipeline has not been created.
  • Provisioning: When the pipeline is building or updating. (Are we able to get this state? How long does it usually take to build?)
  • Active: The pipeline is running.

Save status

  • Pending changes: Perhaps we can show a secondary status for tracking changes that has not been provisioned yet.

@ohltyler
Copy link
Member Author

ohltyler commented Nov 8, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request workflow details
Projects
None yet
Development

No branches or pull requests

4 participants