User Tools

Site Tools


pharos_rls_b_spec

This is an old revision of the document!


Requirements for Pharos Labs

This page captures requirements for OPNFV community labs that are hosted by community members. Current status of the community labs is here https://wiki.opnfv.org/pharos_rls_b_labs. Information about usage of the Linux Foundation lab is here https://wiki.opnfv.org/pharos/lf_lab.

The Pharos specification defines technical requirements which are consistent across labs. This is needed to facilitate development projects as well as provide CI resources and stable/well-understood test environments.

  • Focus is on base level requirements. Implementations will differ in features/capabilities and scale.
  • Individual lab specifications need to be machine readable for automation of deployments.
  • Templates to be filled by labs will help labs determine compliance (for CI/Test/Dev requirements)

Community Lab

A community lab is defined as a lab providing community assets with a set of SLAs

  • Fulfills the technical requirements i.e. configured in a way to meet OPNFV’s requirements.
  • Is either:
    • accessible to the OPNFV community for Dev (can reserve time and run activities on) … and/or …
    • integrated with CI toolchain (used for CI and Test activities)
  • Is possible to be monitored with the Pharos/LF tools
  • Is able to report back to LF infrastructure on test outputs etc.
  • Is supported by a Pharos project contributor (SLA is documented)

Private Lab

(if we want to track this?)

  • Fulfills the technical requirements
  • Has a running deployment of OPNFV

Types of lab resources

CI

 
  * For build/deploy/testing that is continuously and automatically done
  * Connected/controlled by LF central CI toolchain
  * Dedicated and available 24/7
  * Has specific scripts for automatic reconfiguration, can be deployed by different installers
  * Has a published support SLA

Test

 
  * OPNFV needs a number of stable test environments where upgrades are carefully controlled (not continuous)
  * Need environments with all deployment methods/tools  + a variety of hw specs (for diversity)
  * LF connectivity is needed to control tests and collect results

Development

 
  * A wide range of capability/capacity options are needed including some specialized environments.
    (e.g. IPv6, HA, performance tools/testing, …)
  * It’s not yet clear what will be possible re. repurpose of Dev labs for CI at times when there is
    a critical shortage of CI resource.

CI Lab Requirements

  • CI Dedicated Lab: Labs are dedicated to CI, no sharing.
  • CI Shared Lab: Labs that can be used for offloading CI activities for short period of time when the resource shortage occurs/demand peaks.

High level CI requirements are listed below …

  • CI dedicated labs shall be excluded from the list of labs that serve/made available towards the OPNFV community as development resources.
  • CI dedicated and shared labs shall provide means/utilities to (re)configure them automatically when necessary.
  • CI dedicated and shared labs shall be connected to CI using meaningful names stating the purpose of the lab explicitly.

CI labs shall provide a SLA …

  • CI dedicated labs shall be up and running 24x7 except the planned maintenance work.
  • If maintenance work needs to be carried out, advance notification shall be sent to community and to other infrastructure projects so the lab can be taken out from CI during this time.
  • CI dedicated and shared labs shall provide contacts in order to troubleshoot issues that might block CI from performing its activities.

Shared lab additional requirements

  • Shared labs shall be integrated into (yet to be defined/created) Pharos Booking System so they be booked by CI or individual developers.
  • Shared labs shall be integrated into (yet to be defined/created) Pharos Dashboard so the availability of them can be tracked real-time.

Test Lab Requirements

Test lab resources have the same requirements as CI labs however …

  • Upgrades are planned around specific versions (i.e. not continuous)
  • For release testing the lab will be approved as "compliant" for Rls B (Compliance is agreed by Octopus, Genesis, Functest and Pharos projects)

Dev Lab Requirements

The following criteria define "Ready" for Dev labs:

 1. Successfully deployed an OPNFV release (Arno, beta-Brahmaputra, …)
 2. Successfully run default test suite from Functest (used for Arno)
 3. Remote access per recommended methods (using OpenVPN)
 4. Lab specs/config documented per Pharos spec.
 5. At least one full (bare-metal) POD
 6. Test capabilities documented
 7. History of activities/tests supported (or planned to support) on Wiki
pharos_rls_b_spec.1445359958.txt.gz · Last modified: 2015/10/20 16:52 by Trevor Cooper