This page captures basic requirements for the NDS Labs GUI.

Scenario:

An NDS Labs pilot project has been approved and compute and storage quotas allocated. The project administrator has been sent credentials to access the NDS Labs project administration GUI 

Definitions:

  • Service: An individual Kubernetes service
  • Stack: A named set of related services (e.g., clowder services)
  • Endpoint: A publicly accessible endpoint for a service (e.g., NodePort)

Project Admin GUI Use cases:

Prerequisites:

Project admin has credentials to access the NDS Labs GUI

Use cases

Login

  • If the project admin enters a valid username/password, they are logged in for the duration of a session or until they hit logout.
  • If an invalid username or password are entered, an error message is displayed.

Logout

  • Selecting "logout" terminates the session. The user must re-login to make changes to the system.

View list of available services

  • A list of available services is displayed ordered by name
  • The admin can search the list of services or add/configure a service

Search list of available services

  • The admin can search the list of available services by name or keyword (tag)

Add service or set of services (stack) – configuration wizard

  • The admin selects the "add" button next to a service
  • The admin is prompted to complete a configuration workflow:
    • The system displays descriptive information about the selected serviec
    • The system displays a list of required (pre-selected) and optional dependencies
    • The admin can select or deselect optional dependencies
    • The system displays volume requirements. 
      • The system displays project storage quota and available space
      • For each required volume, the system displays the minimum recommended storage (default). The user can specify storage allocation for each volume.
      • If a volume exists for this service, the user is prompted to reuse or reinitialize the existing volume
    • Confirmation
      • The system displays a complete list of required and optional dependencies, volumes and allocations
    • Finish
      • The selected services are added as a "stack" to the inactive part of the namespace with status "not started"

Configured services:

  • For each service stack, the system displays the following:
    • A table of services grouped by "stack" name
    • Start/stop/remove
    • Endpoint URL
    • Service and stack status
  • From this interface, the project admin can start, stop or remove a stack
  • From this interface, the project admin can add optional services to an existing stack

Start/stop service

  • The project admin can start or stop a service stack. The stack status is displayed as services are started.
  • The admin is prompted to confirm stopping a service stack.
  • If the service is stopped, the endpoint URL is no longer available

Add/remove optional services from stack

Precondition:

  • Stack is stopped

Primary flow:

  • The project admin can add or remove optional services from an existing stack

Alternative flows

  • The project admin cannot remove required subservices of optional services (e.g., you cannot remove Rabbit without first removing Image Preview in Clowder)

Remove stack

  • The project admin can remove a stack. 

  • They are prompted to confirm removal

  • They are prompted to remove or retain allocated storage for the stack.

Save stack

  • (Tentative) The project admin can save the stack configuration.

View stack status

  • The project admin can view the status of a running stack

Endpoints

  • The project admin can view the list of available endpoints for a service stack.
  • The project admin can remotely access or share service endpoint URLs.

Logs:

  • Tentative: The project admin can view logs for a service

 

Console

  • The project admin can access the console of running stack services.

Assumptions/Questions

  • A service can only be deployed once in a given a project? (or stack) but may be restarted/reconfigured.
  • How can we support deploying multiple versions of the same service?

UI Mockups

Express Setup

NDS Labs GUI - Express Setup

Expert Setup

NDS Labs GUI - Expert Setup

 

  • No labels