Project Name: Genesis
Proposed name for the project: Genesis
(GENEral System Installation Services)
Proposed name for the repository: genesisreq
Project Category: Requirements
Project description
Genesis aims at a common user experience for OPNFV. Genesis defines a common set of requirements for a set of deployment tools used to install OPNFV. It builds on and leverages results of the "Bootstrap/Get-Started" project. Requirements defined by Genesis have to be implemented by all installers which choose to participate in Genesis.
Scope
Define a common set of requirements, capabilities and common user-observable behavior of a deployed system that all projects participating in Genesis have to conform to.
Maintain common artifacts used by all deployment tools (e.g. build, deploy, or configuration scripts): Evolve and maintain “common” source tree in the existing
genesis Gerrit / Git repository and
binary artifacts repository. Changes to the common repository will be reviewed and approved by the genesis team in collaboration with the project teams. With a goal of leveraging as much common code as possible.
Source and binary files specific to an individual installer will be moved to a separate Gerrit / Git project and directory structure in the artifacts repository. These repositories will be reviewed and approved by the project team associated with the installer.
Work hand-in-hand and integrates with projects working on deployment tools ("installers") that have chosen to participate in Genesis.
Works hand-in-hand with test projects, release engineering, and CI/CD and define installer requirements for interaction with test projects, release engineering, CI/CD. Example: Definition of an entry point that CI/CD uses to trigger a deployment, such as a "deploy.sh" script (as is already done for Arno).
Genesis will serve as an interface for projects with OPNFV Platform dependencies to initiate and prioritize the requests for their requirements. The requesting project is responsible for the integration and implementation work of their requirements. Requesting projects and individual installers will collaborate on the implementation.
Dependencies
Deployment tool projects who choose to participate in Genesis (Apex, OpenSteak, Fuel@OPNFV, Compass4NFV, JOID, .. )
Testing related projects (Functest, Qtip, Yardstick, Vsperf,…)
CD/CI infrasturcture and release engineering (Octopus, Releng)
Hardware infrastructure (Pharos)
Committers and Contributors
Note: Genesis committers be lead committers / project leads of projects which have chosen to participate in Genesis. Details on Genesis project governance can be found on the following wiki.
The associated statements of support from installer projects which intent to join Genesis are here.
Committers:
Tim Rozet (trozet@redhat.com) - representing Apex
Arnaud Morin (arnaud1.morin@orange.com) - representing OpenSteak
Jonas Bjurel (jonas.bjurel@ericsson.com) - representing Fuel@OPNFV
Weidong Shao (weidong.shao@huawei.com) - representing Compass4NFV
Artur Tyloch (artur.tyloch@canonical.com) - representing JOID
Planned deliverables
Proposed Release Schedule
The Genesis project provides requirements for a set of projects which provide deployment tools. Genesis implicitly participates in OPNFV releases in that it defines requirements that deployment tools will meet for a specific release.
Key Project Facts
Project Name: genesis
Repo name: genesisreq
Project Category: requirements
Lifecycle State:
Primary Contact: Frank Brockners
Project Lead: Frank Brockners
Jira Project Name: Genesis
Jira Project Prefix: [GENESIS]
mailing list tag [genesis]
Committers:
Tim Rozet (trozet@redhat.com)
Arnaud Morin (arnaud1.morin@orange.com)
Jonas Bjurel (jonas.bjurel@ericsson.com)
Weidong Shao (weidong.shao@huawei.com)
Artur Tyloch (artur.tyloch@canonical.com)
Frank Brockners (fbrockne@cisco.com)
Link to TSC approval: TBD
Link to approval of additional submitters: TBD