From 923a3c337a44ee44a5a673b0bec8fe46c4b24096 Mon Sep 17 00:00:00 2001 From: ChristopherPrice Date: Wed, 17 Feb 2016 17:22:54 +0100 Subject: Adding new structure for the genesis requirements doc. Also aligned heading levels for readability. Change-Id: I1e673637c044dc84201e922c9d8b4e3142a2ad27 Signed-off-by: ChristopherPrice --- docs/requirements/component-support.rst | 93 ++++++++++++++++++++ docs/requirements/index.rst | 14 +++ docs/requirements/system.rst | 64 ++++++++++++++ docs/requirements/userexperience.rst | 147 ++++++++++++++++++++++++++++++++ 4 files changed, 318 insertions(+) create mode 100644 docs/requirements/component-support.rst create mode 100644 docs/requirements/index.rst create mode 100644 docs/requirements/system.rst create mode 100644 docs/requirements/userexperience.rst (limited to 'docs/requirements') diff --git a/docs/requirements/component-support.rst b/docs/requirements/component-support.rst new file mode 100644 index 0000000..8f7d732 --- /dev/null +++ b/docs/requirements/component-support.rst @@ -0,0 +1,93 @@ +.. Copyright 2015 Open Platform for NFV Project, Inc. and its contributors + +.. This work is licensed under the +.. Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +Deployment tools support matrix +=============================== + +This document provides a summary view of the features and capabilities of deployment +tools (a.k.a. "installers") which are expected to be common for all deployment tools. + +The tables below only show a short abbreviation of the requirement. For details, +please refer to detailed UX-requirements and system-requirements documents. + + +Target system requirements +-------------------------- + ++----------------------------------------------+------------+-----------+------------+------------+ +| Feature | Apex | Compass | Fuel | JOID/Juju | ++==============================================+============+===========+============+============+ +| GENESIS-4 - Centos7 or Ubuntu 14.04 | yes | yes | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-53 - OpenStack Heat | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-6 - OpenDaylight Beryllium | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-49 - ONOSFW | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-8 - KVM Hypervisor | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ + + +User experience requirements +---------------------------- + ++----------------------------------------------+------------+-----------+------------+------------+ +| Feature | Apex | Compass | Fuel | JOID/Juju | ++==============================================+============+===========+============+============+ +| GENESIS-9 - OpenStack HA | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-71 - Hitless hardware upgrade | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-20 - Server discovery integrated | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-28 - Common configuration file | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-43 - DHCP server HA per tenant | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-44 - SDN Controller L3 | yes | | yes | no | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-61 - L1/2 networking config | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-62 - Logical networks | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-72 - L3-neutron agent | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-69 - Isolated CEPH OSD | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-12 - Version control for components | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-16 - Common inventory config | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-17 - User-facing config files | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-18 - Server roles | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-19 - Automatic device discovery | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-25 - NTP config | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-40 - Hardware replacement support | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-74 - "all-in-one" build | yes | | yes | n/a | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-31 - Agnostic to type of hard drive | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-23 - Mandatory Access Control | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-24 - Install ssh keys | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-39 - Use artifacts from upstream | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-38 - Deploy script for jumphost | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-42 - Offline deployment | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-34 - User guide | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ +| GENESIS-35 - Release notes | yes | | yes | yes | ++----------------------------------------------+------------+-----------+------------+------------+ + diff --git a/docs/requirements/index.rst b/docs/requirements/index.rst new file mode 100644 index 0000000..12f1c2a --- /dev/null +++ b/docs/requirements/index.rst @@ -0,0 +1,14 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +========================================== +OPNFV deployment tools common requirements +========================================== + +.. toctree:: + :maxdepth: 2 + + ./userexperience.rst + ./system.rst + ./component-support.rst + diff --git a/docs/requirements/system.rst b/docs/requirements/system.rst new file mode 100644 index 0000000..d637112 --- /dev/null +++ b/docs/requirements/system.rst @@ -0,0 +1,64 @@ +.. Copyright 2015 Open Platform for NFV Project, Inc. and its contributors + +.. This work is licensed under the +.. Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +.. ----------------------------------------------------------------------- + +.. Document to list the requirements the target system a + particular installer creates. + Please add a bullet each for every requirement added. + +Target system requirements +========================== + +Release: OPNFV Brahmaputra + +This document lists requirements for the target system that +an installer creates. Different from the requirements document +on user-experience, this document focuses on the key hardware +and software components the different deployment tools install +and/or configure. + + +Minimum base Operating System distribution supported: +----------------------------------------------------- + +* `GENESIS-4 `_: + Installers should support either Centos 7 or Ubuntu 14.04 + as target system base OS. + +Components/features installed for OpenStack: +-------------------------------------------- + +* `GENESIS-53 `_: + OpenStack Heat should be installed. + +Minimum base OpenStack distribution supported: +---------------------------------------------- + +* `GENESIS-7 `_: + Installers should support OpenStack Liberty release. + +SDN Controller: +--------------- + +* `GENESIS-6 `_: + Installers should support OpenDaylight Beryllium Release. + +* `GENESIS-49 `_: + Installers should support ONOSFW. + +VM Controller: +-------------- + +Hypervisor: +----------- + +* `GENESIS-8 `_: + Installers should support KVM hypervisor. + +Virtual forwarder: +------------------ + diff --git a/docs/requirements/userexperience.rst b/docs/requirements/userexperience.rst new file mode 100644 index 0000000..8e8e404 --- /dev/null +++ b/docs/requirements/userexperience.rst @@ -0,0 +1,147 @@ +.. Copyright 2015 Open Platform for NFV Project, Inc. and its contributors + +.. This work is licensed under the +.. Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + + +UX requirements +=============== + +Release: OPNFV Brahmaputra + +Requirements for a common user-experience created by the deployment tools. + +High availability requirements +------------------------------ +.. Please add the story reference to each requirement. + +* `GENESIS-9 `_: + Installers shall support the deployment of OpenStack with + High-Availability (for those components that support it in + Liberty) on 3 or more control nodes. Functest tests should + be able to verify that the HA is enabled and functional. + +* `GENESIS-71 `_: + Hitless hardware upgrade: Increase size of a deployment in terms of compute + nodes (add additional compute nodes) without service interruption. + This requirement doesn't mandate upgrade/increasing the size of the control + node cluster. + + +Network setup and configuration related requirements +---------------------------------------------------- +* `GENESIS-20 `_: + Automatically populate discovered servers into install + tool (reduce user-intervention to a minimum). + +* `GENESIS-28 `_: + Installers should support a common configuration file (e.g. kickstart file) + per platform/role, so that the installed OS can be customized + for hardware and role. + +* `GENESIS-43 `_: + Neutron DHCP servers should be configured in HA per tenant. + +* `GENESIS-44 `_: + SDN Controller layer 3 forwarding support. + +* `GENESIS-61 `_: + Support layer 1/2 networking configuration. + +* `GENESIS-62 `_: + Support logical networks for target system. + +* `GENESIS-72 `_: + Support L3-neutron agent as an option for L3. + +* `GENESIS-69 `_: + Provide isolated compute node resources for CEPH OSD. + +Versioning requirements +----------------------- +.. Please add the story reference to each requirement. + +* `GENESIS-12 `_: + Installers should track/control all versions of all components pulled + from external sources (user should be able to identify + the versions and origins of all software components deployed). + +System definition and system configuration requirements +------------------------------------------------------- +.. Please add the story reference to each requirement. + +* `GENESIS-16 `_: + Common ability to input site, topology, and server information. +* `GENESIS-17 `_: + User-configurable parameters available via config files. +* `GENESIS-18 `_: + Allow assignment of different roles to servers, so that hardware and + software can be configured according to the role. +* `GENESIS-19 `_: + Deployment tool to provide for automatic device discovery. +* `GENESIS-25 `_: + Installers should configure NTP servers on the servers for clock + synchronization. +* `GENESIS-40 `_: + Hardware replacement. + +Requirements pertaining to the qualities of the deployment process +------------------------------------------------------------------ + +* `GENESIS-74 `_: + Installers which create a build for Brahmaputra, should create + the build as an "all-in-one" build. The the build process of + the installer creates a single entity (e.g. ISO) - which has + all the artifacts considered and required by all the projects + for Brahmaputra packaged in. Or in other terms and as an example: + If there are 4 different versions of OVS - all these 4 versions + would be contained in the "all in one build". + Note: This requirement only applies to installers which support + a "build" phase (i.e. create a bootable image, like an iso-image + from the different artifacts required). +* `GENESIS-31 `_: + Installers to be agnostic to type of hard drives used. + +Security related requirements +----------------------------- + +* `GENESIS-23 `_: + Installers should enable Mandatory Access Control by default. + Installers should enable MAC either using SElinux or AppArmour. +* `GENESIS-24 `_: + Installers should install ssh keys on servers so that key-based login + can be used for administration. + +Testing related requirements +---------------------------- +.. Please add the story reference to each requirement. + +Installation method related requirements +---------------------------------------- + +* `GENESIS-39 `_: + Ability to install with upstream artifacts. + +* `GENESIS-38 `_: + Installers should supply a script or set of scripts ("deploy.sh") to + automatically install the jumphost (from there, the + entire OPNFV system is automatically installed). + +* `GENESIS-42 `_: + Installers should support offline deployment. Jump host may have + Internet access, but the installers should support offline + installation on target hosts during the deployment phase (either + manually or automatically). + +Documentation related requirements +---------------------------------- + +* `GENESIS-34 `_: + Installers should provide a user guide. + +* `GENESIS-35 `_: + Installers should provide release notes for an OPNFV release as part of + the documentation provided. + + -- cgit 1.2.3-korg