You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: sig-scheduling/CONTRIBUTING.md
+45-1Lines changed: 45 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,8 @@ also follow the requirements of `Bug Report`, it will help us a lot when analyzi
37
37
* If there's any debate on the rationalities, you can bring it to the [SIG meeting](https://github.com/kubernetes/community/tree/master/sig-scheduling#meetings).
38
38
* If there are multiple implementation options, consider creating a doc with Pros and Cons, and gather some feedback.
39
39
You can do this by sharing the doc with the SIG's [mailing list](https://groups.google.com/forum/#!forum/kubernetes-sig-scheduling).
40
-
* If necessary, open an issue in kubernetes/enhancements and write a [KEP](https://github.com/kubernetes/enhancements/tree/master/keps/sig-scheduling) for it.
40
+
* Any feature that requires an API change or significant refactoring
41
+
should be preceded by a [Kubernetes Enhancement Proposal (KEP)](https://github.com/kubernetes/enhancements/tree/master/keps/sig-scheduling).
41
42
42
43
* If you find any out-of-date documentation, please help the community correct that by either sending a PR to
43
44
update the docs or open an issue if you are not sure about how to fix it.
@@ -72,6 +73,49 @@ to the issue/PR, which helps to preserve the context.
72
73
73
74
* Always open an issue for a TODO or a follow-up just in case you forget it.
74
75
76
+
### Technical and style guidelines
77
+
78
+
The following guidelines apply primarily to kube-scheduler, but some subprojects
79
+
might also adhere to them.
80
+
81
+
When designing a feature, think about components that depend on kube-scheduler
82
+
code, such as [cluster-autoscaler](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler)
83
+
or [scheduler-plugins](https://github.com/kubernetes-sigs/scheduler-plugins).
84
+
Also consider interactions with other core components such as [kubelet](https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/).
- Use [contextual logging](https://git.k8s.io/community/contributors/devel/sig-instrumentation/migration-to-structured-logging.md#contextual-logging-in-kubernetes).
89
+
Some packages might still be using [structured logging](https://git.k8s.io/community/contributors/devel/sig-instrumentation/logging.md).
90
+
- When writing APIs, follow [k8s API conventions](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md)
91
+
- Naming:
92
+
- Length: As a rule-of-thumb, the length of a variable name should be
93
+
proportional to the size of the scope where it is used and inversely
94
+
proportional to the number of times that it is used.
95
+
96
+
Testing:
97
+
- Unit tests: every change should have high coverage by unit tests.
98
+
- Integration tests: should cover interactions between the different components
99
+
of kube-scheduler (event handlers, queue, cache, scheduling cycles) and
100
+
kube-apiserver.
101
+
- E2E tests: should cover interactions with other components, such as kubelet,
0 commit comments