Skip to content

Commit bbb220f

Browse files
authored
Merge pull request #7324 from pacoxu/sig-node-update
Sig node contributing.md update
2 parents 11905d6 + 867d8fd commit bbb220f

File tree

4 files changed

+142
-41
lines changed

4 files changed

+142
-41
lines changed

contributors/devel/sig-node/triage.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ CI-related PRs are tracked on the [CI subproject board].
1212

1313
For help with the commands listed in the document below, review the [bot command documentation].
1414

15-
[SIG Node Triage project board]: https://github.com/orgs/kubernetes/projects/49
15+
[SIG Node PR Triage project board]: https://github.com/orgs/kubernetes/projects/49
16+
[SIG Node Bugs Triage project board]: https://github.com/orgs/kubernetes/projects/59
1617
[CI subproject board]: https://github.com/orgs/kubernetes/projects/43
1718
[bot command documentation]: https://go.k8s.io/bot-commands
1819

sig-node/CONTRIBUTING.md

Lines changed: 53 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,68 +4,96 @@ Welcome!
44

55
## For Kubernetes Contributions
66

7-
https://github.com/kubernetes/community/tree/master/contributors/guide#contributor-guide
7+
Read the [Kubernetes Contributor Guide](https://github.com/kubernetes/community/tree/master/contributors/guide#contributor-guide).
88

99
If you aspire to grow scope in the SIG, please review the [SIG Node contributor ladder](./sig-node-contributor-ladder.md) for SIG specific guidance.
1010

11-
### For Enhancements
11+
### For Enhancements
1212

13-
https://github.com/kubernetes/enhancements/tree/master/keps/sig-node
13+
SIG Node enhancements are available in the <https://github.com/kubernetes/enhancements/tree/master/keps/sig-node>.
1414

1515
#### Helpful Links for Sig-Node
1616

17-
Code:
17+
**Code**:
1818

19-
https://github.com/kubernetes/kubernetes/tree/master/cmd/kubelet
19+
For general code organization, read [contributors/devel/README.md](contributors/devel/README.md) for explaining things like
20+
`vendor/`, `staging`, etc.
2021

21-
https://github.com/kubernetes/kubernetes/tree/master/pkg/kubelet
22+
* Kubelet
23+
* <https://github.com/kubernetes/kubernetes/tree/master/cmd/kubelet>
24+
* <https://github.com/kubernetes/kubernetes/tree/master/pkg/kubelet>
25+
* Probe: <https://github.com/kubernetes/kubernetes/tree/master/pkg/probe>
26+
* NodeLifecycle: <https://github.com/kubernetes/kubernetes/tree/master/pkg/controller/nodelifecycle>
27+
* Node API: <https://github.com/kubernetes/kubernetes/tree/master/staging/src/k8s.io/api/node>
28+
* CRI API: <https://github.com/kubernetes/kubernetes/tree/master/staging/src/k8s.io/cri-api>
29+
* DRA:
30+
* <https://github.com/kubernetes/kubernetes/tree/master/staging/src/k8s.io/dynamic-resource-allocation>
31+
* <https://github.com/kubernetes/kubernetes/tree/master/staging/src/k8s.io/kubelet/pkg/apis/dra/>
32+
* <https://github.com/kubernetes/kubernetes/tree/master/test/e2e/dra/>
33+
* E2E test:
34+
* <https://github.com/kubernetes/kubernetes/tree/master/test/e2e/node/>
35+
* <https://github.com/kubernetes/kubernetes/tree/master/test/e2e_node/>
36+
* CI (test-infra)
37+
* [sig-node jobs](https://github.com/kubernetes/test-infra/blob/master/config/jobs/kubernetes/sig-node/)
38+
* [e2e_node jobs](<https://github.com/kubernetes/test-infra/blob/master/jobs/e2e_node/>
39+
* [sig-node test-grids](https://github.com/kubernetes/test-infra/blob/master/config/testgrids/kubernetes/sig-node/)
40+
* [containerd test-grids](https://github.com/kubernetes/test-infra/blob/master/config/testgrids/kubernetes/containerd/)
2241

23-
https://github.com/kubernetes/kubernetes/tree/master/pkg/probe
42+
**Development Resources**:
2443

25-
Development Resources:
44+
* <https://github.com/kubernetes/community/tree/master/contributors/devel#table-of-contents>
2645

27-
https://github.com/kubernetes/community/tree/master/contributors/devel#table-of-contents
46+
There are two types of end-to-end tests in Kubernetes:
2847

29-
Shared space / Sub projects:
48+
* [Cluster end-to-end tests](https://git.k8s.io/community/contributors/devel/sig-testing/e2e-tests.md)
49+
* [Node end-to-end tests](https://git.k8s.io/community/contributors/devel/sig-node/e2e-node-tests.md)
3050

31-
https://github.com/kubernetes/community/tree/master/contributors/devel/sig-node
51+
**Shared space / Sub projects**:
3252

33-
https://github.com/kubernetes/community/tree/master/sig-node#subprojects
53+
* <https://github.com/kubernetes/community/tree/master/contributors/devel/sig-node>
54+
* <https://github.com/kubernetes/community/tree/master/sig-node#subprojects>
3455

35-
Triage:
36-
https://github.com/kubernetes/community/blob/master/contributors/devel/sig-node/triage.md
56+
**Triage**:
57+
58+
* <https://github.com/kubernetes/community/blob/master/contributors/devel/sig-node/triage.md>
59+
60+
**Test Grids**:
61+
62+
* SIG Node overview: <https://testgrid.k8s.io/sig-node>
63+
* Release Blocking: <https://testgrid.k8s.io/sig-node-release-blocking>
64+
* Kubelet: <https://testgrid.k8s.io/sig-node-kubelet>
65+
* Containerd: <https://testgrid.k8s.io/sig-node-containerd>
3766

3867
## Getting Started
3968

4069
Task #1 : Compile kubelet
41-
See tips in the root Makefile
42-
43-
https://github.com/kubernetes/community/blob/master/contributors/devel/development.md#building-kubernetes
70+
See tips in the root Makefile:
71+
72+
* <https://github.com/kubernetes/community/blob/master/contributors/devel/development.md#building-kubernetes>
4473

4574
Task #2 : Run a single unit test
4675

47-
https://github.com/kubernetes/community/blob/master/contributors/devel/development.md#unit-tests
76+
* <https://github.com/kubernetes/community/blob/master/contributors/devel/development.md#unit-tests>
4877

4978
Task #3 : Explore update/verify scripts
5079

5180
hack/update-gofmt.sh + hack/verify-gofmt.sh
5281

53-
https://github.com/kubernetes/kubernetes/blob/master/hack/update-gofmt.sh
54-
55-
https://github.com/kubernetes/kubernetes/blob/master/hack/verify-gofmt.sh
82+
* <https://github.com/kubernetes/kubernetes/blob/master/hack/update-gofmt.sh>
83+
* <https://github.com/kubernetes/kubernetes/blob/master/hack/verify-gofmt.sh>
5684

5785
Task #4 : Explore dependencies
5886

5987
hack/pin-dependency.sh + hack/update-vendor.sh
6088

61-
https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/vendor.md
89+
* <https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/vendor.md>
6290

6391
Task #5 : Using local-up-cluster script
6492

65-
https://github.com/kubernetes/community/blob/master/contributors/devel/running-locally.md#starting-the-cluster
93+
* <https://github.com/kubernetes/community/blob/master/contributors/devel/running-locally.md#starting-the-cluster>
6694

6795
Running a local cluster
6896

69-
https://github.com/kubernetes/community/blob/master/contributors/devel/running-locally.md
70-
97+
* <https://github.com/kubernetes/community/blob/master/contributors/devel/running-locally.md>
98+
7199
Note: Task 5 requires Linux OS

sig-node/README.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -127,21 +127,21 @@ The following [subprojects][subproject-definition] are owned by sig-node:
127127

128128
The following topics fall under scope of this SIG.
129129

130-
- Kubelet and its features
131-
- Pod API and Pod behaviors (with [sig-architecture](../sig-architecture))
132-
- Node API (with [sig-architecture](../sig-architecture))
133-
- Node controller
134-
- Node level performance and scalability (with [sig-scalability](../sig-scalability))
135-
- Node reliability (problem detection and remediation)
136-
- Node lifecycle management (with [sig-cluster-lifecycle](../sig-cluster-lifecycle))
137-
- Container runtimes
138-
- Device management
139-
- Image management
140-
- Node-level resource management (with [sig-scheduling](../sig-scheduling))
141-
- Hardware discovery
142-
- Issues related to node, pod, container monitoring (with [sig-instrumentation](../sig-instrumentation))
143-
- Node level security and Pod isolation (with [sig-auth](../sig-auth))
144-
- Host OS and/or kernel interactions (to a limited extent)
130+
* Kubelet and its features
131+
* Pod API and Pod behaviors (with [sig-architecture](../sig-architecture))
132+
* Node API (with [sig-architecture](../sig-architecture))
133+
* Node controller
134+
* Node level performance and scalability (with [sig-scalability](../sig-scalability))
135+
* Node reliability (problem detection and remediation)
136+
* Node lifecycle management (with [sig-cluster-lifecycle](../sig-cluster-lifecycle))
137+
* Container runtimes
138+
* Device management
139+
* Image management
140+
* Node-level resource management (with [sig-scheduling](../sig-scheduling))
141+
* Hardware discovery
142+
* Issues related to node, pod, container monitoring (with [sig-instrumentation](../sig-instrumentation))
143+
* Node level security and Pod isolation (with [sig-auth](../sig-auth))
144+
* Host OS and/or kernel interactions (to a limited extent)
145145

146146
We also work closely with [sig-storage](../sig-storage) and [sig-network](../sig-network). As you can see, this is a very cross-functional team!
147147
<!-- END CUSTOM CONTENT -->

sig-node/annual-report-2021.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# SIG Node Annual Report 2021
2+
3+
## Operational
4+
5+
* How are you doing with operational tasks in
6+
[sig-governance.md](https://git.k8s.io/community/committee-steering/governance/sig-governance.md)?
7+
* Is your README accurate? have a CONTRIBUTING.md file?
8+
* Yes, [README.md](https://github.com/kubernetes/community/blob/master/sig-node/README.md) is accurate
9+
* Opened [issue](https://github.com/kubernetes/community/issues/5600) to track completion CONTRIBUTING.md
10+
* All subprojects correctly mapped and listed in [sigs.yaml](https://git.k8s.io/community/sig-list.md)?
11+
* [Yes](https://github.com/kubernetes/community/tree/master/sig-node#subprojects)
12+
* What’s your meeting culture? Large/small, active/quiet, learnings? Meeting notes up to date? Are you keeping
13+
recordings up to date/trends in community members watching recordings?
14+
* The SIG operates two recurring meetings. The Regular SIG Meeting occurs weekly. It focuses on top-level trends for the SIG, and provides a forum to discuss enhancements, blocked PRs, and release plans. Each meeting has approximately 15-30 participants depending on the topic. The meetings are relatively active. The Chairs host the SIG meeting. A member of the SIG reports on velocity metrics, and tries to draw attention to overall trends. The agenda is open for members of the community to discuss an idea or enhancement. Discussion may ensue for each topic. SIG members that have participated in the SIG for an extended period will share historical context. Recordings are up-to-date. The Weekly CI meeting focuses on improving CI health and improving the number of SIG participants that have sufficient understanding of our test apparatus. Each meeting has ~7 participants, but participation may improve with new scheduled time. Each meeting focuses on supporting active triage and review of the project board. [Recordings are kept up to date with regular SIG meetings](https://www.youtube.com/playlist?list=PL69nYSiGNLP1wJPj5DYWXjiArF-MJ5fNG).
15+
* How does the group get updates, reports, or feedback from subprojects? Are there any springing up or being
16+
retired? Are OWNERS.md files up to date in these areas?
17+
* The regular SIG meetings provide a forum to discuss sub-projects closely tied to the Kubernetes release. This includes cri-api, cri-tools, kubelet, and node-api. A major focus in the SIG this year has been the graduation of existing features. Other sub-projects get less frequent updates as development velocity has slowed as the project reached sufficient maturity.
18+
* Same question as above but for working groups.
19+
* There is no regular interlock between working groups and the SIG. SIG members based on interest and/ or desire may attend particular working group meetings. The SIG did create a dedicated set of meetings to talk through particular areas like topology management for a limited period of time in order to provide room for discussion outside of the regular SIG meeting. Once consensus was reached, those meetings ceased.
20+
* When was your last monthly community-wide update? (provide link to deck and/or recording)
21+
* Last presentation was on April 16, 2020:
22+
* [Slides](https://docs.google.com/document/d/1VQDIAB0OqiSjIHI8AWMvSdceWhnz56jNpZrLs6o7NJY/edit#heading=h.di6sf3cdf3yr)
23+
24+
## Membership
25+
26+
* Are all listed SIG leaders (chairs, tech leads, and subproject owners) active?
27+
* For the SIG leads yes.
28+
* For subproject owners, likely there are some inactive maintainers, but it’s up to the subproject to prune their OWNERs files.
29+
* For 2021, the SIG will look to audit the set of sponsored sub-projects to ensure OWNERs files are updated.
30+
* How do you measure membership? By mailing list members, OWNERs, or something else?
31+
* Anyone can be considered a SIG member if they join the Zoom calls or general discussions regularly.
32+
* How does the group measure reviewer and approver bandwidth? Do you need help in any area now? What are you doing about it?
33+
* The SIG identifies the set of items they wish to focus on each release. A primary engineer and approver is identified up-front. This provides a baseline understanding of responsibility and capacity going into the release. As we near release milestones, we measure where we are relative to our planned goals and ensure attention is redirected where appropriate.
34+
* The SIG suffered from atrophy in CI health and awareness. Members of the SIG have developed a dedicated CI group to focus on health and train up new community members to assist. The group started meeting in May 2020 with ~30 individuals volunteered to assist. The group has created a large amount of learning materials, improved the CI health, and instituted project boards and triage processes. The sub-group meets each week with ~7 regular attendees as the CI health has stabilized.
35+
* The SIG has elevated 3 members to approver status for the kubelet sub-project in the past year. It has shifted 2 members to emeritus status. The SIG has members who have expressed interest and desire to grow their scope in particular parts, and we try to encourage that over a set of releases by focusing on particular sub-components. We anticipate growing more approvers over the calendar year.
36+
* Is there a healthy onboarding and growth path for contributors in your SIG?
37+
What are some activities that the group does to encourage this? What programs are you participating in to grow contributors
38+
throughout the contributor ladder?
39+
* The SIG identifies the set of items that we would like to tackle each release and clearly identifies the primary engineering owner and primary approver. We try to pair new engineers with senior approvers to grow scope and comfort. In the CI health meetings, we have established a project board to try and provide directional guidance on where and how to best contribute.
40+
* What programs do you participate in for new contributors?
41+
* KubeCon updates with “how to get involved”, beginning at KubeCon EU 2021
42+
* Improving documentation and process so new individuals can join, see e.g. [Node Project Board](https://github.com/orgs/kubernetes/projects/49), [Node PR Triage Guidelines](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-node/triage.md)
43+
* Mentoring group for underrepresented individuals to become reviewers, first cohort (July-Dec. 2020) run by @dims and second cohort (Jan-Mar. 2021) run by @ehashman
44+
* Next cohort leader/participants TBD
45+
* Does the group have contributors from multiple companies/affiliations? Can end users/companies contribute in some way that
46+
they currently are not?
47+
* The group has contributors from multiple companies/affiliations.
48+
* [39 companies made 1+](https://k8s.devstats.cncf.io/d/8/company-statistics-by-repository-group?orgId=1&var-period=y&var-metric=contributions&var-repogroup_name=SIG%20Node&var-companies=All) contributions over the last year (70 if all activity is counted).
49+
* Deprecating of dockershim is a big project that will require many end user to make a step to migrate and some companies who are not active on SIG Node, namely monitoring vendors, to help end users with this migration.
50+
51+
## Current initiatives and project health
52+
53+
* [x] Please include links to KEPs and other supporting information that will be beneficial to multiple types of community members.
54+
* What are initiatives that should be highlighted, lauded, shout out, that your group is proud of? Currently underway?
55+
What are some of the longer tail projects that your group is working on?
56+
* Better tracking of [PRs setup](https://github.com/orgs/kubernetes/projects/49) and [Node PR Triage Guide](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-node/triage.md) by @ehashaman
57+
* cgroups v2
58+
* [Graduating features](https://docs.google.com/document/d/1U10J0WwgWXkdYrqWGGvO8iH2HKeerQAlygnqgDgWv4E/edit#)
59+
* Topology manager / device alignment
60+
* Year to date KEP work review: What’s now stable? Beta? Alpha? Road to alpha?
61+
* The enumerated links list graduated KEPs for each of the related releases.
62+
* 1.18: [GA-ed KEPs](https://github.com/kubernetes/enhancements/issues?q=is%3Aissue+milestone%3Av1.18+label%3Asig%2Fnode)
63+
* 1.19: [GA-ed KEPs](https://github.com/kubernetes/enhancements/issues?q=is%3Aissue+milestone%3Av1.19+label%3Asig%2Fnode+)
64+
* 1.20: [GA-ed KEPs](https://github.com/kubernetes/enhancements/issues?q=is%3Aissue+milestone%3Av1.20+label%3Asig%2Fnode+)
65+
* What areas and/or subprojects does the group need the most help with?
66+
* The SIG could always use more help in sustaining CI.
67+
* What's the average open days of a PR and Issue in your group? / what metrics does your group care about and/or measure?
68+
* Weekly sig meeting starts with an overview of how PRs were opened/reviewed/approved.
69+
* The reporting is generally applicable to other SIGs and is based on following [template](https://docs.google.com/document/d/1JOXKBDgXmQzz8YQSYa7XYcfVteM79iMtvId1aQXC1e8/edit)
70+
* The goal is to keep the reviews going so the numbers don’t spin out of control. It also provides an overview of the week
71+
as the scope of the SIG is large and it may be hard to keep up with all changes.
72+
* [DevStats report](https://k8s.devstats.cncf.io/d/44/pr-time-to-approve-and-merge?orgId=1&var-period=y&var-repogroup_name=SIG%20Node&var-apichange=All&var-size_name=All&var-kind_name=All)

0 commit comments

Comments
 (0)