-
Notifications
You must be signed in to change notification settings - Fork 18
The YaST Team
Here is the list of the core YaST team members. The table contains name mapping for several services used by the team. If you want to know more about the Team, please have a look to our Team Charter.
Real Name | Email/Bugzilla | IRC | GitHub | Trello |
---|---|---|---|---|
Ladislav Slezák | [email protected] | lslezak | lslezak | ladislavslezak |
Knut Anderssen | [email protected] | teclator | teclator | teclator |
Josef Reidinger | [email protected] | jreidinger | jreidinger | josefreidinger |
Imobach González | [email protected] | imobach | imobachgs | imobachgonzalezsosa |
Ancor González | [email protected] | ancorgs | ancorgs | ancorgs |
José Iván López | [email protected] | jilopez | joseivanlopez | joseivanlg |
Stefan Hundhammer | [email protected] | HuHa | shundhammer | shundhammer |
Martin Vidner | [email protected] | mvidner | mvidner | martinvidner |
Michal Filka | [email protected] | mchf | mchf | michalfilka |
David Díaz | [email protected] | dgdavid | dgdavid | diazglezdavid |
Steffen Winterfeldt | [email protected] | snwint | wfeldt | steffenwinterfeldt |
This does not list all areas the YaST team covers, and the other way round, it does not list the only knowledege of the persons listed here.
- YaST installer (the framework): lslezak, jreidinger
- YaST network: mchf, teclator
- YaST firewall: teclator, mchf
- Package management: lslezak
- SLE registration, online/offline migration: lslezak
- Travis integration: lslezak
- Jenkins setup, package autosubmisison: lslezak, jreidinger, imobachgs, ancorgs
- OBS/IBS setup: lslezak, jreidinger, imobachgs, ancorgs
- Docker (in general), DockerHub: lslezak, imobachgs
- yast.github.io/yast.opensuse.org: lslezak, ancorgs
- Bootloader: jreidinger
- ntp-client: jreidinger, jilopez
- CWM: jreidinger
- ruby-bindings: jreidinger
- yast2 core: jreidinger
- AutoYaST: imobachgs
- YaST Configuration Management: imobachgs
- Storage (partitioner, partitioning proposal, etc.): ancorgs, jilopez
- Storage (libstorage-ng): aschnell
- YaST2-Country (keyboard, language, etc.): ancorgs
The yast2-maintainers mailing list it there to be a single reporting point to gather initial new entries from bugzilla. Every installation, update and YaST bug is by default assigned to the mailing list.
Because the number of bugs reported is high, the effort to clean up and reassign the bugs to the right persons takes considerable amount of time.
Whence, we introduce a round-robin schedule of persons responsible for cleaning up the bugs. For each period, there is a primary and a backup "person of the month". Also, there are several people watching the mailing list all the time and they help in case of bugstorms. Of course "person of the month" can ask himself for help.
- triage the bugs
- resolve the bug if trivial (like DUPLICATE, INVALID, FEATURE)
- ensure the needed information for resolving the bug is available (ask for logs, hwinfo output, how to reproduce the bug step-by-step or any relevant information)
- reassign to the respective package maintainer if the bug is not in YaST (use "osc bugowner" or "osc maintainer", if unsure just change the Component and reset the assignee to default)
- reassign to the right YaST account ("[email protected]" or "[email protected]" for low priority bugs/features which won't be handled by the YaST team)
- set the priority if the default P5 is set, use common sense, crashes, data loss, release blockers... = P1/P2, normal bugs = P3, minor issues and features = P4
- create a card in Trello (use the ytrello tool or an user browser script ), move the urgent issues (L3s, P1s if marked as urgent by PMs) to the current sprint and add Underwaterline and Fast-track labels
- for L3s find a "volunteer" to work on it (ask on IRC or cooperate with the PO to find the correct person, try spreading the workload across the team)
- make sure the product, version and architecture is correct
- be a bit more aggressive with closing bugs as WONTFIX/INVALID (unsupported scenarios, easy workarounds available, very specific corner cases, too complicated features which make sense only for a very limited target audience...), esp. with P4 bugs, we have too many bugs open...
- NEEDINFO bugs: wait about a week for the feedback then ping the info provider, if there is still no response for another week then close it as NORESPONSE. (Use comment like "If you can still provide the requested information then please reopen the bug and provide it." when closing the bug so it's clear it is still possible to continue.)
- feature requests should be assigned to [email protected] or [email protected]
- cca 3 working days before the end of month inform the new yast2-maintainers to get ready
- NEEDINFO bugs on yast-maintainers or yast-internal: set needinfo on expert from YaST team.
Period | Person | Backup |
---|---|---|
Sprint 83 & 84 - 2019-08-12 | mfilka | david |
Sprint 85 & 86 - 2019-09-09 | david | lslezak |
Sprint 87 (forced rotation) - 2019-10-07 | lslezak | knut |
Sprint 88 & 89 - 2019-10-21 | knut | huha |
Sprint 90 & 91 - 2019-11-18 | huha | ancor |
Sprint 92 & 93 - 2019-12-16 | ancor | aschnell |
Sprint 94 & 95 + pre-Hackweek + Hackweek | aschnell | mvidner |
Sprint 96 & 97 | mvidner | |
Sprint 98 & 99 | mvidner | |
Sprint 100 & 101 | mfilka | |
Sprint 102 & 103 | jilopez | |
Sprint 104 & 105 | snwint | |
Sprint 106 | snwint | |
Sprint 107 & 108 | dgdavid | |
Sprint 109 & 110 | lslezak | imo |
Sprint 111 & 112 | jreidinger | |
Sprint 113 & 114 | schubi | jilopez |
Sprint 115 & 116 | jilopez | mvidner |
Sprint 117 & 118 | mvidner | huha |
Sprint 119 & 120 | huha | ancor |
Sprint 121 & 122 | lslezak | snwint |
Sprint 123 & 124 | snwint | imo |
Sprint 125 & 126 | imo | jreidinger |
Sprint 127 & 128 | jreidinger | david |
Sprint 129 & 130 | david | mfilka |
Sprint 131 & 132 | mfilka | knut |
Sprint 133 & 134 | knut | jilopez |
Sprint 135 & 136 | jilopez | huha |
Sprint 137 & Christmas | huha | david |
Sprint 138 | david | lslezak |
Sprint 139 & 140 | lslezak | ancor |
Start 2022-02-21 | ancor | jreidinger |
Start 2022-03-21 | snwint | jreidinger |
Start 2022-04-19 | jreidinger | imo |
Start 2022-05-16 | imo | mvidner |
Start 2022-06-13 | mvidner | david |
Start 2022-07-18 | david | mfilka |
Start 2022-08-15 | mfilka | knut |
Start 2022-10-03 | knut | huha |
Start 2022-11-02 | huha | jilopez |
Start 2023-01-09 | jilopez | lslezak |
Start 2023-02-13 | lslezak | ancor |
Start 2023-03-13 | ancor | jreidinger |
Start 2023-04-17 | jreidinger | imo |
Start 2023-05-15 | imo | mvidner |
Start 2023-06-12 | mvidner | mfilka |
Start 2023-07-10 | mfilka | knut |
Start 2023-09-04 | knut | huha |
Start 2023-10-02 | huha | jilopez |
Start 2023-10-30 | jilopez | lslezak |
Start 2023-11-13 | lslezak | ancor |
Start 2023-12-11 | ancor | jreidinger |
Start 2024-01-09 | jreidinger | imo |
Start 2024-02-05 | imo | mvidner |
Start 2024-03-04 | mvidner | david |
Start 2024-04-02 | david | mfilka |
Start 2024-04-29 | mfilka | knut |
Start 2024-06-03 | knut | huha |
Start 2024-07-01 | huha | jilopez |
Start 2024-08-27 | jilopez | lslezak |
Start 2024-09-23 | lslezak | ancor |
Start 2024-10-21 | ancor | jreidinger |
jreidinger | imo | |
imo | mvidner | |
mvidner | david | |
david | mfilka | |
mfilka | knut | |
knut | huha | |
huha | jilopez | |
jilopez | lslezak | |
lslezak | ancor |
people = [
{ name: "imo", location: :canary, network: true },
{ name: "knut", location: :canary, network: true },
{ name: "david", location: :canary, network: false },
{ name: "ancor", location: :canary, network: false },
{ name: "jilopez", location: :canary, network: false },
{ name: "huha", location: :germany, network: false },
{ name: "snwint", location: :germany, network: false },
{ name: "mfilka", location: :czechia, network: true },
{ name: "jreidinger", location: :czechia, network: true },
{ name: "lslezak", location: :czechia, network: false },
{ name: "mvidner", location: :czechia, network: false }
]
# We usually already know who should be the first
first_name = "mfilka"
# Those were the last ones in the previous list, they deserve some rest
not_at_beginning = ["jilopez", "snwint", "mvidner"]
def valid_pair?(pair)
return false if pair.all? { |p| p[:network] }
pair.first[:location] != pair.last[:location]
end
def valid?(list, first, not_at_start)
return false if first && first != list.first[:name]
if not_at_start && !not_at_start.empty?
list_names = list.map { |p| p[:name] }
start = first ? 1 : 0
first_names = list_names[start, not_at_start.size]
return false unless (not_at_start & first_names).empty?
end
list.each_cons(2) do |pair|
return false unless valid_pair?(pair)
end
# The list is ROUND robin, so first and last should also be compatible
valid_pair?([list.first, list.last])
end
# list is too big to list all permutations, so let's take a shortcut
people.shuffle! until valid?(people, first_name, not_at_beginning)
people.each_cons(2) { |x| puts "#{x[0][:name]} - #{x[1][:name]}" }