New issue
Advanced search Search tips

Issue 874321 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: 14
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocked on:
issue 845549



Sign in to add a comment

Make the rota generation more fairer.

Project Member Reported by olakar@chromium.org, Aug 15

Issue description

The current rotation tooling have a few options to generate rotations. 

From ~random , ~alphabetical to looking back for a few weeks to not schedule recent on-callers again too early. This could produce "unfair" scheduling; meaning for a time period one member could be scheduled multiple times while another is not scheduled at all.

The new tooling have made the Generators modular so what's "fair" to a specific rotation can be set by the rota admin either by providing their own generator or using one of the default ones. 

The default fair generator looks at previously scheduled shifts , for the min of all existing shifts or a max duration (eg. a year) , and takes into consideration the number of times someone has been on-call and how recent on-call shifts were when generating new rotations. 

 
Owner: olakar@chromium.org
Labels: -Pri-3 Pri-2
Project Member

Comment 4 by bugdroid1@chromium.org, Aug 20

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra/+/5a19ba2372f18f717e65ba6e23079e1b91bd30c9

commit 5a19ba2372f18f717e65ba6e23079e1b91bd30c9
Author: Ola Karlsson <olakar@chromium.org>
Date: Mon Aug 20 02:52:25 2018

[rotang] Adding in a Legacy rotation Generator.

This should somewhat mimic the rotascript generator except for it's
options to look back a few weeks to not re-schedule someone too early.

The Fair Generator provides look-back.

Bug: 874321
Change-Id: I17299a708f5cd16bbcc101adc74d6302158a3d2f
Reviewed-on: https://chromium-review.googlesource.com/1179493
Reviewed-by: Tiffany Zhang <zhangtiff@chromium.org>
Commit-Queue: Ola Karlsson <olakar@chromium.org>

[add] https://crrev.com/5a19ba2372f18f717e65ba6e23079e1b91bd30c9/go/src/infra/appengine/rotang/pkg/algo/legacy_test.go
[add] https://crrev.com/5a19ba2372f18f717e65ba6e23079e1b91bd30c9/go/src/infra/appengine/rotang/pkg/algo/legacy.go

Status: Assigned (was: Untriaged)
Project Member

Comment 7 by bugdroid1@chromium.org, Sep 4

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra/+/7ae22e056f32e34ac02f010bb985619f28c7f7a4

commit 7ae22e056f32e34ac02f010bb985619f28c7f7a4
Author: Ola Karlsson <olakar@chromium.org>
Date: Tue Sep 04 04:30:57 2018

[rotang] Adding Storers to the handler shared state.

Bug: 874321
Change-Id: I0803d8670e04298ae63ded16e15bfde945f04e55
Reviewed-on: https://chromium-review.googlesource.com/1198671
Commit-Queue: Ola Karlsson <olakar@chromium.org>
Reviewed-by: Tiffany Zhang <zhangtiff@chromium.org>
Cr-Commit-Position: refs/heads/master@{#17373}
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/pkg/datastore/datastore.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/templates/pages/index.html
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/templates/pages/list.html
[add] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/handlers_test.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/handle_index.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/pkg/algo/algo.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/rotang.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/handle_upload.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/handle_index_test.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/handle_list_test.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/handle_list.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/handlers.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/pkg/datastore/datastore_test.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/handle_upload_test.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/app/app.go

Project Member

Comment 8 by bugdroid1@chromium.org, Sep 4

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra/+/7ae22e056f32e34ac02f010bb985619f28c7f7a4

commit 7ae22e056f32e34ac02f010bb985619f28c7f7a4
Author: Ola Karlsson <olakar@chromium.org>
Date: Tue Sep 04 04:30:57 2018

[rotang] Adding Storers to the handler shared state.

Bug: 874321
Change-Id: I0803d8670e04298ae63ded16e15bfde945f04e55
Reviewed-on: https://chromium-review.googlesource.com/1198671
Commit-Queue: Ola Karlsson <olakar@chromium.org>
Reviewed-by: Tiffany Zhang <zhangtiff@chromium.org>
Cr-Commit-Position: refs/heads/master@{#17373}
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/pkg/datastore/datastore.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/templates/pages/index.html
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/templates/pages/list.html
[add] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/handlers_test.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/handle_index.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/pkg/algo/algo.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/rotang.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/handle_upload.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/handle_index_test.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/handle_list_test.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/handle_list.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/handlers.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/pkg/datastore/datastore_test.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/handle_upload_test.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/app/app.go

Project Member

Comment 9 by bugdroid1@chromium.org, Sep 4

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra/+/7ae22e056f32e34ac02f010bb985619f28c7f7a4

commit 7ae22e056f32e34ac02f010bb985619f28c7f7a4
Author: Ola Karlsson <olakar@chromium.org>
Date: Tue Sep 04 04:30:57 2018

[rotang] Adding Storers to the handler shared state.

Bug: 874321
Change-Id: I0803d8670e04298ae63ded16e15bfde945f04e55
Reviewed-on: https://chromium-review.googlesource.com/1198671
Commit-Queue: Ola Karlsson <olakar@chromium.org>
Reviewed-by: Tiffany Zhang <zhangtiff@chromium.org>
Cr-Commit-Position: refs/heads/master@{#17373}
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/pkg/datastore/datastore.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/templates/pages/index.html
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/templates/pages/list.html
[add] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/handlers_test.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/handle_index.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/pkg/algo/algo.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/rotang.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/handle_upload.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/handle_index_test.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/handle_list_test.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/handle_list.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/handlers.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/pkg/datastore/datastore_test.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/handlers/handle_upload_test.go
[modify] https://crrev.com/7ae22e056f32e34ac02f010bb985619f28c7f7a4/go/src/infra/appengine/rotang/cmd/app/app.go

Project Member

Comment 10 by bugdroid1@chromium.org, Sep 7

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra/+/05aa3d5e9ab81141e0b6ae17b40bad7f593c218a

commit 05aa3d5e9ab81141e0b6ae17b40bad7f593c218a
Author: Ola Karlsson <olakar@chromium.org>
Date: Fri Sep 07 00:51:44 2018

[rotang] Adding in the remaining ShiftStorer tests/methods.

LocalBranch: submitShiftsCL2

Bug: 874321
Change-Id: Ia901d438937e04d200b22174be8d0694db402147
Reviewed-on: https://chromium-review.googlesource.com/1203333
Commit-Queue: Ola Karlsson <olakar@chromium.org>
Reviewed-by: Jeff Carpenter <jeffcarp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#17435}
[modify] https://crrev.com/05aa3d5e9ab81141e0b6ae17b40bad7f593c218a/go/src/infra/appengine/rotang/pkg/datastore/shiftstorer.go
[modify] https://crrev.com/05aa3d5e9ab81141e0b6ae17b40bad7f593c218a/go/src/infra/appengine/rotang/pkg/datastore/datastore.infra_testing
[modify] https://crrev.com/05aa3d5e9ab81141e0b6ae17b40bad7f593c218a/go/src/infra/appengine/rotang/pkg/datastore/shiftstorer_test.go

Project Member

Comment 11 by bugdroid1@chromium.org, Sep 7

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra/+/3e5ea2e125ba97a97acbd4b584233a27032caf00

commit 3e5ea2e125ba97a97acbd4b584233a27032caf00
Author: Ola Karlsson <olakar@chromium.org>
Date: Fri Sep 07 01:59:52 2018

[rotang] Adding in the AllMembers method.

This is used by the UI to add in members to rotations.


Bug: 874321
Change-Id: I1a0b919f771960fed337a6a35b13afd6bfc00341
Reviewed-on: https://chromium-review.googlesource.com/1208113
Commit-Queue: Ola Karlsson <olakar@chromium.org>
Reviewed-by: Jeff Carpenter <jeffcarp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#17438}
[modify] https://crrev.com/3e5ea2e125ba97a97acbd4b584233a27032caf00/go/src/infra/appengine/rotang/pkg/datastore/datastore_test.go
[modify] https://crrev.com/3e5ea2e125ba97a97acbd4b584233a27032caf00/go/src/infra/appengine/rotang/pkg/datastore/datastore.go
[modify] https://crrev.com/3e5ea2e125ba97a97acbd4b584233a27032caf00/go/src/infra/appengine/rotang/rotang.go

Project Member

Comment 12 by bugdroid1@chromium.org, Sep 10

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra/+/0d8c0f01e49a529b09a7ade6732e7ed38b71b48c

commit 0d8c0f01e49a529b09a7ade6732e7ed38b71b48c
Author: Ola Karlsson <olakar@chromium.org>
Date: Mon Sep 10 01:51:28 2018

[rotang] Handler + Form to create new rotations.

This is my first ever time to write JavaScript so that part need some extra attention.

Bug: 874321
Change-Id: I93c778e9febc2e32e4685c75cf16e47ea0977e53
Reviewed-on: https://chromium-review.googlesource.com/1208114
Commit-Queue: Ola Karlsson <olakar@chromium.org>
Reviewed-by: Jeff Carpenter <jeffcarp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#17469}
[add] https://crrev.com/0d8c0f01e49a529b09a7ade6732e7ed38b71b48c/go/src/infra/appengine/rotang/cmd/handlers/handle_createrota.go
[modify] https://crrev.com/0d8c0f01e49a529b09a7ade6732e7ed38b71b48c/go/src/infra/appengine/rotang/cmd/handlers/handlers_test.go
[modify] https://crrev.com/0d8c0f01e49a529b09a7ade6732e7ed38b71b48c/go/src/infra/appengine/rotang/cmd/handlers/handle_index_test.go
[add] https://crrev.com/0d8c0f01e49a529b09a7ade6732e7ed38b71b48c/go/src/infra/appengine/rotang/cmd/app/index.yaml
[modify] https://crrev.com/0d8c0f01e49a529b09a7ade6732e7ed38b71b48c/go/src/infra/appengine/rotang/cmd/handlers/handlers.go
[add] https://crrev.com/0d8c0f01e49a529b09a7ade6732e7ed38b71b48c/go/src/infra/appengine/rotang/cmd/handlers/handle_createrota_test.go
[modify] https://crrev.com/0d8c0f01e49a529b09a7ade6732e7ed38b71b48c/go/src/infra/appengine/rotang/cmd/handlers/templates/pages/index.html
[modify] https://crrev.com/0d8c0f01e49a529b09a7ade6732e7ed38b71b48c/go/src/infra/appengine/rotang/cmd/app/app.go
[add] https://crrev.com/0d8c0f01e49a529b09a7ade6732e7ed38b71b48c/go/src/infra/appengine/rotang/cmd/handlers/templates/pages/createrota.html

Comment 13 by olakar@chromium.org, Jan 21 (2 days ago)

Components: Infra>ProdTech>Rotation
ProdTech in Syd is responsible for rotations.

Moving bugs to the new component

Sign in to add a comment