-
Notifications
You must be signed in to change notification settings - Fork 5.2k
[WIP] github-management: add rotation program #6185
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
nikhita
wants to merge
1
commit into
kubernetes:master
Choose a base branch
from
nikhita:github-management-oncall
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
# GitHub Management Rotation | ||
|
||
GitHub Management Rotation refers to a rotation program both for the | ||
[GitHub Administration Team] and the [New Membership Coordinators]. | ||
Rotations are volunteer-driven and best-effort during business hours only. | ||
The GitHub Management team is spread across the globe so please keep timezones | ||
in mind while expecting responses from the rotating member. | ||
|
||
The rotation program is **not equivalent to oncall** and our SLO remains | ||
one week. | ||
|
||
## Rotation Schedule | ||
|
||
You can find the rotation schedule and the current rotating member at this [calendar]. | ||
To know a member's timezone and GitHub username, please refer to [README.md]. | ||
|
||
As a reminder, please reach out to the appropriate team depending on your request. | ||
|
||
| Role | Description | | ||
| ---- | ----------- | | ||
| [GitHub Administration Team] | Repository creation or migration, security, moderation, etc | | ||
| [New Membership Coordinators] | New Membership Requests | | ||
|
||
## Managing the Rotation Schedule | ||
|
||
This section is meant for the GitHub Management team. | ||
|
||
Each rotation is for one week. If you would be unavailable during | ||
your assigned rotation schedule, you should swap with another member or | ||
find coverage for that week. | ||
|
||
To update the schedule, directly update this [google calendar]. Only GitHub Admins | ||
and NMCs have access to update this calendar. | ||
|
||
### Handoff | ||
|
||
When your shift ends, you may be involved in one or more ongoing | ||
issues. If you are already invested in the issues and have the bandwidth | ||
for it, you can continue managing the issue (thanks!), but _you are not | ||
obligated to continue managing the issue!_ | ||
|
||
If you would like to handoff issue command: | ||
|
||
1. Start by **ensuring the tracking issue is up to date** - review the | ||
information in the issue description, and fill in or correct any missing | ||
details. | ||
2. **Leave a comment** to add any additional context you have on the | ||
issue. Make sure to list any open questions or decisions and any pending | ||
action items. | ||
3. Reassign the issue to the next rotating member. | ||
|
||
Finally, reach out to the next rotating member (email/slack) to make | ||
sure they are aware of the handoff and to answer any questions. _Until they've | ||
explicitly acknowledged the handoff you are still the issue commander!_ | ||
|
||
|
||
[GitHub Administration Team]: /github-management/README.md#github-administration-team | ||
[New Membership Coordinators]: /github-management/README.md#new-membership-coordinator | ||
<!-- TODO: publish calendar to k8s.dev --> | ||
[calendar]: TODO | ||
[google calendar]: TODO | ||
[README.md]: /github-management/README.md |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if there's an easier way of handling the rotation schedule.
@mrbobbytables do you think it'd be feasible to publish this to k8s.dev? Similar to how https://www.kubernetes.dev/resources/calendar/ works.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure what the test-infra-oncall (http://go.k8s.io/oncall) uses but that looks pretty cool.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The data source is at https://storage.googleapis.com/kubernetes-jenkins/oncall.json. Afaik https://github.com/kubernetes/test-infra/blob/master/maintenance/oncall.html is used to display the oncall data at http://go.k8s.io/oncall and slack-oncall-updater is used to automatically update the
@test-infra-oncall
slack usergroup.I'm not sure how https://storage.googleapis.com/kubernetes-jenkins/oncall.json is generated/updated though. @spiffxp @BenTheElder do you know?
We could do something similar for github-management but we'll need to be even more explicit that this is not an oncall role. :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm curious about this as well.
+100. Naming and communication should be structured very differently since the rotation program is about rotating responsibilities keeping the existing SLOs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
re:calendar, it pulls in details from any of the sig/wg calendars ([email protected] just has to be invited).
We could either use the contribex calendar or create a new one and make sure [email protected] is invited to all events.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The JSON file is published by a Borg job pulling info from Google's oncall system.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NOTE: since this conversation started, I've turned down https://go.k8s.io/oncall. We've moved away from that model entirely. (it serves a page directing you to relevant slack channels #testing-ops and #sig-scalability)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BTW SRC is actively running an oncall rotation, so that might be a better starting point than the former k8s-infra-oncall