Closed Bug 1310228 Opened 8 years ago Closed 8 years ago

record Signoffs when a change is scheduled if a User holds a Required Role

Categories

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

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: bhearsum, Assigned: ashish.sareen95)

References

Details

(Whiteboard: [lang=python])

      No description provided.
Depends on: 1310209
Depends on: 1310210, 1310218
Blocks: 1278974
Priority: -- → P1
Whiteboard: [lang=python]
Assignee: nobody → ashish.sareen95
Need a little more context on this. Also have a question : What does it mean "if a User holds a Required Role" . Does it mean that any user can signoff on a scheduled_change but only those user must be recorded in history tables which had the required role ?
(In reply to Ashish Sareen from comment #1)
> Need a little more context on this. Also have a question : What does it mean
> "if a User holds a Required Role".

Two things here:
1) Users may have Roles, which can be found in the "user_roles" table.
2) Required Roles are found by looking for potential Required Signoffs in an object (eg: https://github.com/mozilla/balrog/blob/897c39144caafaa41c53bfdd95c70f71e66b4b03/auslib/db.py#L1407). That method may return a list of data structure that each contain a "role".

So, if there are Required Roles *and* the User holds one of them, a Signoff should be recorded. If a User holds multiple Required Roles, they may only Signoff under one Role (they should probably be prompted to pick which one).

> Does it mean that any user can signoff
> on a scheduled_change but only those user must be recorded in history tables
> which had the required role ?

I don't fully understand this part...can you clarify if they above doesn't help?
(In reply to Ben Hearsum (:bhearsum) from comment #2)
> (In reply to Ashish Sareen from comment #1)
> > Need a little more context on this. Also have a question : What does it mean
> > "if a User holds a Required Role".
> 
> Two things here:
> 1) Users may have Roles, which can be found in the "user_roles" table.
> 2) Required Roles are found by looking for potential Required Signoffs in an
> object (eg:
> https://github.com/mozilla/balrog/blob/
> 897c39144caafaa41c53bfdd95c70f71e66b4b03/auslib/db.py#L1407). That method
> may return a list of data structure that each contain a "role".
> 
> So, if there are Required Roles *and* the User holds one of them, a Signoff
> should be recorded. If a User holds multiple Required Roles, they may only
> Signoff under one Role (they should probably be prompted to pick which one).
So should the API return an error in that case, prompting the user to specify the role  in case user has multiple required roles ?
(In reply to Ashish Sareen from comment #3)
> (In reply to Ben Hearsum (:bhearsum) from comment #2)
> > (In reply to Ashish Sareen from comment #1)
> > > Need a little more context on this. Also have a question : What does it mean
> > > "if a User holds a Required Role".
> > 
> > Two things here:
> > 1) Users may have Roles, which can be found in the "user_roles" table.
> > 2) Required Roles are found by looking for potential Required Signoffs in an
> > object (eg:
> > https://github.com/mozilla/balrog/blob/
> > 897c39144caafaa41c53bfdd95c70f71e66b4b03/auslib/db.py#L1407). That method
> > may return a list of data structure that each contain a "role".
> > 
> > So, if there are Required Roles *and* the User holds one of them, a Signoff
> > should be recorded. If a User holds multiple Required Roles, they may only
> > Signoff under one Role (they should probably be prompted to pick which one).
> So should the API return an error in that case, prompting the user to
> specify the role  in case user has multiple required roles ?

Ideally, the role would send when the change is scheduled. That's not the case right now, and the API doesn't support it though. Let's keep things simple for now:
- If the User scheduling a change only holds one Required Role, record a signoff with it.
- If the User scheduling a change holds more than one Required Role, do not record any signoffs. (We will soon have UI for signing off on changes, and they can do it with a specific Role with that.)
Commit pushed to master at https://github.com/mozilla/balrog

https://github.com/mozilla/balrog/commit/49a2d4592efa15801db164a8f53a1ae1837320f0
Bug 1310228 - record Signoffs when a change is scheduled if a User holds a Required Role (#246). r=bhearsum
Depends on: 1339569
This is in production. Thank you very much Ashish!
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.