Note:  This plan was developed based on input received in the Sept 10, 2021 Release Process Meeting

Purpose

The purpose of this document is to describe how and when release artifacts produced from the Anuket Release Process will be hosted and published.

Format

Documentation must follow the existing Read-The-Docs organization, formatting, and process flow (see DOCs project).  Containers must use the Docker format.  There are no requirements or restrictions on other types of release artifacts.

Regardless of artifact type or format, all projects should observe the following principles.

Accessibility

All release artifacts will be "accessible" to community members and end users.  This means that release artifacts will be in a widely used, open format that is available to most users, regardless of company affiliation or region.

Documentation

The documentation, updated for every release, will clearly explain the installation requirements, the installation process, and the use and operation of all release artifacts. The documentation will provide release-specific pointers to all release artifacts.

Hosting

Docker Containers

Docker containers will be published to the Anuket registry on Docker Hub:  https://hub.docker.com/u/anuket.  There are existing releng jobs that may be used to facilitate this (additional details).

In addition, docker containers will be published to GitLab (following transition).  This will enable projects to take advantage of security scanning in GitLab, and also avoid access limits in Docker Hub.  

However, publishing to GitLab will only be used to facilitate Anuket build processes.  Docker Hub will be the "official" registry for end users, and will be the location published by projects in their documentation.

Note that older images that are referenced in prior RC releases will continue to be maintained in OPNFV in order to avoid breaking those releases.

Other Software Artifacts

Other software artifacts will be published to S3.  There are existing releng jobs that may be used to facilitate this.

Timing

Software release artifacts will be prepared for release between M5 and M6 (1 week) of the Anuket release process, as follows:

  1. Update releng job to use release branch instead of master
  2. Tag the version of artifacts to be released on the release branch 
  3. Release manager collects artifact references from PTLs and communicates those to releng
  4. For traditional installation packages (rpm, tarball, etc.) releng moves artifacts to hosting location and provides URLs to Release Manager.
  5. Release manager verifies URLs
  6. Release manager provides confirmed URL list to projects for documentation
  7. Release manager provides URL to project documentation for participating projects to website manager for publication
  8. Website is updated with release-specific section or page containing links to release documentation for participating projects by Go Live date (typically within a week following technical release date (M6))

Website

The website will include a release section, or page, with subsections, or pages, for each release.  Within the release-specific page or section will be listed links to the documentation for each participating project.  It will be the responsibility of each project to provide updated descriptions of the installation process, including release-specific links to release artifacts.  It's important to note that the website will NOT include links to software release artifacts, but only links to documentation.

Retention

TBD