Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Click the "Add" button next to a service on the Services Pane
  • A wizard should pop up allowing the user to add and configure the new stack of services
  • Requirements Page
    • This page should display a description of the stack that will be added
    • All required services should be listed
    • Any services that require volumes should make this requirement known
    • User must enter a name for the stack before clicking "Next"
      • User cannot click "Next" without entering a name
      • Name must be between 0 and 20 characters
  • Options Page
    • If this stack contains optional services, user should be taken to the Options Page
    • This page present the user with optional services for this stack
    • Any services that require other services (dependencies) should make their requirements known.
    • User may choose any optional services before clicking "Next"
  • Volumes Page
    • If this stack contains one or more services that require a Volume, user should be taken to the Volumes Page
    • User should be shown their volume storage quota
    • User should be shown how adding the necessary volumes will affect their storage quota
      • User may choose to reattach an orphaned volume, of they would like to reuse the data on it
      • Orphaned volumes do not affect projected storage quota, since the are already factored into current usage
    • User may not allocate more space than their quota
      • Quota must be >= current usage + projected usage
    • User must enter a name, size, and unit for each new volume before clicking "Next"
      • Name should be defaulted to a sensible default
      • Size should be defaulted to 10 GB
  • Confirmation Page
    • Confirmation Page lists any Services / Volumes that will be added with this operation
    • User can review the total operation before clicking "Confirm"
  • Upon clicking "Confirm" the new stack should appear in the "Stacks" tab of the Content Pane (right-side on desktop, or bottom on mobile)
    • Clicking the stack name (accordion header) will expand the accordion, showing the status of all services within the stack
    • From here, user should see options to:
      • Start / Stop a stack
      • Add / Remove optional services to/from stack
      • View the volumes attached to a stack

Anchor
addService
addService
Add Service to Stack

  • User should see "Add Service" next to any optional services that have not been added to this stack
  • Clicking "Add Service" should add that service to the stack
  • Any services that the newly-added service requires are automatically added to the stack
  • The new service(s) will be started the with the stack

...

  • User should see "Remove Service" next to any optional services that have been added to this stack
    • User cannot delete required dependencies of optional services
    • For example: In the "Clowder" stack, user should not be able to remove "RabbitMQ" without first removing all extractors
  • Clicking "Remove Service" should remove that service from the stack

Anchor
startStack
startStack
Start Stack

  • User should be able to start a stopped stack
  • Upon starting a stack, its status should change to "starting"
  • User should see GUI update with altered service statuses as they are received:
    • Expected Order: Stopped -> Waiting -> Starting -> Ready
    • Click the View Logs button allows the user to View Logs of any services that are "Starting" or "Ready"
    • Log Viewer is automatically refreshed, allowing the user to watch the logs in real-time
  • Once all services in the stack are "Ready", the stack has been fully "Started"
    • User is presented with Endpoint Links to any services that offer an interface
    • Upon clicking an endpoint link, user is directed to the web interface offered there

...