Closed Bug 1310210 Opened 8 years ago Closed 8 years ago

create Required Signoffs tables

Categories

(Release Engineering Graveyard :: Applications: Balrog (backend), defect, P1)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: bhearsum, Assigned: bhearsum)

References

Details

(Whiteboard: [lang=python][ready])

Attachments

(1 file)

Required Roles will be two data tables that store the type and number of Signoffs required for different types of changes. We will need two tables: 1) product_channel_required_signoffs, which will track Required Signoffs for different product+channel combinations. It will need a primary key of product, channel, and role as well as a signoffs_required column which will track the number of signoffs needed from the given role for the given product_channel 2) permissions_required_signoffs, which will track Required Signoffs needed for changes to Permissions. It will need a primary key of product and role as well as a signoffs_required column. Both tables will require Signoff when certain changes are made to them. That is to say, if changes to Firefox release channel Rules requires 2 relman Signoffs, changing the number of Required Signoffs for Firefox release channel rules will require 2 relman Signoff. This means that Scheduled Changes must be enabled for both of these tables.
Depends on: 1310213
Depends on: 1310217
When new Required Signoffs are added, we must ensure the signoffs_required does not exceed the number of users who hold the given Role. Eg: if we required 10 Signoffs from the “releng” Role, but only 5 Users held that Role, making that change (or even removing that Signoff requirement) would be impossible.
Summary: create Required Roles tables → create Required Signoffs tables
Blocks: 1310223
Blocks: 1310236
Depends on: 1310187
Blocks: 1310228
Blocks: 1310232
Blocks: 1310217
No longer depends on: 1310217
Blocks: 1278974
I'll be looking at this in the near future.
Assignee: nobody → bhearsum
(In reply to Ben Hearsum (:bhearsum) from comment #1) > When new Required Signoffs are added, we must ensure the signoffs_required > does not exceed the number of users who hold the given Role. Eg: if we > required 10 Signoffs from the “releng” Role, but only 5 Users held that > Role, making that change (or even removing that Signoff requirement) would > be impossible. Similarly, we should probably look at Required Signoffs when removing a Role from a User to make sure we don't get into situation where we can't Signoff.
Details in PR.
Attachment #8825173 - Flags: review?(nthomas)
Attachment #8825173 - Flags: review?(jlorenzo)
Attachment #8825173 - Flags: review?(jlorenzo) → review+
Attachment #8825173 - Flags: review?(nthomas) → review+
Commit pushed to master at https://github.com/mozilla/balrog https://github.com/mozilla/balrog/commit/8990958d7ca1c035f4b07f2a3089565584fed830 bug 1310210: Implement Required Signoffs tables (#208). r=nthomas,jlorenzo
Priority: -- → P1
Whiteboard: [lang=python][ready]
Depends on: 1335427
This is in production now.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Product: Release Engineering → Release Engineering Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: