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

Testing the UI with bulk api #218

Open
bhanvimenghani opened this issue Nov 13, 2024 · 2 comments
Open

Testing the UI with bulk api #218

bhanvimenghani opened this issue Nov 13, 2024 · 2 comments

Comments

@bhanvimenghani
Copy link
Contributor

Kruize is going to support bulk apis and we need to test how UI performs with it.
A detailed information on what happens and the lag observed in Kruize UI is expected recorded in a loom video for reference.

@msvinaykumar
Copy link

Bulk API UI Workflow
Overview
The Bulk API UI allows users to configure and initiate bulk requests for resource optimization recommendations. The UI also provides tracking and status updates for jobs, as well as detailed information on individual experiments.

Step-by-Step UI Workflow

  1. Landing Page
    Description: The landing page displays an overview of the Bulk API functionality.
    Actions:
    View brief descriptions of filters (e.g., namespaces, workloads, containers, labels).
    View descriptions of experiment types (e.g., "container", "namespace").
    Button: "Create New Bulk Job" to start a new job.
  2. Create New Bulk Job
    Form Layout:
    Datasource: Dropdown menu to select the configured datasource (e.g., Prometheus, Thanos).
    Experiment Types: Multi-select for "container," "namespace," or both.
    Time Range: Optional date and time selectors to specify the time range.
    Filter Section:
    Include Filters:
    Text fields to add namespaces, workloads, containers, and label key-value pairs.
    Exclude Filters:
    Text fields to add namespaces, workloads, containers, and label key-value pairs.
    Button: "Submit Job" to initiate the Bulk API request.
  3. Job Submission Confirmation
    Modal: Display a confirmation dialog showing the selected filters and datasource details.
    Confirmation Action:
    Display the job_id upon confirmation.
    Display message: "Job successfully submitted. Track progress using job_id: [job_id]".
    Buttons:
    "Track Job Status" to navigate to the job tracking page.
    "Start New Job" to return to the job creation form.
  4. Job Status and Tracking Page
    Search Field: Input field for users to enter or paste a job_id to view job details.
    Button: "Search Job" to retrieve job status.
  5. Job Status Display
    Summary View:
    Status: Display current job status (e.g., IN_PROGRESS, COMPLETED, FAILED).
    Total Experiments: Display total number of experiments.
    Processed Experiments: Display the number of processed experiments.
    Job Start Time: Display start timestamp.
    Job End Time: Display end timestamp if completed.
    Buttons:
    "View Details" to switch to a verbose view.
  6. Detailed Job View (Verbose Mode)
    Experiment Details:
    New Experiments: List of newly created experiments.
    Updated Experiments: List of updated experiments.
    Failed Experiments: List of failed experiments, if any.
    Recommendation Processing Details:
    Processed Recommendations: List of experiments with completed recommendations.
    In-Progress Recommendations: List of experiments currently being processed.
    Unprocessed Recommendations: List of experiments awaiting processing.
    Back Button: To navigate back to the summary view.
  7. Configuration Management
    Settings Page:
    Datasource Configuration:
    View and edit details for configured datasources (e.g., Prometheus, Thanos).
    Limits:
    Option to view or set the bulk experiment limit.
    Thread Pool Size:
    Input to modify bulkThreadPoolSize.
    Additional Considerations
    Error Handling: UI displays error messages if job creation fails due to exceeding experiment limits or any other configuration issues.
    Notifications: Job completion and error alerts can appear as in-app notifications.
    Accessibility: The workflow should be keyboard-navigable with screen reader support.

@msvinaykumar
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants