Anuket Project

Lab as a Service

Project Name:

  • Proposed name for the project: Lab as a Service
  • Proposed name for the repository: laas

Project description:

  • Lab as a Service aims to improve development, testing, and integration work in OPNFV and the LFN community by providing customizable hardware environments, or “labs”, to developers. Deploying and testing OPNFV requires large amounts of baremetal hardware which is usually not available to developers. Lab as a Service provides a public web portal where users can request access to customized baremetal hardware and networking environments. This allows users to run, test, and integrate their own OPNFV projects. The hardware will be hosted and managed by a participating lab.
  • The Pharos community labs provide hardware to developers, but configuration and management of the machines is all manual with a long turnaround. LaaS is fully automated and provides resources upon request.
  • In addition to providing access to hardware, Lab as a Service will allow users to have OPNFV deployed on their hardware environment automatically. This makes it quicker and easier for developers to begin development of their projects. This also makes it easy for users to try out OPNFV without having to manually configure and deploy.
  • LaaS as a project is composed of the web portal that users interact with, as well as an API that the web portal provides for participating labs. Labs that want to participate in LaaS must host hardware and consume the web portal's API in order to configure and manage that hardware.
  • Use case description:


Scope:

  • Develop and maintain the code for the Lab as a Service dashboard
  • Run and administer the dashboard deployment.
  • Document and maintain the API definition for communication between dashboard and the lab backend
  • Develop and maintain a reference backend implementation that consumes the dashboard api and configures the lab hardware
  • Current features:
    • Automatically provision a single baremetal server for a developer
    • Automatically provision a customized “POD” for a PTL
    • Virtually deploy OPNFV on a single machine
    • Create access to servers
  • Upcoming features:
    • Deployment of ONAP on top of OPNFV
    • Support for specialized hardware (traffic generators, etc)
  • Lab as a Service can integrate upstream projects such as ONAP to provide simple deployments of a “lab” at any layer - baremetal, NFVI, or VNF

Testability:

  • LaaS aims to develop automated unit tests and integration tests for the dashboard that can be run on the OPNFV testing infrastructure or a developer's local machine
  • LaaS aims to develop integration tests that can be run by participating labs to test the backend implementation

Documentation:

Dependencies:

  • The web dashboard is built on top of multiple open source projects
    • nginx - Web Server
    • PostgresQL - Database
    • Django - Python web framework
    • Docker - Deployment tool
  • LaaS consumes OPNFV installer artifacts to deploy OPNFV
  • LaaS is an evolution of the Pharos Community Labs

Committers and Contributors:

  • Committers
    • Parker Berberian
    • Trevor Bramwell
    • Lincoln Lavoie
    • Latha Paramatmuni
    • Sawyer Bergeron
    • Jeremy Plsek
    • Manuel Buil
    • Panagiotis Karalis
    • Dmitry Puzikov
    • Nikos Karandreas
    • Mark Beierl
    • Adam Hassick
  • Contributors
    • TBD

Planned deliverables:

  • Lab as a Service dashboard that allows users to request resources
  • Lab as a Service backend implementation that participating labs may use for resource management
  • Documentation
  • Tests
  • Support for automated OPNFV deployments on requested resources

Proposed Release Schedule:

  • The second stable release is currently active
  • Will not follow the normal OPNFV release cadence
  • The dashboard will follow a rolling release with new features and bug fixes being deployed as they are ready
  • The api will be versioned as breaking changes are introduced

Key Project Facts

Project Name: Lab as a Service (laas)

Repo name: laas

Lifecycle State: Approved

Primary Contact: Parker Berberian pberberian@iol.unh.edu

Project Lead: Parker Berberian

Jira Project Name: Lab as a Service

Jira Project Prefix: LaaS

Mailing list tag: LaaS

Committers:

Link to TSC approval: http://meetbot.opnfv.org/meetings/opnfv-meeting/2019/opnfv-meeting.2019-06-25-12.59.txt

Link to approval of additional submitters: