DRAFT IN PROGRESS

Introduction

ACS releases can be huge with many features, improvements and issues. For successful release management proactive monitoring is needed to inspect and correct course.

Release Dashboard

A good release dashboard provide necessary widgets for release management. JIRA supports many widgets types each widget is linked to a filter (named queries).

Tip: By deafult filters are private, in order for others to access them, they need to be shared with project 'CLOUDSTACK'. Sharing a filter with others require a privilege that can be received by creating a ticket with Apache INFRA

Some of the recommended widgets are:

Widget

Query

Bugs created in last 7 days by Priority

project = CLOUDSTACK AND type = Bug AND affectedVersion = "4.3.0" AND createdDate >= startOfDay(-7) ORDER BY priority DESC, key ASC

Bugs resolved in last 7 days by Priority

project = CLOUDSTACK AND type = Bug AND (affectedVersion = "4.3.0" OR fixVersion = "4.3.0") AND resolution != "\"Unresolved\"" ORDER BY priority DESC, key ASC

Bugs closed in last 7 days by Priority

project = CLOUDSTACK AND issuetype = Bug AND affectedVersion = "4.3.0" AND status = Closed ORDER BY priority DESC, key ASC

Bugs unresolved unassigned by Priority

project = CLOUDSTACK AND type = Bug AND fixVersion = "4.3.0" AND resolution is EMPTY AND assignee is EMPTY AND priority in (blocker, critical) ORDER BY priority DESC, key ASC

Bugs unresolved total by Priority

 

Bugs unresolved unassigned by Components

 

Bugs unresolved blocker critical by Components

project = CLOUDSTACK AND issuetype = Bug AND priority in (Blocker, Critical) AND resolution = Unresolved AND fixVersion = "4.3.0" ORDER BY priority DESC, key ASC

Bugs Total

project = CLOUDSTACK AND issuetype = Bug AND (affectedVersion = "4.3.0" OR fixVersion = "4.3.0") ORDER BY priority DESC, key ASC

Bugs Resolved Total

 

Bugs Closed Total

 

Notifying the assignees

The best way to notify the assignees is by using the bulk edit option in JIRA and updating the comment with appropriate message. Weekly reminders as we get closer to release milestones also helps bringing attention and focus

Preparing for release branch

Creating the branch

Release branch is created from master soon after the feature freeze date for a specific release is passed.

Steps to create the branch are outlined below:
git checkout master
git pull origin master

^^ this will ensure you are on the latest commit for master

git checkout -b X.Y

^^ this creates a local X.Y branch for yourself

git push origin X.Y

 Here X.Y is branch to be created like 4.3

 

Setting up jenkins build jobs

Jenkins jobs
<TODO>

Documentation

Release Notes

Since ACS 4.2.0 release instead of putting a static list of known issues and fixed issues we put a link to a public JIRA filter for known and fixed issues in release notes.

Filter

Description

Query

Issues fixed in this release

A filter that lists all the issues that were fixed in this release from the prior releases.
Note: The issues fixed for new features and improvements added in this release should be excluded as those are transient development issues

project = CLOUDSTACK AND type = Bug AND affectedVersion in (PRIOR RELEASE , MAINTENANCE RELEASES) AND fixVersion = "X.Y.Z" AND resolution != "\"Unresolved\"" ORDER BY created DESC, priority DESC, key ASC
Example: project = CLOUDSTACK AND type = Bug AND affectedVersion in ("4.1.0", "4.1.1") AND fixVersion = "4.2.0" AND resolution != "\"Unresolved\"" ORDER BY created DESC, priority DESC, key ASC

Known issues in this release

A filter that lists all the known issues from this release

project = CLOUDSTACK AND type = Bug AND (affectedVersion = "X.Y.Z" or fixVersion = "X.Y.Z") AND resolution is EMPTY AND level = "Public" ORDER BY priority DESC, key ASC
Example: project = CLOUDSTACK AND type = Bug AND (affectedVersion = "4.2.0" OR fixVersion = "4.2.0") AND resolution is EMPTY AND level = "Public" ORDER BY priority DESC, key ASC