Anuket Project

Release Engineering Original Project Proposal

Release Engineering

  • Proposed name for the project: Release Engineering
  • Proposed name for the repository: releng
  • Project Categories:
    • Integration & Testing

Project description:

During the first OPNFV release “Arno”, releng is the repository where activities related to automation of the toolchains was implemented. During Arno, this repository did not have an associated project and coordination. Leading into release 2, the Release Engineering project is proposed to establish structure around these activities.

The Release Engineering project proposes to undertake all automation, tooling and infrastructure related activities required by OPNFV projects to achieve E2E automation in order to make sure all repeating/day to day and release related activites are run in reliable fashion. Release Engineering project is a software development infrastructure project similar to OpenStack Infra.

Scope:

OPNFV has several projects that require support for automating repeating tasks such as build, deployment, testing, document generation and so on which do not fall under the scope of existing projects. Each of these activities require identification and installation of the necessary tools, creation of corresponding scripts and development and deployment of Jenkins jobs that will be realized by this project.

Included activities are

  • propose ways to fully automate repeating tasks of different OPNFV projects and put requirements on them to achieve full automation.
  • realize the ideas presented by OPNFV projects by identifying and installing tools, creating scripts to automate repeating tasks so they can be re-executed and the results can be reproduced.
  • create scripts and Jenkins jobs in order to integrate project specific scripts into E2E automation and CI.
  • maintain automation tools, scripts, Jenkins jobs.
  • make sure the tools relied on by OPNFV is up and running at all times. (Git/Gerrit, Artifact Repository, Jenkins, etc.)
  • provide technical and educational support to OPNFV community.
  • identify and document automatic release process for OPNFV.
  • automate OPNFV release process in order to produce release artifacts and documents for all the projects that participate certain OPNFV release, store produced artifacts on OPNFV Artifact Repository in unified way, tag corresponding versions in SCM/Git repositories, and create stable branches.
  • create tools and Jenkins jobs to support stable branches.
  • evaluate and employ new tools in order to increase the efficiency of the automation framework.

Project specific/internal automation activities listed below are excluded from the scope of Release Engineering project.

  • build
  • deployment
  • testing

Testability:

  • The scripts created by Release Engineering project will be tested by corresponding test tools.
  • Jenkins Jobs created by Release Engineering project will be tested by Jenkins Job Builder.

Dependencies:

  • Octopus/CI project provides the processes and descriptions of the wanted release engineering tasks to be implemented.
  • BGS/Genesis/Installer Specific projects, and testing projects provide project specific automation build/deployment/test tools/scripts.
  • Pharos project provides hardware resources to execute automation tools, scripts, and Jenkins Jobs.
  • Remaining OPNFV Projects provide list of activities to be automated and requirements to be fulfilled.

Committers and Contributors:

Project Leader

Committers

Contributors

Planned Deliverables:

  • Automation scripts
  • Jenkins Jobs
  • Tools
  • Corresponding developer and user documentation

Please note that all the deliverables listed above are to be consumed by OPNFV and will not be part of any OPNFV release.

Proposed Release Schedule:

Release Engineering project will not be included in any of the OPNFV release.

Key Project Facts

Project Name: Release Engineering
Repo name: releng
Project Category: Integration & Testing
Lifecycle State: Proposal
Primary Contact: fatih.degirmenci@ericsson.com
Project Lead: fatih.degirmenci@ericsson.com
Jira Project Name: Release Engineering
Jira Project Prefix: RELENG
Mailing List Tag: [releng]
Committers:
Fatih Degirmenci (Ericsson): fatih.degirmenci@ericsson.com
Aric Gardner (Linux Foundation): agardner@linuxfoundation.org
Tim Rozet (Red Hat): trozet@redhat.com
Morgan Richomme (Orange): morgan.richomme@orange.com
Victor Laza (CloudBase Solutions): vlaza@cloudbasesolutions.com
Matthew Lijun (Huawei): matthew.lijun@huawei.com
Peter Bandzi (Cisco): pbandzi@cisco.com
Jose Lausuch (Suse): jalausuch@suse.com
Guy Rodrigue Koffi (Orange): koffirodrigue@gmail.com
Ryota Mibu (NEC): r-mibu@cq.jp.nec.com

Link to TSC approval: N/A
Link to approval of additional submitters: N/A