You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Notes from 2/8/16 discussion (Craig, David, Mike)

This is a preliminary set of use cases for the NDS Labs systems 

 

Users/Actors:

  • NDS operations: Infrastructure and cluster administration at NCSA, TACC, SDSC.
  • NDS site admin:  Internal administrator that provisions approved projects and assigns quotas 
  • NDS project admin: External user of NDS Labs services. Access the GUI/CLI to manage services within a project.
  • End user: External user of services deployed via NDS Labs (e.g., Dataverse, Clowder)
  • NDS developers: Local development staff and community members

NDS Operations

Prerequisites:

    • Openstack

Use cases:

    • NDS Operations creates tenant with sufficient resources (compute/storage) for NDS Labs cluster.
    • NDS Operations can start a Kubernetes cluster (NDS-98). They are prompted to specify the cluster size. The deployer provisions VMs, deploys pre-defined OS images, starts Kubernetes base services. 
    • NDS Operations starts admin services (NDS-92). These are centralized logging/monitoring services used by NDS Operations across all sites.
    • NDS Operations starts NDSLabs services (e.g., API server, GUI service, etc). (TBD)
    • NDS Operations can stop the cluster (TBD). (We need to define what this looks like – are resources reclaimed? or are services simply shutdown gracefully?)


NDS Site Admin 

Prerequisites:

    • Base Kubernetes cluster and NDSLabs services are running

Use cases:

    • Site admin adds services to services library (TBD).  Tentatively, admin must be able to specify NDS Labs services available to site users.
    • Site admin provisions NDS Labs projects (TBD).  Tentatively, approved project users will be allocated a Kubernetes namespace, assigned credentials and storage/compute quotas. They will be given an endpoint URL for GUI/CLI access (see below).


Project Admin

Prerequisites:

    • NDS Labs Provisioned project space and credentials

Use cases:

    • List available services for deployment
    • List available compute/storage quotas
    • Add service (e.g., cli add clowder name=myclowder)
    • Allocate storage (e.g., cli add vol name=myvol size=1TB)
    • Attach storage (e.g., cli attach myvol myclowder)
    • Launch services (e.g., cli start myclowder)
    • Get endpoint URL
    • View logs
    • Login to container (e.g., cli exec myclowder bash)


NDS Developer

Prerequisites:

    • Docker

Use cases:

    • NDS developer can containerize/Dockerize a new service or set of services (i.e., add Dockerfile and associated files to common source/build environment)
    • NDS developer can push new versions of Docker images to NDS repository
    • NDS developer can test containerized services in NDS Labs test environment
    • NDS developer can define Kubernetes configuration for a new service or set of services (i.e., add Pod/RC/Service definitions)
    • NDS developer can launch local Kubernetes environment (laptop, single VM)
    • NDS developer can add new service definitions to service library
    • NDS developer can launch a docker container with all required tools for development (ndsdev container)
  • No labels